public async Task <IActionResult> Order(
            [FromServices] IEmailSink emailSink,
            [FromServices] IWebHostEnvironment env,
            [FromServices] GetOrder getOrder,
            [FromServices] IEmailTemplateFactory etf)
        {
            if (env.IsProduction())
            {
                return(Ok());
            }

            var order = getOrder.ForUserById("dummy");
            // var templatePath = Path.Combine(env.WebRootPath, "email-templates", "order.liquid");
            // var templateString = await System.IO.File.ReadAllTextAsync(templatePath);
            // var template = Template.Parse(templateString);

            await emailSink.SendAsync(new SendEmailRequest
            {
                Subject = $"Order Placed, {order.Id}",
                To      = "*****@*****.**",
                Message = await etf.RenderShippingConfirmationAsync(order),// template.Render(Hash.FromAnonymousObject(OrderProjections.Project(order))),
                Html    = true,
            });

            return(Ok());
        }
        public async Task <IActionResult> Order(
            [FromServices] IEmailSink emailSink,
            [FromServices] IWebHostEnvironment env,
            [FromServices] GetOrder getOrder)
        {
            if (env.IsProduction())
            {
                return(Ok());
            }

            var order          = getOrder.Do("dummy");
            var templatePath   = Path.Combine(env.WebRootPath, "email-templates", "order.liquid");
            var templateString = await System.IO.File.ReadAllTextAsync(templatePath);

            var template = Template.Parse(templateString);

            await emailSink.SendAsync(new EmailRequest
            {
                Subject = "Test",
                To      = "*****@*****.**",
                Message = template.Render(Hash.FromAnonymousObject(ToAnon(order))),
                Html    = true,
            });

            return(Ok());
        }
 public ProcessOrder(
     IOrderManager orderManager,
     IEmailSink emailSink,
     IEmailTemplateFactory emailTemplateFactory)
 {
     _orderManager         = orderManager;
     _emailSink            = emailSink;
     _emailTemplateFactory = emailTemplateFactory;
 }
Beispiel #4
0
 public CreateOrder(
     IOrderManager orderManager,
     CartCheckout cartCheckout,
     IEmailSink emailSink,
     IEmailTemplateFactory emailTemplateFactory)
 {
     _orderManager         = orderManager;
     _cartCheckout         = cartCheckout;
     _emailSink            = emailSink;
     _emailTemplateFactory = emailTemplateFactory;
 }
Beispiel #5
0
 public EmailService(
     IOptionsMonitor <EmailSettings> optionsMonitor,
     ILogger <EmailService> logger,
     IEmailQueue emailQueue,
     IEmailSink emailSink)
 {
     _optionsMonitor = optionsMonitor;
     _logger         = logger;
     _emailQueue     = emailQueue;
     _emailSink      = emailSink;
 }
        public async Task <IActionResult> Index(
            [FromServices] IEmailSink emailSink,
            [FromServices] IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                await emailSink.SendAsync(new SendEmailRequest { Subject = "Test", To = "*****@*****.**" });
            }

            return(Ok());
        }
Beispiel #7
0
 public AccountManager(
     UserManager <User> userManager,
     IEmailSink emailSink,
     IEmailTemplateFactory emailTemplateFactory,
     IUrlHelper urlHelper,
     HostSettings hostSettings)
 {
     _userManager          = userManager;
     _emailSink            = emailSink;
     _emailTemplateFactory = emailTemplateFactory;
     _urlHelper            = urlHelper;
     _hostSettings         = hostSettings;
 }