public async Task <IActionResult> Edit(string userId) { User user = await _userManager.FindByIdAsync(userId); if (user == null) { return(NotFound()); } EditAccViewModel model = new EditAccViewModel { Id = user.Id, Email = user.Email, Code = user.Code, NewPassword = "******" }; return(View(model)); }
public async Task <IActionResult> Edit(EditAccViewModel model) { if (ModelState.IsValid) { User user = await _userManager.FindByIdAsync(model.Id); if (user != null) { var _passwordValidator = HttpContext.RequestServices.GetService(typeof(IPasswordValidator <User>)) as IPasswordValidator <User>; var _passwordHasher = HttpContext.RequestServices.GetService(typeof(IPasswordHasher <User>)) as IPasswordHasher <User>; user.Email = model.Email; user.UserName = model.Email; user.Code = model.Code; var result = await _userManager.UpdateAsync(user); if (!result.Succeeded) { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } result = await _passwordValidator.ValidateAsync(_userManager, user, model.NewPassword); if (result.Succeeded) { user.PasswordHash = _passwordHasher.HashPassword(user, model.NewPassword); await _userManager.UpdateAsync(user); return(RedirectToAction("UserList", "Roles")); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } } return(View(model)); }