Пример #1
0
        public async Task <SendGridMessage> GetMessage(BaseEmailTemplateModel baseEmailTemplateModel)
        {
            Guard.ArgumentNotNull(nameof(baseEmailTemplateModel), baseEmailTemplateModel);
            var builderType = typeof(EmailBuilder <>).MakeGenericType(baseEmailTemplateModel.GetType());
            var builder     = _serviceProvider.GetRequiredService(builderType);
            var result      = await((dynamic)builder).BuildAsync((dynamic)_serverConnectionSettings, (dynamic)baseEmailTemplateModel);

            return(result);
        }
Пример #2
0
        public async Task NotifyAsync(BaseEmailTemplateModel baseEmailTemplateModel)
        {
            Guard.ArgumentNotNull(nameof(baseEmailTemplateModel), baseEmailTemplateModel);

            var email = await _emailBuilderRetriever.GetMessage(baseEmailTemplateModel);

            var response = await _sendGridClient.SendEmailAsync(email);

            if (response.StatusCode != HttpStatusCode.Accepted)
            {
                await _sendGridClient.SendEmailAsync(email);
            }
        }
        public override async Task <string> CreateEmailBodyAsync(BaseEmailTemplateModel emailTemplateModel)
        {
            Guard.ArgumentNotNull(nameof(emailTemplateModel), emailTemplateModel);

            return(await EmailRenderer.RenderViewToStringAsync("Views/ForgotPassword.cshtml", emailTemplateModel));
        }
        public override string CreateEmailSubject(BaseEmailTemplateModel emailTemplateModel)
        {
            Guard.ArgumentNotNull(nameof(emailTemplateModel), emailTemplateModel);

            return("Reset Password");
        }
Пример #5
0
        public override string CreateEmailSubject(BaseEmailTemplateModel emailTemplateModel)
        {
            Guard.ArgumentNotNull(nameof(emailTemplateModel), emailTemplateModel);

            return("Account Activation");
        }
Пример #6
0
 public abstract Task <string> CreateEmailBodyAsync(BaseEmailTemplateModel emailTemplateModel);
Пример #7
0
 public abstract string CreateEmailSubject(BaseEmailTemplateModel emailTemplateModel);