public async Task <IActionResult> Edit(int id, [Bind("ID,Name,Slug, Permissions")] RoleViewModel roleViewModel) { Role role = roleViewModel.GetEntity(); if (id != role.ID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(role); //delete old role permissions //add new role permissions _rbac.RemoveRolePermissions(role); _rbac.AddRolePermissions(role.ID, roleViewModel.Permissions); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RoleExists(role.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(role)); }
public async Task <IActionResult> Create([Bind("ID,Name,Slug,Permissioins")] RoleViewModel roleViewModel) { Role role = roleViewModel.GetEntity(); if (ModelState.IsValid) { _context.Add(role); _rbac.AddRolePermissions(role.ID, roleViewModel.Permissions); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(role)); }