Esempio n. 1
0
        public ViewResult Delete(AccessGroupEditModel editModel)
        {
            try
            {
                ModelState.Clear();
                RestoreSavedState(editModel);
                editModel.AddRolesToAccessGroup();
                var result = _accessGroupService.DeleteOneAccessGroup(editModel.AccessGroup);

                editModel.AvailableRoles = _roleService.GetAllRoles().Except(editModel.AccessGroup.RolesThatHaveAccess).ToList();

                if (result == StorageResult.Success)
                {
                    ViewData["Message"] = "Tilgangsgruppen er slettet";
                    return(View("Delete", editModel));
                }
                ViewData["Message"] = "Ukjent feil under sletting.";
                return(View("Delete", editModel));
            }
            catch
            {
                ViewData["Message"] = "Feil i underliggende tjenester under sletting.";
                return(View("Delete", editModel));
            }
        }
Esempio n. 2
0
 private static void RemoveRoles(AccessGroupEditModel model)
 {
     if (model.RequestedSelected != null)
     {
         model.RequestedRoles.RemoveAll(x => model.RequestedSelected.Contains(x));
         model.RequestedSelected = null;
     }
 }
Esempio n. 3
0
 private void AddRoles(AccessGroupEditModel model)
 {
     if (model.AvailableSelected != null)
     {
         var roles = _roleService.GetAllRoles().Where(x => model.AvailableSelected.Contains(x));
         model.RequestedRoles.AddRange(roles);
         model.AvailableSelected = null;
     }
 }
Esempio n. 4
0
        private void RestoreSavedState(AccessGroupEditModel model)
        {
            model.RequestedRoles = new List <string>();

            if (!string.IsNullOrEmpty(model.SavedRequested))
            {
                string[] prodids = model.SavedRequested.Split(',');
                var      prods   = _roleService.GetAllRoles().Where(p => prodids.Contains(p.ToString()));
                model.RequestedRoles.AddRange(prods);
            }
        }
 public void CanRemoveRole()
 {
     var model = new AccessGroupEditModel
                     {
         RequestedSelected = new[] { "Administrator" }
     };
     _roleServiceMock.Setup(x => x.GetAllRoles()).Returns(new List<string> { "Administrator", "Leder" });
     var resultModel = (AccessGroupEditModel)_subject.Create(model, "", "<<", "").Model;
     Assert.That(resultModel.AvailableRoles, Contains.Item("Leder"));
     Assert.That(resultModel.AvailableRoles, Contains.Item("Administrator"));
 }
        public void AllreadyExistsStorageShouldReturnToEditWithErrorMessage()
        {
            var model = new AccessGroupEditModel
            {
                AccessGroup = new AccessGroup { Name = "TEST", Description = "En testgruppe", RolesThatHaveAccess = new List<string> { "1", "2" } }
            };

            _accessGroupServiceMock.Setup(x => x.UpdateOneAccessGroup(model.AccessGroup)).Returns(StorageResult.AllreadyExsists);
            var result = _subject.Edit(model, "", "", "save");
            Assert.That(result.ViewName, Is.EqualTo("Edit"));
            Assert.That(result.ViewData["Message"], Is.EqualTo("Tilgangsgruppe med samme navn finnes fra før."));
            _accessGroupServiceMock.Verify(x => x.UpdateOneAccessGroup(model.AccessGroup), Times.Once());
        }
Esempio n. 7
0
        public void CanRemoveRole()
        {
            var model = new AccessGroupEditModel
            {
                RequestedSelected = new[] { "Administrator" }
            };

            _roleServiceMock.Setup(x => x.GetAllRoles()).Returns(new List <string> {
                "Administrator", "Leder"
            });
            var resultModel = (AccessGroupEditModel)_subject.Create(model, "", "<<", "").Model;

            Assert.That(resultModel.AvailableRoles, Contains.Item("Leder"));
            Assert.That(resultModel.AvailableRoles, Contains.Item("Administrator"));
        }
Esempio n. 8
0
 public ViewResult Create()
 {
     var model = new AccessGroupEditModel {RequestedRoles = new List<string>()};
     try
     {
         model.AvailableRoles = _roleService.GetAllRoles().ToList();
         return View("Create", model);
     }
     catch (Exception)
     {
         model.AvailableRoles = new List<string>();
         ViewData["Message"] = "Feil under henting av roller.";
         return View("Create", model);
     }
 }
Esempio n. 9
0
 public ViewResult Create(AccessGroupEditModel editModel, string add, string remove, string save)
 {
     ModelState.Clear();
     RestoreSavedState(editModel);
     if (!string.IsNullOrEmpty(add))
         AddRoles(editModel);
     else if (!string.IsNullOrEmpty(remove))
         RemoveRoles(editModel);
     else if (!string.IsNullOrEmpty(save))
     {
         return SaveAndReturnView(editModel, "Create");
     }
     SaveState(editModel);
     return View("Create", editModel);
 }
Esempio n. 10
0
 public ViewResult Delete(Guid id)
 {
     var model = new AccessGroupEditModel();
     try
     {
         model.AccessGroup = _accessGroupService.GetOneAccessGroup(id);
         model.RequestedRoles = model.AccessGroup.RolesThatHaveAccess;
         model.AvailableRoles = _roleService.GetAllRoles().Except(model.AccessGroup.RolesThatHaveAccess).ToList();
         model.GetSavedRoles();
         return View("Delete", model);
     }
     catch (Exception)
     {
         ViewData["Message"] = "Feil under henting av data.";
         return View("Delete", model);
     }
 }
Esempio n. 11
0
        public ViewResult Create()
        {
            var model = new AccessGroupEditModel {
                RequestedRoles = new List <string>()
            };

            try
            {
                model.AvailableRoles = _roleService.GetAllRoles().ToList();
                return(View("Create", model));
            }
            catch (Exception)
            {
                model.AvailableRoles = new List <string>();
                ViewData["Message"]  = "Feil under henting av roller.";
                return(View("Create", model));
            }
        }
Esempio n. 12
0
        public ViewResult Delete(Guid id)
        {
            var model = new AccessGroupEditModel();

            try
            {
                model.AccessGroup    = _accessGroupService.GetOneAccessGroup(id);
                model.RequestedRoles = model.AccessGroup.RolesThatHaveAccess;
                model.AvailableRoles = _roleService.GetAllRoles().Except(model.AccessGroup.RolesThatHaveAccess).ToList();
                model.GetSavedRoles();
                return(View("Delete", model));
            }
            catch (Exception)
            {
                ViewData["Message"] = "Feil under henting av data.";
                return(View("Delete", model));
            }
        }
Esempio n. 13
0
        public void AllreadyExistsStorageShouldReturnToEditWithErrorMessage()
        {
            var model = new AccessGroupEditModel
            {
                AccessGroup = new AccessGroup {
                    Name = "TEST", Description = "En testgruppe", RolesThatHaveAccess = new List <string> {
                        "1", "2"
                    }
                }
            };

            _accessGroupServiceMock.Setup(x => x.UpdateOneAccessGroup(model.AccessGroup)).Returns(StorageResult.AllreadyExsists);
            var result = _subject.Edit(model, "", "", "save");

            Assert.That(result.ViewName, Is.EqualTo("Edit"));
            Assert.That(result.ViewData["Message"], Is.EqualTo("Tilgangsgruppe med samme navn finnes fra før."));
            _accessGroupServiceMock.Verify(x => x.UpdateOneAccessGroup(model.AccessGroup), Times.Once());
        }
Esempio n. 14
0
        public void FailedDeleteReturnsRightErrorMessageAndEditView()
        {
            var model = new AccessGroupEditModel
            {
                AccessGroup = new AccessGroup {
                    Name = "TEST", Description = "En testgruppe", RolesThatHaveAccess = new List <string> {
                        "1", "2"
                    }
                }
            };

            _accessGroupServiceMock.Setup(x => x.DeleteOneAccessGroup(model.AccessGroup)).Throws(new Exception());
            var result = _subject.Delete(model);

            Assert.That(result.ViewName, Is.EqualTo("Delete"));
            Assert.That(result.ViewData["Message"], Is.EqualTo("Feil i underliggende tjenester under sletting."));
            _accessGroupServiceMock.Verify(x => x.DeleteOneAccessGroup(model.AccessGroup), Times.Once());
        }
Esempio n. 15
0
        public void SuccessfulDeleteShouldReturnEditWithMessage()
        {
            var model = new AccessGroupEditModel
            {
                AccessGroup = new AccessGroup {
                    Name = "TEST", Description = "En testgruppe", RolesThatHaveAccess = new List <string> {
                        "1", "2"
                    }
                }
            };

            _accessGroupServiceMock.Setup(x => x.DeleteOneAccessGroup(model.AccessGroup)).Returns(StorageResult.Success);
            var result = _subject.Delete(model);

            Assert.That(result.ViewName, Is.EqualTo("Delete"));
            Assert.That(result.ViewData["Message"], Is.EqualTo("Tilgangsgruppen er slettet"));
            _accessGroupServiceMock.Verify(x => x.DeleteOneAccessGroup(model.AccessGroup), Times.Once());
        }
Esempio n. 16
0
 public ViewResult Create(AccessGroupEditModel editModel, string add, string remove, string save)
 {
     ModelState.Clear();
     RestoreSavedState(editModel);
     if (!string.IsNullOrEmpty(add))
     {
         AddRoles(editModel);
     }
     else if (!string.IsNullOrEmpty(remove))
     {
         RemoveRoles(editModel);
     }
     else if (!string.IsNullOrEmpty(save))
     {
         return(SaveAndReturnView(editModel, "Create"));
     }
     SaveState(editModel);
     return(View("Create", editModel));
 }
Esempio n. 17
0
        private ViewResult SaveAndReturnView(AccessGroupEditModel editModel, string context)
        {
            if (!ModelState.IsValid)
            {
                return(View(context, editModel));
            }
            try
            {
                editModel.AddRolesToAccessGroup();

                StorageResult result = context == "Create" ? _accessGroupService.SaveOneAccessGroup(editModel.AccessGroup) : _accessGroupService.UpdateOneAccessGroup(editModel.AccessGroup);

                editModel.AvailableRoles = _roleService.GetAllRoles().Except(editModel.RequestedRoles).ToList();

                switch (result)
                {
                case StorageResult.Success:
                    ViewData["Message"] = "Tilgangsgruppen er lagret";
                    break;

                case StorageResult.AllreadyExsists:
                    ViewData["Message"] = "Tilgangsgruppe med samme navn finnes fra før.";
                    break;

                case StorageResult.Failed:
                    ViewData["Message"] = "Ukjent feil under lagring.";
                    break;
                }
                return(View(context, editModel));
            }
            catch
            {
                ViewData["Message"] = "Feil i underliggende tjenester under lagring.";
                return(View(context, editModel));
            }
        }
Esempio n. 18
0
 private void SaveState(AccessGroupEditModel model)
 {
     model.SavedRequested = string.Join(",", model.RequestedRoles.Select(x => x.ToString()).ToArray());
     model.AvailableRoles = _roleService.GetAllRoles().Except(model.RequestedRoles).ToList();
 }
Esempio n. 19
0
        private ViewResult SaveAndReturnView(AccessGroupEditModel editModel, string context)
        {
            if (!ModelState.IsValid)
                return View(context, editModel);
            try
            {
                editModel.AddRolesToAccessGroup();

                StorageResult result = context == "Create" ? _accessGroupService.SaveOneAccessGroup(editModel.AccessGroup) : _accessGroupService.UpdateOneAccessGroup(editModel.AccessGroup);

                editModel.AvailableRoles = _roleService.GetAllRoles().Except(editModel.RequestedRoles).ToList();

                switch (result)
                {
                    case StorageResult.Success:
                        ViewData["Message"] = "Tilgangsgruppen er lagret";
                        break;
                    case StorageResult.AllreadyExsists:
                        ViewData["Message"] = "Tilgangsgruppe med samme navn finnes fra før.";
                        break;
                    case StorageResult.Failed:
                        ViewData["Message"] = "Ukjent feil under lagring.";
                        break;
                }
                return View(context, editModel);
            }
            catch
            {
                ViewData["Message"] = "Feil i underliggende tjenester under lagring.";
                return View(context, editModel);
            }
        }
Esempio n. 20
0
        private void RestoreSavedState(AccessGroupEditModel model)
        {
            model.RequestedRoles = new List<string>();

            if (!string.IsNullOrEmpty(model.SavedRequested))
            {
                string[] prodids = model.SavedRequested.Split(',');
                var prods = _roleService.GetAllRoles().Where(p => prodids.Contains(p.ToString()));
                model.RequestedRoles.AddRange(prods);
            }
        }
Esempio n. 21
0
 private void AddRoles(AccessGroupEditModel model)
 {
     if (model.AvailableSelected != null)
     {
         var roles = _roleService.GetAllRoles().Where(x => model.AvailableSelected.Contains(x));
         model.RequestedRoles.AddRange(roles);
         model.AvailableSelected = null;
     }
 }
Esempio n. 22
0
 private static void RemoveRoles(AccessGroupEditModel model)
 {
     if (model.RequestedSelected != null)
     {
         model.RequestedRoles.RemoveAll(x => model.RequestedSelected.Contains(x));
         model.RequestedSelected = null;
     }
 }
Esempio n. 23
0
 private void SaveState(AccessGroupEditModel model)
 {
     model.SavedRequested = string.Join(",", model.RequestedRoles.Select(x => x.ToString()).ToArray());
     model.AvailableRoles = _roleService.GetAllRoles().Except(model.RequestedRoles).ToList();
 }
        public void SuccessfulStorageShouldReturnEditWithMessage()
        {
            var model = new AccessGroupEditModel
            {
                AccessGroup = new AccessGroup { Name = "TEST", Description = "En testgruppe", RolesThatHaveAccess = new List<string> { "1", "2" } }
            };

            _accessGroupServiceMock.Setup(x => x.UpdateOneAccessGroup(model.AccessGroup)).Returns(StorageResult.Success);
            var result = _subject.Edit(model, "", "", "save");
            Assert.That(result.ViewName, Is.EqualTo("Edit"));
            Assert.That(result.ViewData["Message"], Is.EqualTo("Tilgangsgruppen er lagret"));
            _accessGroupServiceMock.Verify(x => x.UpdateOneAccessGroup(model.AccessGroup), Times.Once());
        }
Esempio n. 25
0
        public ViewResult Delete(AccessGroupEditModel editModel)
        {
            try
            {
                ModelState.Clear();
                RestoreSavedState(editModel);
                editModel.AddRolesToAccessGroup();
                var result = _accessGroupService.DeleteOneAccessGroup(editModel.AccessGroup);

                editModel.AvailableRoles = _roleService.GetAllRoles().Except(editModel.AccessGroup.RolesThatHaveAccess).ToList();

                if (result == StorageResult.Success)
                {
                    ViewData["Message"] = "Tilgangsgruppen er slettet";
                    return View("Delete", editModel);
                }
                ViewData["Message"] = "Ukjent feil under sletting.";
                return View("Delete", editModel);
            }
            catch
            {
                ViewData["Message"] = "Feil i underliggende tjenester under sletting.";
                return View("Delete", editModel);
            }
        }
        public void FailedStorageReturnsRightErrorMessageAndEditView()
        {
            var model = new AccessGroupEditModel
            {
                AccessGroup = new AccessGroup { Name = "TEST", Description = "En testgruppe", RolesThatHaveAccess = new List<string> { "1", "2" } }
            };

            _accessGroupServiceMock.Setup(x => x.UpdateOneAccessGroup(model.AccessGroup)).Throws(new Exception());
            var result = _subject.Edit(model, "", "", "save");
            Assert.That(result.ViewName, Is.EqualTo("Edit"));
            Assert.That(result.ViewData["Message"], Is.EqualTo("Feil i underliggende tjenester under lagring."));
            _accessGroupServiceMock.Verify(x => x.UpdateOneAccessGroup(model.AccessGroup), Times.Once());
        }