public async Task <IActionResult> Edit(string id) { var user = await _userManager.FindByIdAsync(id); var editUserView = new EditUserRoleView() { Id = user.Id, UserName = user.UserName, Email = user.Email }; ViewData["Roles"] = new SelectList(_roleManager.Roles.ToList()); return(View(editUserView)); }
public async Task <IActionResult> Edit(string id, EditUserRoleView user) { if (ModelState.IsValid) { // Fast exit if trying to modify user 'a' or role 'admin' var toBeAdded = user.RoleToBeAdded; if (id != user.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var currentUser = await _userManager.FindByIdAsync(user.Id); var result = await _userManager.AddToRoleAsync(currentUser, toBeAdded); } catch (DbUpdateConcurrencyException) { if (!UserExists(user.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } } return(View()); }