public ActionResult ChangePassword(API.Common.Model.PasswordChangeModel model) { if (ModelState.IsValid) { var passwordChanged = new UserManager().SetNewPassword((int)UserID, model); model.PasswordResetFailed = !passwordChanged; if (passwordChanged) { model.PasswordResetCompleted = true; return(RedirectToAction("Index", "Profile")); } } return(View(model)); }
public bool SetNewPassword(int userId, API.Common.Model.PasswordChangeModel model) { var userDetails = dataModel.Users.FirstOrDefault(u => u.Id == userId); if (userDetails != null) { if (model.IsCurrentPasswordRequired && !IsCorrectPassword(userDetails.PasswordHash, model.CurrentPassword)) { //current password is required, incorrect password supplied or none given return(false); } //proceed to update password userDetails.PasswordHash = GetNewPasswordHash(model.Password); dataModel.SaveChanges(); return(true); } return(false); }