public async Task <IActionResult> ChangePassword([FromForm] ChangePasswordInputModel model) { var vm = _account.BuildChangePasswordViewModel(model, false); if (!ModelState.IsValid) { return(View(vm)); } IdentityExpressUser identityExpressUser = await _userManager.GetUserAsync(User); var result = await _userManager.ChangePasswordAsync(identityExpressUser, model.OldPassword, model.Password); if (result.Succeeded) { result = await _userManager.UpdateAsync(identityExpressUser); } if (!result.Succeeded) { foreach (var item in result.Errors) { ModelState.AddModelError("", item.Description); } } vm = _account.BuildChangePasswordViewModel(model, result.Succeeded); return(View(vm)); }
public ChangePasswordViewModel BuildChangePasswordViewModel(ChangePasswordInputModel model, bool success) { ChangePasswordViewModel newModel = new ChangePasswordViewModel { IsSuccess = success, OldPassword = model.OldPassword, Password = model.Password, ConfirmPassword = model.ConfirmPassword }; return(newModel); }