public async Task <IActionResult> EmailPasswordReset(ResetPasswordEmailRequest resetPasswordModel) { if (resetPasswordModel == null) { return(NotFound()); } MainResponse passwordReset = await _identityService.EmailResetPassword(resetPasswordModel.Email, resetPasswordModel.Password, resetPasswordModel.Token); if (passwordReset.Success) { return(Ok(new SimpleSuccessResponse { Success = true, Message = "Password has been changed" })); } else { if (passwordReset.Errors.Count() > 1) { return(BadRequest(new AuthenticationFailedResponse { Errors = passwordReset.Errors })); } else { return(BadRequest(passwordReset.Errors.ToList()[0])); } } }
public static BasicResponse resetUserPasswordEmailImplementation(ResetPasswordEmailRequest request) { if (String.IsNullOrWhiteSpace(request.email)) { return(new BasicResponse { message = "Please enter an email.", status = 601, success = false }); } using (var db = new UniversalGymEntities()) { var user = db.Users.SingleOrDefault(f => f.Email == request.email); if (user == null) { return(new BasicResponse { message = "User not found.", status = 404, success = false }); } var forgotPasswordBody = String.Format("Someone forgot a password :/ -- {0}", request.email); EmailNoTemplateHelper.SendEmail("User forgot password", "*****@*****.**", forgotPasswordBody); user.CurrentToken = Guid.NewGuid().ToString(); db.SaveChanges(); var link = Constants.PedalWebUrl + "user.html#/resetPassword/" + user.UserId + "/" + user.CurrentToken;; EmailTemplateHelper.SendEmail("Reset Password Link - Pedal", request.email, link, user.FirstName, "reset_password.html"); return(new BasicResponse { message = "User email sent successfully", status = 3, success = true }); } }
// Send email to reset password for user public BasicResponse resetUserPasswordEmail(ResetPasswordEmailRequest request) { try { Logs.LogsInsertAction("Reset user password attempted"); var validResponse = Users.resetUserPasswordEmail.resetUserPasswordEmailImplementation(request); if (validResponse.success == true) { Logs.LogsInsertAction("Reset user password success: " + validResponse.message); } else { Logs.LogsInsertAction("Reset user password failure: " + validResponse.message); } return(validResponse); } catch (Exception exception) { Logs.LogsInsertError(exception); return(new BasicResponse { message = "An error occured. The Pedal team has been notified.", success = false }); } }