public ActionResult EditRolePermission(ApplicationRoleView roleViewModel) { var operations = db.Operations.ToList(); var role = RoleManager.FindById(roleViewModel.Id); //Validate Operation is required if (roleViewModel.SelectedOperation == null || roleViewModel.SelectedOperation.Count() == 0) { ModelState.AddModelError("", "Please select atleast 1 operation"); //return View(model); } try { if (ModelState.IsValid) { var user = UserManager.FindById(User.Identity.GetUserId()); role.Name = string.Format("{0}.{1}", user.OwnerGroupId, roleViewModel.Description); role.Description = roleViewModel.Description; RoleManager.Update(role); var oldOperation = db.RoleOperations.Where(x => x.RoleId == role.Id).ToList(); db.RoleOperations.RemoveRange(oldOperation); var newOperation = roleViewModel.SelectedOperation.Select(x => new RoleOperation() { RoleId = role.Id, OperationId = x } ); db.RoleOperations.AddRange(newOperation); db.SaveChanges(); return(RedirectToAction("RoleList")); } } catch (Exception ex) { throw ex; } var model = new ApplicationRoleView { Id = roleViewModel.Id, Name = roleViewModel.Name, Description = roleViewModel.Description, OperationList = operations.Select(s => new SelectListItem { Selected = roleViewModel.SelectedOperation == null ? false : roleViewModel.SelectedOperation.Select(x => x).Contains(s.Id), Text = s.Description, Value = s.Id }).OrderBy(s => s.Text), }; return(View(model)); }
public ActionResult CreateRole() { var operations = db.Operations.ToList(); var model = new ApplicationRoleView { OperationList = operations.Select(s => new SelectListItem { Text = s.Description, Value = s.Id }).OrderBy(s => s.Text), }; return(View(model)); }
public async Task <IActionResult> DeleteRole(ApplicationRoleView application) { string id = application.Id; if (!String.IsNullOrEmpty(id)) { ApplicationRole applicationRole = await roleManager.FindByIdAsync(id); if (applicationRole != null) { IdentityResult roleRuslt = roleManager.DeleteAsync(applicationRole).Result; if (roleRuslt.Succeeded) { return(RedirectToAction("Index")); } } } return(RedirectToAction("Index")); }
public async Task <IActionResult> DeleteRole(string id) { string name = string.Empty; ApplicationRole applicationRole = new ApplicationRole(); if (!String.IsNullOrEmpty(id)) { applicationRole = await roleManager.FindByIdAsync(id); if (applicationRole != null) { name = applicationRole.Name; } } ApplicationRoleView applicationRoleView = new ApplicationRoleView(); applicationRoleView.Id = id; applicationRoleView.Name = name; return(PartialView("_DeleteRole", applicationRoleView)); }
public ActionResult EditRolePermission(string Id) { var roleOperation = db.RoleOperations.Where(x => x.RoleId == Id).ToList(); var role = RoleManager.FindById(Id); var operations = db.Operations.ToList(); var model = new ApplicationRoleView { Id = role.Id, Name = role.Name, Description = role.Description, OperationList = operations.Select(s => new SelectListItem { Selected = roleOperation.Select(x => x.OperationId).Contains(s.Id), Text = s.Description, Value = s.Id }).OrderBy(s => s.Text), }; return(View(model)); }
public ActionResult CreateRole(ApplicationRoleView roleViewModel) { var operations = db.Operations.ToList(); var user = UserManager.FindById(User.Identity.GetUserId()); var roleName = string.Format("{0}.{1}", user.OwnerGroupId, roleViewModel.Description); if (RoleManager.RoleExists(roleName)) { ModelState.AddModelError("", "Role with the same name is already exists."); } //Validate Operation is required if (roleViewModel.SelectedOperation == null || roleViewModel.SelectedOperation.Count() == 0) { ModelState.AddModelError("", "Please select atleast 1 operation"); } try { if (ModelState.IsValid) { var roleId = Guid.NewGuid().ToString(); var newRole = new ApplicationRole() { Id = roleId, Name = string.Format("{0}.{1}", user.OwnerGroupId, roleViewModel.Description), Description = roleViewModel.Description, OwnerGroupId = user.OwnerGroupId }; RoleManager.Create(newRole); var oldOperation = db.RoleOperations.Where(x => x.RoleId == roleId).ToList(); db.RoleOperations.RemoveRange(oldOperation); var newOperation = roleViewModel.SelectedOperation.Select(x => new RoleOperation() { RoleId = roleId, OperationId = x } ); db.RoleOperations.AddRange(newOperation); db.SaveChanges(); return(RedirectToAction("RoleList")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } //default display in view var model = new ApplicationRoleView { Name = roleViewModel.Name, OperationList = operations.Select(s => new SelectListItem { Selected = roleViewModel.SelectedOperation == null ? false : roleViewModel.SelectedOperation.Select(x => x).Contains(s.Id), Text = s.Description, Value = s.Id }).OrderBy(s => s.Text), }; return(View(model)); }