public async Task <IActionResult> EditUsersInRole(List <UserRoleViewModel> model, string roleId) { var role = await Rolemanager.FindByIdAsync(roleId); if (role == null) { ViewBag.ErrorMessage = $"Role with Id = {roleId} cannot be found"; return(View("NotFound")); } for (int i = 0; i < model.Count; i++) { var user = await Usermanager.FindByIdAsync(model[i].UserId); IdentityResult result = null; if (model[i].IsSelected && !(await Usermanager.IsInRoleAsync(user, role.Name))) { result = await Usermanager.AddToRoleAsync(user, role.Name); } else if (!model[i].IsSelected && await Usermanager.IsInRoleAsync(user, role.Name)) { result = await Usermanager.RemoveFromRoleAsync(user, role.Name); } else { continue; } if (result.Succeeded) { if (i < (model.Count - 1)) { continue; } else { return(RedirectToAction("EditRole", new { Id = roleId })); } } } return(RedirectToAction("EditRole", new { Id = roleId })); }