public async Task <IActionResult> AddToRole(AddDeleteUserToRoleFormViewModel model) { var user = await this.userManager .FindByIdAsync(model.UserId); var roleExists = await this.roleManager .RoleExistsAsync(model.Role); var userExists = user != null; if (!roleExists || !userExists) { ModelState.AddModelError(string.Empty, "Invalid Idenity details."); } if (!ModelState.IsValid) { return(RedirectToAction(nameof(Index))); } await this.userManager.AddToRoleAsync(user, model.Role); TempData.AddSuccessMessage($"User {user.UserName} successfully added to {model.Role} role."); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> DestroyRole(AddDeleteUserToRoleFormViewModel model) { var user = await this.userManager .FindByIdAsync(model.UserId); var roleExists = await this.roleManager .RoleExistsAsync(model.Role); var userExists = user != null; if (!roleExists || !userExists) { ModelState.AddModelError(string.Empty, "Invalid Idenity details."); } if (!ModelState.IsValid) { return(RedirectToAction(nameof(Index))); } var result = await this.userManager .RemoveFromRoleAsync(user, model.Role); if (result.Succeeded) { TempData.AddSuccessMessage($"User {user.UserName} successfully deleted '{ model.Role}' role."); return(RedirectToAction(nameof(Index))); } else { AddModelErrors(result); return(View(model)); } }