public ActionResult ChangePassword() { ViewBag.Msg = ""; ChangePwdVM vm = new ChangePwdVM() { UserId = Session[SessionKeys.UserId]?.ToString() }; return(PartialView("_ChangePassword", vm)); }
public ActionResult ChangePassword(ChangePwdVM changePwd) { string actionName = "ChangePassword"; var type = "error"; string msg = string.Empty; _logger.Log(LogLevel.Trace, actionName + " :: started."); try { if (ModelState.IsValid) { #region User Injection var UserName = changePwd.UserId; var Password = changePwd.NewPassword; if (changePwd.NewPassword == changePwd.ConfirmPassword) { using (var context = new Entities()) { var user = context.tbl_User.FirstOrDefault(x => x.UserId == changePwd.UserId && x.IsDeleted != 1); if (user != null) { if (user.Password == changePwd.OldPassword) { var AdminUserCreateResult = UserManager.ChangePassword(changePwd.UserId, changePwd.OldPassword, changePwd.NewPassword); if (AdminUserCreateResult.Succeeded) { user.Password = changePwd.NewPassword; user.PasswordChangeDateTime = DateTime.Now; context.Entry(user).State = EntityState.Modified; context.SaveChanges(); type = "success"; msg = "Password changed successfully."; } else { msg = "Something went wrong."; } } else { msg = "Incorrect password."; } } else { msg = "User not found."; } } } else { msg = "New and old password mismatch."; } #endregion } else { msg = "Please input valid data."; } } catch (Exception ex) { _logger.Log(LogLevel.Error, actionName + " EXCEPTION :: " + ex.ToString() + " INNER EXCEPTION :: " + ex.InnerException?.ToString()); msg = "Some error occurred"; } _logger.Log(LogLevel.Trace, actionName + " :: ended."); ViewBag.Msg = msg; if (type == "success") { return(RedirectToAction("Dashboard", "Admin")); } else { return(PartialView("_ChangePassword", changePwd)); } }