public async Task <IActionResult> OnPostSendResetPasswordEmail([FromBody] SendResetPasswordEmailRequest request) { ModelState.Clear(); // needed to prevent other forms being included in validation if (TryValidateModel(request)) { var response = await _userService.SendResetPasswordEmail(request); if (response.IsSuccessful) { return(new JsonResult(response)); } AddFormErrors(response); return(new UnprocessableEntityObjectResult(ModelState)); } return(new BadRequestObjectResult(ModelState)); }
public async Task <SendResetPasswordEmailResponse> SendResetPasswordEmail(SendResetPasswordEmailRequest request) { var response = new SendResetPasswordEmailResponse(); await _emailManager.SendResetPassword(new Models.ServiceModels.Email.SendResetPasswordRequest() { UserId = request.UserId }); await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest() { EventKey = SessionEventKeys.ResetPasswordEmailSent, Info = new Dictionary <string, string>() { { "User_Id", request.UserId.ToString() } } }); return(response); }