public async Task <IActionResult> ChangePassword(SettingsViewModel model) { if (!ModelState.IsValid) { return(View(nameof(Settings), model)); } using (_unitOfWorkProvider.Create()) { var user = await _userManager.GetUserAsync(_currentUserProvider.GetClaims()); if (user != null) { var result = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword); if (result.Succeeded) { await _signInManager.SignInAsync(user, false); _logger.LogInformation(3, "User changed their password successfully."); return(RedirectToSettingsPernament(ManageMessageId.ChangePasswordSuccess)); } AddErrors(result); return(View(nameof(Settings), model)); } return(RedirectToSettingsPernament(ManageMessageId.Error)); } }