public IActionResult DeleteRole(RoleDeleteModel model) { if (ModelState.IsValid) { using (var authUow = _authorizationDataService.StartUnitOfWork()) { var activityRoles = authUow.ActivityRoleRepository.ByRole(model.Id); foreach (var activityRole in activityRoles) { authUow.ActivityRoleRepository.Delete(activityRole); } using (var identityUow = _identityDataService.StartUnitOfWork(authUow)) { var role = identityUow.RoleRepository.Get(model.Id); var roleUsers = identityUow.UserRoleRepository.FindByRole(role).ToList(); var userRoles = roleUsers .Select(rU => identityUow.UserRoleRepository.FindByUserIdAndRoleId(rU, role.Id)).ToList(); foreach (var userRole in userRoles) { identityUow.UserRoleRepository.Delete(userRole); } identityUow.RoleRepository.Delete(role); authUow.Commit(); return(RedirectToAction(nameof(ManageRoles))); } } } return(View()); }
public async Task <IActionResult> OnGetAsync(string Id) { if (string.IsNullOrEmpty(Id)) { return(BadRequest()); } Role selectedRole = await roleManager.FindByIdAsync(Id); if (selectedRole == null) { return(NotFound()); } Model = Mapper.Map(selectedRole, Model); return(Page()); }