// -------------------------------------------------------- // ---------------- Ship Email --------------- // -------------------------------------------------------- public List <ShipmentInfoVO> GetShipmentInfoData() { SqlDataReader rdr = null; var list = new List <ShipmentInfoVO>(); try { //SqlParameter[] param = { new SqlParameter("@DeliveryNumber", deliveryNumber)}; string sqlQuery = @"SELECT DISTINCT R1.DocEntry AS DocEntry , OC.CardCode AS CardCode , OH.DocNum AS OrderNumber , OH.CardName AS ShipToName , OC.E_Mail ShipToEmail , OH.U_ShippingMethod AS ShippingMethod , R12.StreetS AS ShipToAddress1 , R12.BlockS AS ShipToAddress2 , R12.CityS AS ShipToCity , R12.StateS AS ShipToState , R12.ZipCodeS AS ShipToZip , R1.U_TrackingNumber AS TrackingNumber , R1.U_DeliveryNumber AS DeliveryNumber , CASE WHEN OL.ShortName = 'CO' THEN 'ES' ELSE OL.ShortName END AS Language FROM ORDR OH INNER JOIN RDR1 R1 ON OH.DocEntry = R1.DocEntry INNER JOIN RDR12 R12 ON OH.DocEntry = R12.DocEntry INNER JOIN OCRD OC ON OH.CardCode = OC.CardCode INNER JOIN OLNG OL ON OC.LangCode = OL.Code WHERE CANCELED = 'N' AND ISNULL(R1.U_DeliveryNumber,'') <> '' AND ISNULL(R1.U_TrackingNumber,'') <> '' AND ISNULL(R1.U_IsShipped,'') = '' AND OH.DocDate >= '2020-05-01' AND OC.U_OptOut = 0 "; rdr = getRecordSet(sqlQuery); if (rdr.HasRows) { while (rdr.Read()) { var vo = new ShipmentInfoVO(); vo.DocEntry = rdr["DocEntry"].ToString(); vo.DeliveryNumber = rdr["DeliveryNumber"].ToString(); vo.OrderNumber = rdr["OrderNumber"].ToString(); vo.CardCode = rdr["CardCode"].ToString(); vo.Language = rdr["Language"].ToString(); vo.ShipToEmail = rdr["ShipToEmail"].ToString(); vo.ShipToName = rdr["ShipToName"].ToString(); vo.ShippingMethod = rdr["ShippingMethod"].ToString(); vo.ShipToAddress1 = rdr["ShipToAddress1"].ToString(); vo.ShipToAddress2 = rdr["ShipToAddress2"].ToString(); vo.ShipToCity = rdr["ShipToCity"].ToString(); vo.ShipToState = rdr["ShipToState"].ToString(); vo.ShipToZip = rdr["ShipToZip"].ToString(); vo.TrackingNumber = rdr["TrackingNumber"].ToString(); list.Add(vo); } } if (rdr != null && rdr.IsClosed == false) { rdr.Close(); } } catch (SqlException ex) { log.Error("SQL Exception", ex); MailHelper.AddSystemIssueString(GetType().Name, ex.ToString()); throw ex; } catch (Exception e) { log.Error("Exception", e); MailHelper.AddSystemIssueString(GetType().Name, e.ToString()); throw e; } finally { if (rdr != null && rdr.IsClosed == false) { rdr.Close(); } } return(list); }
/* ********************************************* * s : Custom mail function for sepific Class * *********************************************/ public static void SendShipEmailToCustomer(ShipmentInfoVO shipmentInfoVo) { var customerSenderName = System.Configuration.ConfigurationManager.AppSettings["CustomerSenderName"]; var customerSenderEmail = System.Configuration.ConfigurationManager.AppSettings["CustomerSenderEmail"]; var customerRecipientsName = System.Configuration.ConfigurationManager.AppSettings["CustomerRecipientsName"]; var customerRecipientsEmail = System.Configuration.ConfigurationManager.AppSettings["CustomerRecipientsEmail"]; var customerCcEmail = System.Configuration.ConfigurationManager.AppSettings["CustomerCcEmail"]; var customerBccEmail = System.Configuration.ConfigurationManager.AppSettings["CustomerBccEmail"]; var EMAIL_CONTENT_SERVER_PROTOCOL = System.Configuration.ConfigurationManager.AppSettings["EmailConetentServerWithProtocol"]; var EMAIL_CONTENT_SERVER = System.Configuration.ConfigurationManager.AppSettings["EmailConetentServer"]; var EMAIL_SHIPMENT_CONTENT = System.Configuration.ConfigurationManager.AppSettings["EmailShipmentPath"]; var EMAIL_WILLCALL_URL = System.Configuration.ConfigurationManager.AppSettings["EmailWillCallPath"]; var SUBJECT_ENGLISH = System.Configuration.ConfigurationManager.AppSettings["SubjectEnglish"]; var SUBJECT_SPANISH = System.Configuration.ConfigurationManager.AppSettings["SubjectFrench"]; var SUBJECT_FRENCH = System.Configuration.ConfigurationManager.AppSettings["SubjectSpanish"]; var ORDER_CONTENT_PATH_ENGLISH = System.Configuration.ConfigurationManager.AppSettings["OrderPathEnglish"]; var ORDER_CONTENT_PATH_SPANISH = System.Configuration.ConfigurationManager.AppSettings["OrderPathSpanish"]; var ORDER_CONTENT_PATH_FRENCH = System.Configuration.ConfigurationManager.AppSettings["OrderPathFrench"]; string CUSTOMER_CARE_PHONE = System.Configuration.ConfigurationManager.AppSettings["OrderPathFrench"]; var subject = SUBJECT_ENGLISH; var contentUrl = EMAIL_SHIPMENT_CONTENT; var orderContentPath = ORDER_CONTENT_PATH_ENGLISH; var langCode = shipmentInfoVo.Language.ToLower() + "-us"; if (shipmentInfoVo.Language == "FR") { langCode = shipmentInfoVo.Language.ToLower() + "-ca"; } if (shipmentInfoVo.Language == "ES") { subject = SUBJECT_SPANISH; orderContentPath = ORDER_CONTENT_PATH_SPANISH; } else if (shipmentInfoVo.Language == "ES") { subject = SUBJECT_FRENCH; orderContentPath = ORDER_CONTENT_PATH_FRENCH; } var message = string.Empty; if (shipmentInfoVo.ShippingMethod == "CA_VAN_WILLCALL") { subject = "Your Univera Order is Ready to Pick Up."; contentUrl = EMAIL_WILLCALL_URL; } var fullURL = EMAIL_CONTENT_SERVER_PROTOCOL + "/" + langCode + contentUrl; var orderLink = EMAIL_CONTENT_SERVER + "/" + langCode + orderContentPath; var trackingURL = GetCarrierURL(shipmentInfoVo.ShippingMethod, shipmentInfoVo.TrackingNumber, langCode); var firstName = string.Empty; try { firstName = shipmentInfoVo.ShipToName.Contains(',') ? shipmentInfoVo.ShipToName.Split(' ').Last() : shipmentInfoVo.ShipToName.Split(' ').First(); } catch (Exception e) { firstName = shipmentInfoVo.ShipToName; } var emailRecipient = shipmentInfoVo.ShipToEmail; var content = new WebCallHelper().GetRequestString(fullURL); message = content.Replace("{{FIRSTNAME}}", shipmentInfoVo.ShipToName) .Replace("{{ORDER_LINK}}", orderLink) .Replace("{{ORDERNUMBER}}", shipmentInfoVo.OrderNumber) .Replace("{{FULLNAME}}", shipmentInfoVo.ShipToName) .Replace("{{ADDRESS1}}", shipmentInfoVo.ShipToAddress1) .Replace("{{ADDRESS2}}", shipmentInfoVo.ShipToAddress2) .Replace("{{CITY}}", shipmentInfoVo.ShipToCity) .Replace("{{STATE}}", shipmentInfoVo.ShipToState) .Replace("{{POSTALCODE}}", shipmentInfoVo.ShipToZip + "\r\n") .Replace("{{TRACKINGNUMBER}}", shipmentInfoVo.TrackingNumber) .Replace("{{TRACKING_LINK}}", trackingURL + "\r\n") .Replace("{{COUNTRYPHONE}}", CUSTOMER_CARE_PHONE); if (emailRecipient != null && emailRecipient != "" && shipmentInfoVo.ShipToEmail.Equals("*****@*****.**") == false) { SendMailsOutside(subject, message, customerSenderName, customerSenderEmail, null, shipmentInfoVo.ShipToEmail, null, customerBccEmail, null); } }