コード例 #1
0
 public RegistrationEmailResponse RegistrationEmail([FromBody]
                                                    RegistrationEmailRequest registrationEmailRequest)
 {
     try
     {
         var user       = _userService.GetByEmail(registrationEmailRequest.EmailAddress);
         var tokenValue = (user.Id + StringHelper.RandomString(10, "$*#+%") + DateTime.Now.ToString("O")).Sha1();
         var token      = _tokenService.Create
                              (TokenTypes.ConfirmRegistration, tokenValue, user.Id, registrationEmailRequest.TtlSeconds);
         var confirmRegistrationUrl = _baseApplicationPath +
                                      registrationEmailRequest.ConfirmRegistrationUrl.Replace("{{token}}",
                                                                                              token.Value);
         _mailer.SendMailUsingTemplateAsync
         (
             new Dictionary <string, string>
         {
             { registrationEmailRequest.EmailAddress, registrationEmailRequest.EmailAddress }
         },
             "Confirm Registration",
             "ConfirmRegistration",
             new Dictionary <string, string> {
             { "confirmRegistrationUrl", confirmRegistrationUrl }
         });
         return(new RegistrationEmailResponse());
     }
     catch (Exception ex)
     {
         return(new RegistrationEmailResponse
         {
             Success = false,
             Message = ex.Message
         });
     }
 }
コード例 #2
0
        public async Task <RegistrationEmailResponse> SendRegistrationEmail(string emailAddress,
                                                                            int ttlSeconds,
                                                                            string confirmRegistrationUrl)
        {
            var registrationEmailRequest = new RegistrationEmailRequest
            {
                EmailAddress           = emailAddress,
                TtlSeconds             = ttlSeconds,
                ConfirmRegistrationUrl = confirmRegistrationUrl
            };

            var baseApiResult =
                await PostRequest <RegistrationEmailResponse>("RegistrationEmail", registrationEmailRequest);

            if (!baseApiResult.Success)
            {
                throw new Exception(baseApiResult.Message);
            }

            return(baseApiResult.Response);
        }