public void WillTransform() { using (EmbeddableDocumentStore store = NewDocumentStore()) { using (IDocumentSession session = store.OpenSession()) { var personnel = new Personnel { LastName = "Ayende" }; session.Store(personnel); var role = new PersonnelRole { PersonnelId = personnel.Id, RoleId = "Roles/Administrator" }; session.Store(role); session.SaveChanges(); } new PersonnelAll().Execute(store); new PersonnelTransformer().Execute(store); using (IDocumentSession session = store.OpenSession()) { List <PersonnelTransformer.Result> results = session.Query <PersonnelAll.Mapping, PersonnelAll>() .Customize( customization => customization.WaitForNonStaleResults()) .TransformWith <PersonnelTransformer, PersonnelTransformer.Result>() .ToList(); Assert.Empty(store.DatabaseCommands.GetStatistics().Errors); Assert.Equal("Ayende", results.First().FullName); } } }
public async Task <ActionResult> Edit(RoleViewModel model) { var role = new PersonnelRole() { Id = model.Id, Name = model.Name, Description = model.Description }; await RoleManager.UpdateAsync(role); return(RedirectToAction("Index", new { controller = "Roles", area = "PersonnelManagement" })); }
public void WillTransform() { using (var store = GetDocumentStore()) { var persons = new[] { "Ayende", "Rahien", "Oren", "Enei", "Alias" }; var roles = new[] { "Administrator", "Programmer", "Support", "Guest", "Someone" }; foreach (var person in persons) { using (var session = store.OpenSession()) { var personnel = new Personnel() { LastName = person }; session.Store(personnel); foreach (var role in roles) { var roleToStore = new PersonnelRole() { PersonnelId = personnel.Id, RoleId = string.Format("Roles/{0}", role) }; session.Store(roleToStore); } session.SaveChanges(); } } new PersonnelAll().Execute(store); using (var session = store.OpenSession()) { // -- Dirty wait for stale session.Query <PersonnelAll.Mapping, PersonnelAll>() .Customize(customization => customization.WaitForNonStaleResults()) .ToArray(); // Without transform (will give 5 results) var results1 = session.Query <PersonnelAll.Mapping, PersonnelAll>().ToArray(); // With transform (will give 1 to 4 results, depending on the weather?) var results2 = session.Advanced.DocumentQuery <Result, PersonnelAll>() .RawQuery(@" from index PersonnelAll select LastName as FullName, Id ") .ToArray(); Assert.True(results2.All(x => x.FullName != null)); Assert.Equal(results1.Count(), results2.Count()); } } }
public RoleViewModel(PersonnelRole role) { Id = role.Id; Name = role.Name; Description = role.Description; }
public PersonnelRole SaveRole(PersonnelRole role) { _personnelRolesRepository.SaveOrUpdate(role); return(GetRoleById(role.PersonnelRoleId)); }
public async Task <PersonnelRole> SaveRoleAsync(PersonnelRole role, CancellationToken cancellationToken = default(CancellationToken)) { return(await _personnelRolesRepository.SaveOrUpdateAsync(role, cancellationToken)); }