public async Task<IActionResult> EditUsersInRole(string roleId) { ViewBag.roleId = roleId; var role = await _roleManager.FindByIdAsync(roleId); if (role == null) { ViewBag.ErrorMessage = $"The role '{roleId} cannot be found."; return View("NotFound"); } var model = new List<UserEditRole>(); foreach (var user in _userManager.Users) { var userRoleViewModel = new UserEditRole { UserId = user.Id, UserName = user.UserName }; if (await _userManager.IsInRoleAsync(user, role.Name)) { userRoleViewModel.IsSelected = true; } else { userRoleViewModel.IsSelected = false; } model.Add(userRoleViewModel); } return View(model); }
public ActionResult Edit(UserEditRole user) { if (ModelState.IsValid) { try { _userManager.FindById(user.Id).Roles.Clear(); _userManager.AddToRole(user.Id, user.Role); TempData["message"] = "Role successfully updated"; TempData["color"] = "alert-success"; return(RedirectToAction("Index")); } catch { TempData["message"] = "An error occured"; TempData["color"] = "alert-danger"; return(RedirectToAction("Edit", new { userId = Cipher.Encrypt(user.Id) })); } } return(View(user)); }