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; }
public CreateOrder( IOrderManager orderManager, CartCheckout cartCheckout, IEmailSink emailSink, IEmailTemplateFactory emailTemplateFactory) { _orderManager = orderManager; _cartCheckout = cartCheckout; _emailSink = emailSink; _emailTemplateFactory = emailTemplateFactory; }
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()); }
public AccountManager( UserManager <User> userManager, IEmailSink emailSink, IEmailTemplateFactory emailTemplateFactory, IUrlHelper urlHelper, HostSettings hostSettings) { _userManager = userManager; _emailSink = emailSink; _emailTemplateFactory = emailTemplateFactory; _urlHelper = urlHelper; _hostSettings = hostSettings; }