public async Task <IActionResult> ChangePassword(ChangePasswordModel model) { if (ModelState.IsValid) { User user = await _userLogic.GetUserAsync(User.Identity.Name); string hashedPassword = _accountLogic.GetHashedPassword(user.Email, model.Password); if (user.HashedPassword == hashedPassword) { if (user != null) { string newHashedPassword = _accountLogic.GetHashedPassword(user.Email, model.NewPassword); if (newHashedPassword == user.HashedPassword) { ModelState.AddModelError("", "You cannot set same password"); } else { await _accountLogic.ChangeUserPasswordAsync(user, newHashedPassword); return(RedirectToAction("Logout", "Account")); } } } else { ModelState.AddModelError("", "Wrong password"); } } return(View(model)); }