Beispiel #1
0
        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" }));
        }
Beispiel #3
0
        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;
 }
Beispiel #5
0
        public PersonnelRole SaveRole(PersonnelRole role)
        {
            _personnelRolesRepository.SaveOrUpdate(role);

            return(GetRoleById(role.PersonnelRoleId));
        }
Beispiel #6
0
 public async Task <PersonnelRole> SaveRoleAsync(PersonnelRole role, CancellationToken cancellationToken = default(CancellationToken))
 {
     return(await _personnelRolesRepository.SaveOrUpdateAsync(role, cancellationToken));
 }