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)); } }
private static void RemoveRoles(AccessGroupEditModel model) { if (model.RequestedSelected != null) { model.RequestedRoles.RemoveAll(x => model.RequestedSelected.Contains(x)); model.RequestedSelected = null; } }
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; } }
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()); }
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 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); } }
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); }
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); } }
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)); } }
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)); } }
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()); }
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()); }
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()); }
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)); }
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)); } }
private void SaveState(AccessGroupEditModel model) { model.SavedRequested = string.Join(",", model.RequestedRoles.Select(x => x.ToString()).ToArray()); model.AvailableRoles = _roleService.GetAllRoles().Except(model.RequestedRoles).ToList(); }
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); } }
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 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()); }
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()); }