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 }); } }
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); }