public async Task <ActionResult> ManageUsers(string id, ManageRoleUsersViewModel model) { var roleUsers = model.RoleUsers; await _roleService.ManageRoleUsers(id, roleUsers); return(RedirectToAction(nameof(Details), new { id })); }
public async Task <ActionResult> Edit(string id, ManageRoleUsersViewModel model) { if (id != model.Role.Id) { return(NotFound()); } if (ModelState.IsValid) { try { await _roleService.EditRoleAsync(model.Role.Id, model.Role.IsEnabled, model.Role.Name); } catch (DbUpdateConcurrencyException) { if (!(await _roleService.CheckRoleExistsAsync(model.Role.Name))) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Edit))); } return(View(model)); }
public async Task <ManageRoleUsersViewModel> RetrieveRoleDetailAsync(string roleId) { var role = await _roleManager.FindByIdAsync(roleId); var manageRoleUsersViewModel = new ManageRoleUsersViewModel { Role = role, RoleUsers = new List <RoleUsersViewModel>() }; foreach (var user in _userManager.Users.Where(u => u.CBARoleId == null || u.CBARoleId == roleId)) { if (await _userManager.IsInRoleAsync(user, role.Name)) { manageRoleUsersViewModel.RoleUsers.Add(new RoleUsersViewModel { User = user, IsAuthorized = true }); continue; } manageRoleUsersViewModel.RoleUsers.Add(new RoleUsersViewModel { User = user, IsAuthorized = false }); } return(manageRoleUsersViewModel); }