public async Task <IActionResult> EditUsersInRole(string roleId) { var role = await roleManager.FindByIdAsync(roleId); ViewBag.roleId = roleId; ViewBag.roleName = role.Name ?? "NA"; if (role == null) { ViewBag.ErrorMessage = $"Role with id = {roleId} cannot be found"; return(View("NotFound")); } var model = new List <EditRoleUserViewModel>(); foreach (var user in userManager.Users) { var obj = new EditRoleUserViewModel { UserId = user.Id, UserName = user.UserName }; if (await userManager.IsInRoleAsync(user, role.Name)) { obj.IsSelected = true; } else { obj.IsSelected = false; } model.Add(obj); } return(View(model)); }
public async Task <IActionResult> EditRoleUser(EditRoleUserViewModel viewModel) { var roleUser = viewModel.MapToRoleUserEntity(); var authorisedOrgIds = HttpContext.User.GetOrganisationIds(); var organisationId = new Guid(HttpContext.Session.GetString(_organisationId)); roleUser.OrganisationId = organisationId; var emailAlreadyInUseResult = await _identityManagementRepository.IsEmailInUseAsync(roleUser, authorisedOrgIds); if (emailAlreadyInUseResult.Value) { ModelState.AddModelError("Email", emailAlreadyInUseResult.OperationError.Message); return(View(viewModel)); } var updatingRoleUser = viewModel.MapToRoleUserEntity(); var updateResult = await _identityManagementRepository.UpdateRoleUserAsync(updatingRoleUser, authorisedOrgIds); if (updateResult.IsError) { ModelState.AddModelError(string.Empty, updateResult.OperationError.Message); return(View(viewModel)); } return(RedirectToAction(nameof(OrganisationRoleUsers), new { organisationId })); }
public async Task <IActionResult> EditRoleUser(Guid id) { var authorisedOrgIds = HttpContext.User.GetOrganisationIds(); var roleUser = await _identityManagementRepository.FindRoleUserByIdAsync(id, authorisedOrgIds); var viewModel = new EditRoleUserViewModel { Id = id, Email = roleUser.Email, Role = roleUser.Role }; return(View(viewModel)); }
public async Task DeleteRoleUser(Guid roleId, [FromForm] EditRoleUserViewModel model) { var command = new DeleteRoleUserCommand( roleId, model.UserIds ); await _bus.SendCommand(command); if (_notifications.HasNotifications()) { var errorMessage = _notifications.GetNotificationMessage(); throw new GirvsException(StatusCodes.Status400BadRequest, errorMessage); } }