示例#1
0
        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));
        }
示例#2
0
        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);
        }