using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Services.Protocols; using System.IO; using NetLibrary.Log; using NetLibrary.Data; using System.Data.Common; using System.Data; using NetLibrary.Express; using TradeManageNew.WebReference1; using System.Net; namespace TradeManageNew { public class FedexSmartPostNew { public static string Key = ""; public static string Password = ""; public static string AccountNumber = ""; public static string MeterNumber = ""; public static string PayAccountNumber = ""; public static string PostInfo = ""; public static string HubId = ""; public static string PostName = ""; public static int IsQM = 0; public static FedexOrder ormd = null; public static string LBPath = ""; public string GetFedex(FedexOrder md, out string Error) { ormd = md; string code = ""; ProcessShipmentRequest request = CreateShipmentRequest(); // ShipService service = new ShipService(); service.Url ="https://ws.fedex.com:443/web-services/ship"; if (usePropertyFile()) { service.Url = "https://ws.fedex.com:443/web-services/ship";// getProperty("endpoint"); } // try { // ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11; ProcessShipmentReply reply = service.processShipment(request); if ((reply.HighestSeverity != NotificationSeverityType.ERROR) && (reply.HighestSeverity != NotificationSeverityType.FAILURE)) { code = reply.CompletedShipmentDetail.CompletedPackageDetails[0].TrackingIds[0].TrackingNumber; ShowShipmentReply(reply); } else { Error = ShowNotifications(reply); ErrorFollow.TraceWrite("Fedex", "processShipment", Error); return ""; } } catch (SoapException e) { Error = e.Detail.InnerText; ErrorFollow.TraceWrite("Fedex", "processShipment", Error); return ""; // Console.WriteLine(e.Detail.InnerText); } catch (Exception e) { Error = e.Message; ErrorFollow.TraceWrite("Fedex", "processShipment", Error); return ""; // Console.WriteLine(e.Message); } // Console.WriteLine("Press any key to quit !"); // Console.ReadKey(); Error = ""; return code; } private static ProcessShipmentRequest CreateShipmentRequest() { // Build the ShipmentRequest ProcessShipmentRequest request = new ProcessShipmentRequest(); // request.WebAuthenticationDetail = new WebAuthenticationDetail(); request.WebAuthenticationDetail.UserCredential = new WebAuthenticationCredential(); request.WebAuthenticationDetail.UserCredential.Key = Key;// "ENsVAGUr9UIGx7Uj"; // Replace "XXX" with the Key request.WebAuthenticationDetail.UserCredential.Password = Password;// "o7j1X19OxhxWqwb9gMTDEGYfE"; // Replace "XXX" with the Password if (usePropertyFile()) //Set values from a file for testing purposes { request.WebAuthenticationDetail.UserCredential.Key = getProperty("key"); request.WebAuthenticationDetail.UserCredential.Password = getProperty("password"); } // request.ClientDetail = new ClientDetail(); request.ClientDetail.AccountNumber = AccountNumber;// "510087160"; // Replace "XXX" with the client's account number request.ClientDetail.MeterNumber = MeterNumber;// "118810402"; // Replace "XXX" with the client's meter number if (usePropertyFile()) //Set values from a file for testing purposes { request.ClientDetail.AccountNumber = getProperty("accountnumber"); request.ClientDetail.MeterNumber = getProperty("meternumber"); } // request.TransactionDetail = new TransactionDetail(); request.TransactionDetail.CustomerTransactionId = ormd.CustomerTransactionId;// "1245677"; // The client will get the same value back in the response // request.Version = new VersionId(); // SetShipmentDetails(request); // SetSender(request); // SetRecipient(request); // SetPayment(request); // SetLabelDetails(request); // SetPackageLineItems(request); // SetSmartPostDetails(request); // return request; } private static void SetShipmentDetails(ProcessShipmentRequest request) { request.RequestedShipment = new RequestedShipment(); request.RequestedShipment.ShipTimestamp = DateTime.Now; // Ship date and time request.RequestedShipment.DropoffType = DropoffType.REGULAR_PICKUP; if(PostName=="GROUND_HOME_DELIVERY") request.RequestedShipment.ServiceType = ServiceType.GROUND_HOME_DELIVERY; else if (PostName == "SMART_POST") request.RequestedShipment.ServiceType = ServiceType.SMART_POST; else if (PostName == "FEDEX_GROUND") request.RequestedShipment.ServiceType = ServiceType.FEDEX_GROUND; else if (PostName == "FEDEX_2_DAY") request.RequestedShipment.ServiceType = ServiceType.FEDEX_2_DAY; request.RequestedShipment.PackagingType = PackagingType.YOUR_PACKAGING; // Packaging type YOUR_PACKAGING, ... // request.RequestedShipment.PackageCount = "1"; } private static void SetSender(ProcessShipmentRequest request) { //request.RequestedShipment.Shipper = new Party(); //request.RequestedShipment.Shipper.Contact = new Contact(); //request.RequestedShipment.Shipper.Contact.CompanyName = "Sender Company Name"; //request.RequestedShipment.Shipper.Contact.PhoneNumber = "9012637906"; //// //request.RequestedShipment.Shipper.Address = new Address(); //request.RequestedShipment.Shipper.Address.StreetLines = new string[1] { "Address Line 1" }; //request.RequestedShipment.Shipper.Address.City = "Austin"; //request.RequestedShipment.Shipper.Address.StateOrProvinceCode = "TX"; //request.RequestedShipment.Shipper.Address.PostalCode = "73301"; //request.RequestedShipment.Shipper.Address.CountryCode = "US"; request.RequestedShipment.Shipper = new Party(); request.RequestedShipment.Shipper.Contact = new Contact(); request.RequestedShipment.Shipper.Contact.PersonName = ormd.Shiper.PersonName;//"chu"; request.RequestedShipment.Shipper.Contact.CompanyName = ormd.Shiper.CompanyName;//"chu"; request.RequestedShipment.Shipper.Contact.PhoneNumber = ormd.Shiper.PhoneNumber;//"0805522713"; request.RequestedShipment.Shipper.Address = new Address(); request.RequestedShipment.Shipper.Address.StreetLines = new string[1] { ormd.Shiper.StreetLines }; //new string[2] { "1202 Chalet Ln", "Do Not Delete - Test Account" }; request.RequestedShipment.Shipper.Address.City = ormd.Shiper.City;//"Harrison"; request.RequestedShipment.Shipper.Address.StateOrProvinceCode = ormd.Shiper.StateOrProvinceCode;//"AR"; request.RequestedShipment.Shipper.Address.PostalCode = ormd.Shiper.PostalCode;//"72601"; request.RequestedShipment.Shipper.Address.CountryCode = ormd.Shiper.CountryCode;//"US"; } private static void SetRecipient(ProcessShipmentRequest request) { //request.RequestedShipment.Recipient = new Party(); //request.RequestedShipment.Recipient.Contact = new Contact(); //request.RequestedShipment.Recipient.Contact.PersonName = "Recipient Name"; //request.RequestedShipment.Recipient.Contact.PhoneNumber = "9012637906"; //// //request.RequestedShipment.Recipient.Address = new Address(); //request.RequestedShipment.Recipient.Address.StreetLines = new string[1] { "Recipient Address Line 1" }; //request.RequestedShipment.Recipient.Address.City = "Windsor"; //request.RequestedShipment.Recipient.Address.StateOrProvinceCode = "CT"; //request.RequestedShipment.Recipient.Address.PostalCode = "06006"; //request.RequestedShipment.Recipient.Address.CountryCode = "US"; request.RequestedShipment.Recipient = new Party(); // request.RequestedShipment.Recipient.Contact = new Contact(); request.RequestedShipment.Recipient.Contact.PersonName = ormd.Rever.PersonName;//"Recipient Name"; request.RequestedShipment.Recipient.Contact.CompanyName = ormd.Rever.CompanyName;//"Recipient Company Name"; request.RequestedShipment.Recipient.Contact.PhoneNumber = ormd.Rever.PhoneNumber;//"9012637906"; // request.RequestedShipment.Recipient.Address = new Address(); if (ormd.Rever.StreetLines.Length <= 25) request.RequestedShipment.Recipient.Address.StreetLines = new string[1] { ormd.Rever.StreetLines };// new string[1] { "Address Line 1" }; else { string[] addr = ormd.Rever.StreetLines.Split(' '); if (ormd.Rever.StreetLines.Contains(",") == true) { addr = ormd.Rever.StreetLines.Split(','); } string line1 = ""; string line2 = ""; if (addr.Length == 2) { line1 = addr[0]; line2 = addr[1]; } else { for (int i = 0; i < addr.Length; i++) { if (line1.Length + addr[i].Length < 25) line1 += addr[i] + " "; else line2 += addr[i] + " "; } } if (line2 != "") request.RequestedShipment.Recipient.Address.StreetLines = new string[2] { line1, line2 }; else request.RequestedShipment.Recipient.Address.StreetLines = new string[1] { line1 }; } request.RequestedShipment.Recipient.Address.City = ormd.Rever.City;//"Richmond"; request.RequestedShipment.Recipient.Address.StateOrProvinceCode = ormd.Rever.StateOrProvinceCode;//"BC"; request.RequestedShipment.Recipient.Address.PostalCode = ormd.Rever.PostalCode;// "V7C4V4"; request.RequestedShipment.Recipient.Address.CountryCode = "US";//"CA"; if (PostName == "GROUND_HOME_DELIVERY") { request.RequestedShipment.Recipient.Address.Residential = true; request.RequestedShipment.Recipient.Address.ResidentialSpecified = true; request.RequestedShipment.Recipient.Contact = new Contact(); if (ormd.Rever.PersonName != null && ormd.Rever.PersonName != "") request.RequestedShipment.Recipient.Contact.PersonName = ormd.Rever.PersonName; else request.RequestedShipment.Recipient.Contact.PersonName = "jacky"; if (ormd.Rever.PhoneNumber != null && ormd.Rever.PhoneNumber != "") request.RequestedShipment.Recipient.Contact.PhoneNumber = ormd.Rever.PhoneNumber; else request.RequestedShipment.Recipient.Contact.PhoneNumber = "2392276058"; } } private static void SetPayment(ProcessShipmentRequest request) { request.RequestedShipment.ShippingChargesPayment = new Payment(); request.RequestedShipment.ShippingChargesPayment.PaymentType = PaymentType.SENDER; request.RequestedShipment.ShippingChargesPayment.Payor = new Payor(); request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty = new Party(); request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = AccountNumber;// "510087160"; // Replace "XXX" with client's account number if (usePropertyFile()) //Set values from a file for testing purposes { request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = getProperty("payoraccount"); } request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Contact = new Contact(); request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address = new Address(); request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.Address.CountryCode = "US"; } private static void SetLabelDetails(ProcessShipmentRequest request) { request.RequestedShipment.LabelSpecification = new LabelSpecification(); request.RequestedShipment.LabelSpecification.ImageType = ShippingDocumentImageType.PNG; // Image types PDF, PNG, DPL, ... request.RequestedShipment.LabelSpecification.ImageTypeSpecified = true; request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail = new CustomerSpecifiedLabelDetail(); //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent = new CustomLabelDetail(); //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.CoordinateUnits = CustomLabelCoordinateUnits.PIXELS; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.TextEntries = new CustomLabelTextEntry[1]; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.TextEntries[0] = new CustomLabelTextEntry(); //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.TextEntries[0].Position = new CustomLabelPosition(); //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.TextEntries[0].Position.X = "50"; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.TextEntries[0].Position.Y = 200; //// request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.TextEntries[0].Format = "Data for text"; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries = new CustomLabelBarcodeEntry[1]; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0] = new CustomLabelBarcodeEntry(); //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].DataFields = new string[1] { "1xKM0574-white" }; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].Position = new CustomLabelPosition(); //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].Position.X = "50"; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].Position.Y = 50; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].BarHeight = 100; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].ThinBarWidth = 8; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].Format = "%s"; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContent.BarcodeEntries[0].BarcodeSymbology = BarcodeSymbologyType.CODE128C; // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.MaskedData = new LabelMaskableDataType[1]; // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.MaskedData[0] = new LabelMaskableDataType(); // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.MaskedData[0] = LabelMaskableDataType.SHIPPER_ACCOUNT_NUMBER; // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.CustomContentPosition = RelativeVerticalPositionType.BELOW; // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.ConfigurableReferenceEntries = new ConfigurableLabelReferenceEntry[1]; // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.ConfigurableReferenceEntries[0] = new ConfigurableLabelReferenceEntry(); // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.ConfigurableReferenceEntries[0].DataField = "1xKM0574-white"; // request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.ConfigurableReferenceEntries[0].ZoneNumber = "1"; //request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.DocTabContent= // if (PostName == "SMART_POST") request.RequestedShipment.LabelSpecification.CustomerSpecifiedDetail.SecondaryBarcode = SecondaryBarcodeType.USPS; request.RequestedShipment.LabelSpecification.LabelFormatType = LabelFormatType.COMMON2D; request.RequestedShipment.LabelSpecification.LabelStockType = LabelStockType.PAPER_4X6; request.RequestedShipment.LabelSpecification.LabelStockTypeSpecified = true; } private static void SetPackageLineItems(ProcessShipmentRequest request) { request.RequestedShipment.RequestedPackageLineItems = new RequestedPackageLineItem[1]; request.RequestedShipment.RequestedPackageLineItems[0] = new RequestedPackageLineItem(); request.RequestedShipment.RequestedPackageLineItems[0].SequenceNumber = "1"; // Package weight information request.RequestedShipment.RequestedPackageLineItems[0].Weight = new Weight(); request.RequestedShipment.RequestedPackageLineItems[0].Weight.Value = ormd.GoodsList[0].Weight; request.RequestedShipment.RequestedPackageLineItems[0].Weight.Units = WeightUnits.LB; // if (IsQM == 1) //签收服务 { request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested = new PackageSpecialServicesRequested(); request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.SignatureOptionDetail = new SignatureOptionDetail(); request.RequestedShipment.RequestedPackageLineItems[0].SpecialServicesRequested.SignatureOptionDetail.OptionType = SignatureOptionType.DIRECT; } request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences = new CustomerReference[1]; request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0] = new CustomerReference(); request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].CustomerReferenceType = CustomerReferenceType.CUSTOMER_REFERENCE; request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].Value = ormd.GoodsList[0].SKU; request.RequestedShipment.RequestedPackageLineItems[0].Dimensions = new Dimensions(); if (ormd.GoodsList[0].Lenght != null && ormd.GoodsList[0].Lenght != "") request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Length = ormd.GoodsList[0].Lenght;//"12"; else request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Length = "60 "; if (ormd.GoodsList[0].Width != null && ormd.GoodsList[0].Width != "") request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Width = ormd.GoodsList[0].Width;//"13"; else request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Width = "30"; if (ormd.GoodsList[0].Height != null && ormd.GoodsList[0].Height != "") request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Height = ormd.GoodsList[0].Height;// "14"; else request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Height = "30"; request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Units = LinearUnits.IN; } private static void SetSmartPostDetails(ProcessShipmentRequest request) { request.RequestedShipment.SmartPostDetail = new SmartPostShipmentDetail(); request.RequestedShipment.SmartPostDetail.Indicia = SmartPostIndiciaType.PARCEL_SELECT; request.RequestedShipment.SmartPostDetail.IndiciaSpecified = true; request.RequestedShipment.SmartPostDetail.AncillaryEndorsement = SmartPostAncillaryEndorsementType.ADDRESS_CORRECTION; request.RequestedShipment.SmartPostDetail.AncillaryEndorsementSpecified = true; request.RequestedShipment.SmartPostDetail.HubId = HubId;// "5531"; // Replace "XXX" with the hub id if (usePropertyFile()) //Set values from a file for testing purposes { request.RequestedShipment.SmartPostDetail.HubId = getProperty("hubid"); } } private static void ShowShipmentReply(ProcessShipmentReply reply) { // Console.WriteLine("Shipment Reply details:"); // Console.WriteLine("\nSmartPost Reply details"); // if(reply.CompletedShipmentDetail.SmartPostDetail.PickUpCarrierSpecified) Console.WriteLine("PickupCarrier Code:" + reply.CompletedShipmentDetail.SmartPostDetail.PickUpCarrier); // if (reply.CompletedShipmentDetail.SmartPostDetail.MachinableSpecified) Console.WriteLine("Machinable:" + reply.CompletedShipmentDetail.SmartPostDetail.Machinable); // Console.WriteLine(); // Console.WriteLine("Package details\n"); foreach (CompletedPackageDetail packageDetail in reply.CompletedShipmentDetail.CompletedPackageDetails) { //ShowTrackingDetails(packageDetail.TrackingIds); //ShowPackageRateDetails(packageDetail.PackageRating.PackageRateDetails); // ShowBarcodeDetails(packageDetail.OperationalDetail.Barcodes); if (null != packageDetail.Label.Parts[0].Image) { SaveLabel(packageDetail.TrackingIds[0].TrackingNumber, packageDetail.Label.Parts[0].Image); } } } private static void ShowTrackingDetails(TrackingId[] TrackingIds) { // Tracking information for each package Console.WriteLine("Tracking details"); if (TrackingIds != null) { for (int i = 0; i < TrackingIds.Length; i++) { Console.WriteLine("Tracking # {0} Form ID {1}", TrackingIds[i].TrackingNumber, TrackingIds[i].FormId); } } } private static void ShowPackageRateDetails(PackageRateDetail[] PackageRateDetails) { foreach (PackageRateDetail ratedPackage in PackageRateDetails) { Console.WriteLine("\nRate details"); if (ratedPackage.BillingWeight != null) Console.WriteLine("Billing weight {0} {1}", ratedPackage.BillingWeight.Value, ratedPackage.BillingWeight.Units); if (ratedPackage.BaseCharge != null) Console.WriteLine("Base charge {0} {1}", ratedPackage.BaseCharge.Amount, ratedPackage.BaseCharge.Currency); if (ratedPackage.TotalSurcharges != null) Console.WriteLine("Total surcharge {0} {1}", ratedPackage.TotalSurcharges.Amount, ratedPackage.TotalSurcharges.Currency); if (ratedPackage.Surcharges != null) { // Individual surcharge for each package foreach (Surcharge surcharge in ratedPackage.Surcharges) Console.WriteLine(" {0} surcharge {1} {2}", surcharge.SurchargeType, surcharge.Amount.Amount, surcharge.Amount.Currency); } if (ratedPackage.NetCharge != null) Console.WriteLine("Net charge {0} {1}", ratedPackage.NetCharge.Amount, ratedPackage.NetCharge.Currency); } } private static void ShowBarcodeDetails(PackageBarcodes barcodes) { // Barcode information for each package Console.WriteLine("\nBarcode details"); if (barcodes != null) { if (barcodes.StringBarcodes != null) { for (int i = 0; i < barcodes.StringBarcodes.Length; i++) { Console.WriteLine("String barcode {0} Type {1}", barcodes.StringBarcodes[i].Value, barcodes.StringBarcodes[i].Type); } } if (barcodes.BinaryBarcodes != null) { for (int i = 0; i < barcodes.BinaryBarcodes.Length; i++) { Console.WriteLine("Binary barcode Type {0}", barcodes.BinaryBarcodes[i].Type); } } } } private static void SaveLabel(String shipLabelFileName, byte[] labelBuffer) { // Save shipping label to file string LabelPath = AppDomain.CurrentDomain.BaseDirectory + "attached/fedex/";// @"F:\褚明杰\fedex\ShipService_v2014_cs\cs\ShipWebServiceClient\Express\International\ShipWebServiceClient\bin\Release\pdf\"; if (LBPath != "") LabelPath = LBPath; if (usePropertyFile()) { LabelPath = getProperty("labelpath"); } String LabelFileName = LabelPath + shipLabelFileName + ".png"; FileStream LabelFile = new FileStream(LabelFileName, FileMode.Create); LabelFile.Write(labelBuffer, 0, labelBuffer.Length); LabelFile.Close(); // DisplayLabel(LabelFileName); } private static void DisplayLabel(string labelFileName) { System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(labelFileName); info.UseShellExecute = true; info.Verb = "open"; System.Diagnostics.Process.Start(info); } private static string ShowNotifications(ProcessShipmentReply reply) { //Console.WriteLine("Notifications"); string error = ""; for (int i = 0; i < reply.Notifications.Length; i++) { Notification notification = reply.Notifications[i]; error += "Code:" + notification.Code + ";Message:" + notification.Message + ";Source:" + notification.Source; //Console.WriteLine("Notification no. {0}", i); //Console.WriteLine(" Severity: {0}", notification.Severity); //Console.WriteLine(" Code: {0}", notification.Code); //Console.WriteLine(" Message: {0}", notification.Message); //Console.WriteLine(" Source: {0}", notification.Source); } return error; } private static bool usePropertyFile() //Set to true for common properties to be set with getProperty function. { return getProperty("usefile").Equals("True"); } private static String getProperty(String propertyname) //Sets common properties for testing purposes. { try { String filename = "C:\\filepath\\filename.txt"; if (System.IO.File.Exists(filename)) { System.IO.StreamReader sr = new System.IO.StreamReader(filename); do { String[] parts = sr.ReadLine().Split(','); if (parts[0].Equals(propertyname) && parts.Length == 2) { return parts[1]; } } while (!sr.EndOfStream); } Console.WriteLine("Property {0} set to default 'XXX'", propertyname); return "XXX"; } catch (Exception e) { Console.WriteLine("Property {0} set to default 'XXX'", propertyname); return "XXX"; } } } }