Пример #1
0
        private async Task <string> RenderPartialViewToString(string viewName, EmailDataModel model)
        {
            if (string.IsNullOrEmpty(viewName))
            {
                viewName = ControllerContext.ActionDescriptor.ActionName;
            }

            ViewData.Model = model;

            using (var writer = new StringWriter())
            {
                ViewEngineResult viewResult = _viewEngine.FindView(ControllerContext, viewName, false);

                ViewContext viewContext = new ViewContext(
                    ControllerContext,
                    viewResult.View,
                    ViewData,
                    TempData,
                    writer,
                    new HtmlHelperOptions()
                    );

                await viewResult.View.RenderAsync(viewContext);

                return(writer.GetStringBuilder().ToString());
            }
        }
Пример #2
0
        public async Task <IActionResult> Index()
        {
            EmailDataModel model = new EmailDataModel {
                Body = "This is email body | You request has been submitted!"
            };
            string emailContent = await this.renderer.RenderPartialViewToString <EmailDataModel>(model, "Templates/Email/_EmailView");

            ViewBag.EmailContent = emailContent;
            return(View());
        }
Пример #3
0
        public async Task <IActionResult> SendEmail([FromBody] EmailDataModel emailData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ErrorResponseFactory.Create(ModelState)));
            }

            await _emailService.EnqueueEmailAsync(emailData);

            return(Ok());
        }
        public async Task HandleEmailQueueMessage(EmailDataModel emailData)
        {
            try
            {
                await _emailService.SendEmailAsync(emailData);
            }
            catch (Exception ex)
            {
                await _log.WriteErrorAsync(nameof(HandleEmailQueueMessage),
                                           $"Message: {emailData.ToJson()}",
                                           ex);

                throw;
            }
        }
Пример #5
0
        public static void SendEmail(EmailDataModel data)
        {
            //var address = Environment.GetEnvironmentVariable("TrainingSmtp");

            //using (var client = new SmtpClient(address))
            //{
            //    client.Port = 25;
            //    client.DeliveryMethod = SmtpDeliveryMethod.Network;

            //    var mailMessage = new MailMessage
            //    {
            //        From = new MailAddress(data.From),
            //        Body = emailMessage.Body,
            //        Subject = emailMessage.Subject
            //    };

            //    mailMessage.To.Add(emailMessage.To);
            //    client.Send(mailMessage);
            //}
        }
 public async Task SendEmailAsync(EmailDataModel emailData)
 {
     await _api.SendEmailAsync(emailData);
 }
Пример #7
0
 /// <summary>
 /// Adds email request into queue for subsequent sending
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='emailData'>
 /// Email data
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task SendEmailAsync(this IIcoCommonAPI operations, EmailDataModel emailData = default(EmailDataModel), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.SendEmailWithHttpMessagesAsync(emailData, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
Пример #8
0
 /// <summary>
 /// Adds email request into queue for subsequent sending
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='emailData'>
 /// Email data
 /// </param>
 public static void SendEmail(this IIcoCommonAPI operations, EmailDataModel emailData = default(EmailDataModel))
 {
     operations.SendEmailAsync(emailData).GetAwaiter().GetResult();
 }
Пример #9
0
 public void Post([FromBody] EmailDataModel data)
 {
 }