Class Ecommerce.Cart.SendingConfirmationMailArgs
- Namespace
- Dynamicweb.Ecommerce.Notifications
- Assembly
- Dynamicweb.Ecommerce.dll
Provides information about order and confirmation mail just before each individual Order Email is sent.
public class Ecommerce.Cart.SendingConfirmationMailArgs : NotificationArgs
- Inheritance
-
Ecommerce.Cart.SendingConfirmationMailArgs
- Inherited Members
Examples
using Dynamicweb.Core;
namespace Dynamicweb.Ecommerce.Examples.Notifications
{
[Dynamicweb.Extensibility.Notifications.Subscribe(Dynamicweb.Ecommerce.Notifications.Ecommerce.Cart.SendingConfirmationMail)]
public class EcomCartSendingConfirmationMailObserver : Dynamicweb.Extensibility.Notifications.NotificationSubscriber
{
public override void OnNotify(string notification, Dynamicweb.Extensibility.Notifications.NotificationArgs args)
{
Dynamicweb.Ecommerce.Notifications.Ecommerce.Cart.SendingConfirmationMailArgs sendingConfirmationMailArgs = args as Dynamicweb.Ecommerce.Notifications.Ecommerce.Cart.SendingConfirmationMailArgs;
//**** Example for creating a PDF attachment for the order emails **** //
//EXAMPLE with a razor template
//Load a template - with full html, including html, body, inline css etc. IE browser compatible
Dynamicweb.Rendering.Template htmlForPdfTemplate = new Rendering.Template("/eCom7/CartV2/Mail/pdfReceipt.cshtml");
//Create an order renderer instance
Dynamicweb.Ecommerce.Frontend.Renderer orderRenderer = new Frontend.Renderer();
//Render all order tags
orderRenderer.RenderOrder(sendingConfirmationMailArgs.Order, htmlForPdfTemplate);
//Add custom tags to the template
htmlForPdfTemplate.SetTag("RecipientEmail", sendingConfirmationMailArgs.Recipient.Address);
htmlForPdfTemplate.SetTag("ReceiptSubject", sendingConfirmationMailArgs.MailMessage.Subject);
string html = htmlForPdfTemplate.Output();
//Create a pdf from the template
string pathToOrderConfirmation = SystemInformation.MapPath($"/Files/System/OrderExport/Order{sendingConfirmationMailArgs.Order.Id}.pdf");
using (var pdf = new Imaging.Pdf())
{
var bytes = pdf.ConvertHtml(html);
System.IO.File.WriteAllBytes(pathToOrderConfirmation, bytes);
}
//Attach the pdf to the email
sendingConfirmationMailArgs.MailMessage.Attachments.Add(new System.Net.Mail.Attachment(pathToOrderConfirmation));
}
}
}
Remarks
The passed NotificationArgs is Ecommerce.Cart.SendingConfirmationMailArgs
Constructors
SendingConfirmationMailArgs(MailMessage, MailAddress, Order, ModuleSettings)
Initializes a new instance of the Ecommerce.Cart.SendingConfirmationMailArgs class.
public SendingConfirmationMailArgs(MailMessage mailMessage, MailAddress recipient, Order order, ModuleSettings cartModuleSettings)
Parameters
mailMessage
MailMessageThe mail message.
recipient
MailAddressThe recipient.
order
OrderThe order.
cartModuleSettings
ModuleSettingsThe module settings.
Properties
CartModuleSettings
Gets the module settings.
public ModuleSettings CartModuleSettings { get; }
Property Value
- ModuleSettings
The module settings.
MailMessage
Gets the mail message.
public MailMessage MailMessage { get; }
Property Value
- MailMessage
The mail message.
Order
Gets the order.
public Order Order { get; }
Property Value
- Order
The order.
Recipient
Gets the recipient.
public MailAddress Recipient { get; }
Property Value
- MailAddress
The recipient.
SkipThisMail
Gets or sets a value indicating whether to skip the current email, preventing it from being sent.
public bool SkipThisMail { get; set; }
Property Value
- bool
true
if the mail is skipped; otherwise,false
.
StopSendingMoreMails
Gets or sets a value indicating whether to skip the current email and all subsequent emails from being sent.
public bool StopSendingMoreMails { get; set; }
Property Value
- bool
true
if no more mails should be sent; otherwise,false
.