public static bool SendOrderDeclinedEmail(int orderId) { //pull Specific Email Template int emailId = 2; EmailSetting emailTemplate = EmailManager.GetEmail(emailId); OrderManager orderMgr = new OrderManager(); Order orderData = orderMgr.GetOrderDetails(orderId); if (emailTemplate.Body != null) { //Body Translation String BodyTemplate = emailTemplate.Body.Replace("&", "&"); BodyTemplate = ReplaceSiteName(BodyTemplate); CSBusiness.CustomerManagement.Address billing = orderData.CustomerInfo.BillingAddress; if (billing != null) { BodyTemplate = BodyTemplate.Replace("{BILLING_NAME}", billing.FirstName + " " + billing.LastName); } XElement elem = XElement.Parse("<root>" + BodyTemplate + "</root>", LoadOptions.PreserveWhitespace); var nodes = from XElement e in elem.Descendants() where e.Attribute("cart") != null select e; try { //Prepare Mail Message MailMessage _oMailMessage = new MailMessage(ReplaceSiteName(emailTemplate.FromAddress), orderData.Email, emailTemplate.Subject, BodyTemplate); _oMailMessage.IsBodyHtml = true; SendMail(_oMailMessage); //Fire OrderDecline Log orderMgr.FireEmailLog(orderData.OrderId, orderData.Email, emailTemplate.Subject, BodyTemplate, DateTime.Now); return(true); } catch (Exception) { return(false); } } else { return(false); } }
private void WriteGAPixel() { CSBusiness.CustomerManagement.Address address = CSResolve.Resolve <ICustomerService>().GetAddressById(CurrentOrder.BillingAddressId); StringBuilder sbGAPixel = new StringBuilder(); sbGAPixel.AppendFormat("pageTracker._addTrans('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}' );\n", CurrentOrder.OrderId.ToString(), "", Math.Round(CurrentOrder.Total, 2), Math.Round(CurrentOrder.Tax, 2), Math.Round(CurrentOrder.ShippingCost, 2), GetEncodedJS(CurrentOrder.CustomerInfo.BillingAddress.City), GetEncodedJS(CurrentOrder.CustomerInfo.BillingAddress.StateProvinceName), CurrentOrder.CustomerInfo.BillingAddress.CountryCode); foreach (Sku sku in CurrentOrder.SkuItems) { sbGAPixel.AppendFormat("pageTracker._addItem('{0}','{1}','{2}','{3}','{4}','{5}');\n", CurrentOrder.OrderId.ToString(), GetEncodedJS(sku.SkuCode), GetEncodedJS(sku.Title), "", Math.Round(Convert.ToDouble(sku.InitialPrice), 2), sku.Quantity.ToString()); } litGAReceiptPixel.Text = sbGAPixel.ToString(); }
public static bool SendOrderCompletedEmail(int orderId) { //pull Specific Email Template int emailId = ConfigHelper.EmailAppSetting("EmailId"); EmailSetting emailTemplate = EmailManager.GetEmail(emailId); OrderManager orderMgr = new OrderManager(); Order orderData = orderMgr.GetOrderDetails(orderId); if (emailTemplate.Body != null) { //Subject Translation emailTemplate.Subject = emailTemplate.Subject.Replace("{ORDER_NUMBER}", orderData.OrderId.ToString()); //Body Translation String BodyTemplate = emailTemplate.Body.Replace("&", "&"); BodyTemplate = BodyTemplate.Replace("{SUBTOTAL}", orderData.SubTotal.ToString("N2")); BodyTemplate = BodyTemplate.Replace("{SHIPPING_HANDLING}", orderData.ShippingCost.ToString("N2")); BodyTemplate = BodyTemplate.Replace("{TAX}", orderData.Tax.ToString("N2")); BodyTemplate = BodyTemplate.Replace("{TOTAL}", orderData.Total.ToString("N2")); BodyTemplate = BodyTemplate.Replace("{ORDER_ID}", orderData.OrderId.ToString()); BodyTemplate = BodyTemplate.Replace("{ORDER_NUMBER}", orderData.OrderId.ToString()); BodyTemplate = BodyTemplate.Replace("{ORDER_DATE}", orderData.CreatedDate.ToString("dd MMM yyyy hh:mm:ss")); CSBusiness.CustomerManagement.Address billing = orderData.CustomerInfo.BillingAddress; if (billing != null) { BodyTemplate = BodyTemplate.Replace("{BILLING_COMPANY}", CommonHelper.EnsureNotNull(billing.Company)); BodyTemplate = BodyTemplate.Replace("{BILLING_ADDRESS2}", CommonHelper.EnsureNotNull(billing.Address2)); BodyTemplate = BodyTemplate.Replace("{BILLING_NAME}", billing.FirstName + " " + billing.LastName); BodyTemplate = BodyTemplate.Replace("{BILLING_ADDRESS}", billing.Address1); BodyTemplate = BodyTemplate.Replace("{BILLING_CITY}", billing.City); BodyTemplate = BodyTemplate.Replace("{BILLING_STATE}", StateManager.GetStateName(billing.StateProvinceId)); //pull from Cache BodyTemplate = BodyTemplate.Replace("{BILLING_ZIP}", billing.ZipPostalCode); BodyTemplate = BodyTemplate.Replace("{BILLING_EMAIL}", orderData.Email); BodyTemplate = BodyTemplate.Replace("{BILLING_COUNTRY}", CountryManager.CountryName(billing.CountryId)); //pull from Cache } CSBusiness.CustomerManagement.Address shippingAddress = orderData.CustomerInfo.ShippingAddress; if (shippingAddress != null) { BodyTemplate = BodyTemplate.Replace("{SHIPPING_COMPANY}", CommonHelper.EnsureNotNull(shippingAddress.Company)); BodyTemplate = BodyTemplate.Replace("{SHIPPING_NAME}", shippingAddress.FirstName + " " + shippingAddress.LastName); BodyTemplate = BodyTemplate.Replace("{SHIPPING_ADDRESS}", shippingAddress.Address1); BodyTemplate = BodyTemplate.Replace("{SHIPPING_ADDRESS2}", CommonHelper.EnsureNotNull(shippingAddress.Address2)); BodyTemplate = BodyTemplate.Replace("{SHIPPING_CITY}", shippingAddress.City); BodyTemplate = BodyTemplate.Replace("{SHIPPING_STATE}", StateManager.GetStateName(shippingAddress.StateProvinceId)); //pull from Cache BodyTemplate = BodyTemplate.Replace("{SHIPPING_ZIP}", shippingAddress.ZipPostalCode); BodyTemplate = BodyTemplate.Replace("{SHIPPING_COUNTRY}", CountryManager.CountryName(shippingAddress.CountryId)); //pull from Cache BodyTemplate = BodyTemplate.Replace("{SHIPPING_PHONE}", CommonHelper.EnsureNotNull(shippingAddress.PhoneNumber)); } XElement elem = XElement.Parse("<root>" + BodyTemplate + "</root>", LoadOptions.PreserveWhitespace); var nodes = from XElement e in elem.Descendants() where e.Attribute("cart") != null select e; StringBuilder sb = new StringBuilder(); foreach (XElement node in nodes) { string originalString = node.ToString(); int totalSkuItems = orderData.SkuItems.Count; for (int i = 0; i < totalSkuItems; i++) { Sku sku = orderData.SkuItems[i]; string resultString = originalString; resultString = resultString .Replace("{SKU}", sku.SkuCode) .Replace("{SKU_QTY}", sku.Quantity.ToString()) .Replace("{SKU_DESCR}", sku.LongDescription) .Replace("{SKU_PRICE}", sku.FullPrice.ToString("N2")); sb.Append(resultString); } BodyTemplate = BodyTemplate.Replace(originalString, sb.ToString()); sb.Clear(); BodyTemplate = BodyTemplate.Replace("&", "&"); } try { //Prepare Mail Message MailMessage _oMailMessage = new MailMessage(emailTemplate.FromAddress, orderData.Email, emailTemplate.Subject, BodyTemplate); _oMailMessage.IsBodyHtml = true; SendMail(_oMailMessage); //Fire OrderConfirmation Log orderMgr.FireEmailLog(orderData.OrderId, orderData.Email, emailTemplate.Subject, BodyTemplate, DateTime.Now); return(true); } catch (Exception) { return(false); } } else { return(false); } }