public JsonResult ResetPassword(AdminResetPasswordDto dto) { if (!VerifyToken(dto.Token)) { return(ToJsonResult(new Result().SetRedirect(Url.Action("ForgotPassword")))); } var result = _adminResetPasswordService.ResetPassword(dto); if (result.IsRedirect) { result.SetRedirect(result.Success ? Url.Action("Login") : Url.Action("ForgotPassword")); } return(ToJsonResult(result)); }
public Result ResetPassword(AdminResetPasswordDto dto) { var validator = new AdminResetPasswordValidator(); var result = validator.ValidateResult(dto); if (!result.Success) { return(result); } var adminUser = _adminUserRepository.AsNoTracking.FirstOrDefault(w => w.Email == dto.Email && w.ForgotPasswordToken == dto.Token && w.IsActive); if (adminUser == null) { return(new Result().SetError("Invalid forgot password token or token already expired.").SetBlankRedirect()); } SetNewPassword(adminUser, dto.Password); return(new Result().SetBlankRedirect() .SetSuccess("Your password has been updated successfully. Please login with your new password.")); }