public static void SendEmail(DistributorOrderConfirmation doconf) { try { var proxy = ServiceClientProvider.GetEmailPublisherServiceProxy(); var request = new SubmitPredefinedRequest(); request.RequestId = Guid.NewGuid().ToString(); request.Version = "0.1"; request.FormData = new FormData(); // distinguish betwen demand draft and wire in the XSL. India hasd demand draft. if ((doconf.Locale == "pt-BR" && (doconf.Payments[0].PaymentCode == "BT" || doconf.Payments[0].PaymentCode == "ET" || doconf.Payments[0].PaymentCode == "TB" || doconf.Payments[0].PaymentCode == "BB")) || doconf.Payments[0].CardType == "WIRE" || doconf.Payments[0].CardType.ToUpper() == "DEMANDDRAFT") { request.FormData.FormId = "D_OrderConfirmationWire"; } else { request.FormData.FormId = "D_OrderConfirmation"; } request.FormData.Version = "0.1"; var doc = new XmlDocument(); doc.LoadXml(doconf.ToXML()); request.FormData.Any = doc.DocumentElement; var response = proxy.SubmitPredefined(new SubmitPredefinedRequest1(request)).SubmitPredefinedResponse; if (response != null) { LoggerHelper.Info( string.Format("Checkout - Email Sent : Distributor{0} TrackingID {1} Order {2}", doconf.Distributor, response.TrackingId, doconf.OrderId)); } else { LoggerHelper.Info(string.Format("Checkout - Problem sending Email : Distributor{0} Order {1}.", doconf.Distributor, doconf.OrderId)); } } catch (Exception ex) { LoggerHelper.Exception("Checkout", ex, string.Format("SendEmail fails Distributor{0}", doconf.Distributor)); } }