You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
525 lines
24 KiB
C#
525 lines
24 KiB
C#
using NetLibrary.Data;
|
|
using NetLibrary.Log;
|
|
using NetLibrary.WebReference;
|
|
using RateAvailableServiceWebServiceClient;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using System.Web.Services.Protocols;
|
|
|
|
|
|
namespace NetLibrary.Express
|
|
{
|
|
|
|
|
|
public class Fedex
|
|
{
|
|
public static string AccountNumber = "";
|
|
public static string Key = "";
|
|
public static string MeterNumber = "";
|
|
public static FedexOrder ormd = new FedexOrder();
|
|
public static string Password = "";
|
|
public static string PayAccountNumber = "";
|
|
public static string PostInfo = "";
|
|
|
|
private static ProcessShipmentRequest CreateShipmentRequest()
|
|
{
|
|
ProcessShipmentRequest request = new ProcessShipmentRequest {
|
|
WebAuthenticationDetail = new WebAuthenticationDetail()
|
|
};
|
|
request.WebAuthenticationDetail.UserCredential = new WebAuthenticationCredential();
|
|
request.WebAuthenticationDetail.UserCredential.Key = Key;
|
|
request.WebAuthenticationDetail.UserCredential.Password = Password;
|
|
if (usePropertyFile())
|
|
{
|
|
request.WebAuthenticationDetail.UserCredential.Key = getProperty("key");
|
|
request.WebAuthenticationDetail.UserCredential.Password = getProperty("password");
|
|
}
|
|
request.ClientDetail = new ClientDetail();
|
|
request.ClientDetail.AccountNumber = AccountNumber;
|
|
request.ClientDetail.MeterNumber = MeterNumber;
|
|
if (usePropertyFile())
|
|
{
|
|
request.ClientDetail.AccountNumber = getProperty("accountnumber");
|
|
request.ClientDetail.MeterNumber = getProperty("meternumber");
|
|
}
|
|
request.TransactionDetail = new TransactionDetail();
|
|
request.TransactionDetail.CustomerTransactionId = ormd.CustomerTransactionId;
|
|
request.Version = new VersionId();
|
|
SetShipmentDetails(request);
|
|
SetSender(request);
|
|
SetRecipient(request);
|
|
SetPayment(request);
|
|
SetLabelDetails(request);
|
|
SetPackageLineItems(request);
|
|
SetCustomsClearanceDetails(request);
|
|
return request;
|
|
}
|
|
|
|
private static void DisplayLabel(string labelFileName)
|
|
{
|
|
ProcessStartInfo startInfo = new ProcessStartInfo(labelFileName) {
|
|
UseShellExecute = true,
|
|
Verb = "open"
|
|
};
|
|
Process.Start(startInfo);
|
|
}
|
|
|
|
public string GetFedex(out string Error)
|
|
{
|
|
string trackingNumber = "";
|
|
ProcessShipmentRequest processShipmentRequest = CreateShipmentRequest();
|
|
ShipService service = new ShipService {
|
|
Url = "https://ws.fedex.com:443/web-services/ship"
|
|
};
|
|
if (usePropertyFile())
|
|
{
|
|
service.Url = "https://ws.fedex.com:443/web-services/ship";
|
|
}
|
|
try
|
|
{
|
|
ProcessShipmentReply reply = service.processShipment(processShipmentRequest);
|
|
if ((reply.HighestSeverity != NotificationSeverityType.ERROR) && (reply.HighestSeverity != NotificationSeverityType.FAILURE))
|
|
{
|
|
trackingNumber = reply.CompletedShipmentDetail.CompletedPackageDetails[0].TrackingIds[0].TrackingNumber;
|
|
ShowShipmentReply(reply);
|
|
}
|
|
else
|
|
{
|
|
Error = ShowNotifications(reply);
|
|
ErrorFollow.TraceWrite("Fedex", "processShipment", Error);
|
|
return "";
|
|
}
|
|
}
|
|
catch (SoapException exception)
|
|
{
|
|
Error = exception.Detail.InnerText;
|
|
ErrorFollow.TraceWrite("Fedex", "processShipment", Error);
|
|
return "";
|
|
}
|
|
catch (Exception exception2)
|
|
{
|
|
Error = exception2.Message;
|
|
ErrorFollow.TraceWrite("Fedex", "processShipment", Error);
|
|
return "";
|
|
}
|
|
Error = "";
|
|
return trackingNumber;
|
|
}
|
|
|
|
|
|
|
|
private static string getProperty(string propertyname)
|
|
{
|
|
try
|
|
{
|
|
string path = @"C:\filepath\filename.txt";
|
|
if (File.Exists(path))
|
|
{
|
|
StreamReader reader = new StreamReader(path);
|
|
do
|
|
{
|
|
string[] strArray = reader.ReadLine().Split(new char[] { ',' });
|
|
if (strArray[0].Equals(propertyname) && (strArray.Length == 2))
|
|
{
|
|
return strArray[1];
|
|
}
|
|
}
|
|
while (!reader.EndOfStream);
|
|
}
|
|
Console.WriteLine("Property {0} set to default 'XXX'", propertyname);
|
|
return "XXX";
|
|
}
|
|
catch (Exception)
|
|
{
|
|
Console.WriteLine("Property {0} set to default 'XXX'", propertyname);
|
|
return "XXX";
|
|
}
|
|
}
|
|
|
|
private static void SaveLabel(string labelFileName, byte[] labelBuffer)
|
|
{
|
|
FileStream stream = new FileStream(labelFileName, FileMode.Create);
|
|
stream.Write(labelBuffer, 0, labelBuffer.Length);
|
|
stream.Close();
|
|
}
|
|
|
|
public static void SaveTrackCode(string TrackingNumber, string LabelFileName)
|
|
{
|
|
string query = @"declare @OrderId int
|
|
select @OrderId=OrderId fromDT_OrderInfo where state<3 and state>0 and platOrderCode=@OrderCode
|
|
if @OrderId>0
|
|
begin
|
|
if(select count(0) from DT_TrackCodeApply where TrackCode=@TrackCode and state=1)=0
|
|
begin
|
|
INSERT INTO [dbo].[DT_TrackCodeApply]([PostId],[TrackType],[TrackCode],[TrackCode2],[GetDate],[InName],[OrderId],[State],[UpdateTime],[OrderCode],[OldPostFee],[ScanState],[ScanDate],LabelUrl)
|
|
values(@PostId,1,@TrackCode,null,getdate(),'系统',@OrderId,1,null,@OrderCode,null,0,null,@LabelFileName)updateDT_OrderXXInfo set PostError=null,TrackState=1,LogisticsId=10,Post=65 where OrderId=@OrderId
|
|
update DT_OrderXXInfoNew set PostError=null,TrackState=1,LogisticsId=10,Post=65 where OrderId=@OrderId end
|
|
select 1
|
|
end
|
|
else
|
|
begin
|
|
select 0
|
|
end";
|
|
Database database = DatabaseFactory.CreateDatabase();
|
|
DbCommand sqlStringCommand = database.GetSqlStringCommand(query);
|
|
database.AddInParameter(sqlStringCommand, "@PostId", DbType.Int32, ormd.PostId);
|
|
database.AddInParameter(sqlStringCommand, "@OrderCode", DbType.String, ormd.CustomerTransactionId);
|
|
database.AddInParameter(sqlStringCommand, "@TrackCode", DbType.String, TrackingNumber);
|
|
database.AddInParameter(sqlStringCommand, "@LabelFileName", DbType.String, LabelFileName);
|
|
database.ExecuteNonQuery(sqlStringCommand);
|
|
}
|
|
|
|
private static void SetCommodityDetails(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities = new Commodity[] { new Commodity() };
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].NumberOfPieces = ormd.GoodsList[0].NumberOfPieces;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Description = ormd.GoodsList[0].Description;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CountryOfManufacture = "CN";
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Weight = new Weight();
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Weight.Value = 1M;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Weight.Units = WeightUnits.LB;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].Quantity = 1.0M;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].QuantitySpecified = true;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].QuantityUnits = "EA";
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].UnitPrice = new Money();
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].UnitPrice.Amount = 10.000000M;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].UnitPrice.Currency = "USD";
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CustomsValue = new Money();
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CustomsValue.Amount = 10.000000M;
|
|
request.RequestedShipment.CustomsClearanceDetail.Commodities[0].CustomsValue.Currency = "USD";
|
|
}
|
|
|
|
private static void SetCustomsClearanceDetails(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.CustomsClearanceDetail = new CustomsClearanceDetail();
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment = new Payment();
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.PaymentType = PaymentType.ACCOUNT;
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor = new Payor();
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty = new Party();
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.AccountNumber = AccountNumber;
|
|
if (usePropertyFile())
|
|
{
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.AccountNumber = getProperty("dutiesaccount");
|
|
}
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.Contact = new Contact();
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.Address = new Address();
|
|
request.RequestedShipment.CustomsClearanceDetail.DutiesPayment.Payor.ResponsibleParty.Address.CountryCode = "US";
|
|
request.RequestedShipment.CustomsClearanceDetail.DocumentContent = InternationalDocumentContentType.NON_DOCUMENTS;
|
|
request.RequestedShipment.CustomsClearanceDetail.CustomsValue = new Money();
|
|
request.RequestedShipment.CustomsClearanceDetail.CustomsValue.Amount = 10.0M;
|
|
request.RequestedShipment.CustomsClearanceDetail.CustomsValue.Currency = "USD";
|
|
SetCommodityDetails(request);
|
|
}
|
|
|
|
private static void SetLabelDetails(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.LabelSpecification = new LabelSpecification();
|
|
request.RequestedShipment.LabelSpecification.ImageType = ShippingDocumentImageType.PDF;
|
|
request.RequestedShipment.LabelSpecification.ImageTypeSpecified = true;
|
|
request.RequestedShipment.LabelSpecification.LabelFormatType = LabelFormatType.COMMON2D;
|
|
}
|
|
|
|
private static void SetPackageLineItems(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems = new RequestedPackageLineItem[] { new RequestedPackageLineItem() };
|
|
request.RequestedShipment.RequestedPackageLineItems[0].SequenceNumber = "1";
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Weight = new Weight();
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Weight.Value = 1M;
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Weight.Units = WeightUnits.LB;
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions = new Dimensions();
|
|
if (ormd.GoodsList[0].Lenght != null)
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Length = ormd.GoodsList[0].Lenght;
|
|
}
|
|
else
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Length = "60";
|
|
}
|
|
if (ormd.GoodsList[0].Width != null)
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Width = ormd.GoodsList[0].Width;
|
|
}
|
|
else
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Width = "30";
|
|
}
|
|
if (ormd.GoodsList[0].Height != null)
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Height = ormd.GoodsList[0].Height;
|
|
}
|
|
else
|
|
{
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Height = "30";
|
|
}
|
|
request.RequestedShipment.RequestedPackageLineItems[0].Dimensions.Units = LinearUnits.CM;
|
|
request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue = new Money();
|
|
request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue.Amount = ormd.GoodsList[0].Amount;
|
|
request.RequestedShipment.RequestedPackageLineItems[0].InsuredValue.Currency = "USD";
|
|
request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences = new CustomerReference[] { new CustomerReference() };
|
|
request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].CustomerReferenceType = CustomerReferenceType.CUSTOMER_REFERENCE;
|
|
request.RequestedShipment.RequestedPackageLineItems[0].CustomerReferences[0].Value = ormd.GoodsList[0].SKU;
|
|
}
|
|
|
|
private static void SetPayment(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.ShippingChargesPayment = new Payment();
|
|
request.RequestedShipment.ShippingChargesPayment.PaymentType = PaymentType.ACCOUNT;
|
|
request.RequestedShipment.ShippingChargesPayment.Payor = new Payor();
|
|
request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty = new Party();
|
|
request.RequestedShipment.ShippingChargesPayment.Payor.ResponsibleParty.AccountNumber = PayAccountNumber;
|
|
if (usePropertyFile())
|
|
{
|
|
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 SetRecipient(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.Recipient = new Party();
|
|
request.RequestedShipment.Recipient.Tins = new TaxpayerIdentification[] { new TaxpayerIdentification() };
|
|
request.RequestedShipment.Recipient.Tins[0].TinType = TinType.BUSINESS_STATE;
|
|
request.RequestedShipment.Recipient.Tins[0].Number = "123";
|
|
request.RequestedShipment.Recipient.Contact = new Contact();
|
|
request.RequestedShipment.Recipient.Contact.PersonName = ormd.Rever.PersonName;
|
|
request.RequestedShipment.Recipient.Contact.CompanyName = ormd.Rever.CompanyName;
|
|
request.RequestedShipment.Recipient.Contact.PhoneNumber = ormd.Rever.PhoneNumber;
|
|
request.RequestedShipment.Recipient.Address = new Address();
|
|
request.RequestedShipment.Recipient.Address.StreetLines = new string[] { ormd.Rever.StreetLines };
|
|
request.RequestedShipment.Recipient.Address.City = ormd.Rever.City;
|
|
request.RequestedShipment.Recipient.Address.StateOrProvinceCode = ormd.Rever.StateOrProvinceCode;
|
|
request.RequestedShipment.Recipient.Address.PostalCode = ormd.Rever.PostalCode;
|
|
request.RequestedShipment.Recipient.Address.CountryCode = ormd.Rever.CountryCode;
|
|
request.RequestedShipment.Recipient.Address.Residential = false;
|
|
}
|
|
|
|
private static void SetSender(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment.Shipper = new Party();
|
|
request.RequestedShipment.Shipper.Contact = new Contact();
|
|
request.RequestedShipment.Shipper.Contact.PersonName = ormd.Shiper.PersonName;
|
|
request.RequestedShipment.Shipper.Contact.CompanyName = ormd.Shiper.CompanyName;
|
|
request.RequestedShipment.Shipper.Contact.PhoneNumber = ormd.Shiper.PhoneNumber;
|
|
request.RequestedShipment.Shipper.Address = new Address();
|
|
request.RequestedShipment.Shipper.Address.StreetLines = new string[] { ormd.Shiper.StreetLines };
|
|
request.RequestedShipment.Shipper.Address.City = ormd.Shiper.City;
|
|
request.RequestedShipment.Shipper.Address.StateOrProvinceCode = ormd.Shiper.StateOrProvinceCode;
|
|
request.RequestedShipment.Shipper.Address.PostalCode = ormd.Shiper.PostalCode;
|
|
request.RequestedShipment.Shipper.Address.CountryCode = ormd.Shiper.CountryCode;
|
|
}
|
|
|
|
private static void SetShipmentDetails(ProcessShipmentRequest request)
|
|
{
|
|
request.RequestedShipment = new RequestedShipment();
|
|
request.RequestedShipment.ShipTimestamp = DateTime.Now;
|
|
request.RequestedShipment.DropoffType = DropoffType.REGULAR_PICKUP;
|
|
if (PostInfo == "FEDEX_GROUND")
|
|
{
|
|
request.RequestedShipment.ServiceType = ServiceType.FEDEX_GROUND;
|
|
}
|
|
else if (PostInfo == "SMART_POST")
|
|
{
|
|
request.RequestedShipment.ServiceType = ServiceType.SMART_POST;
|
|
}
|
|
else if (PostInfo == "STANDARD_OVERNIGHT")
|
|
{
|
|
request.RequestedShipment.ServiceType = ServiceType.STANDARD_OVERNIGHT;
|
|
}
|
|
else if (PostInfo == "STANDARD_OVERNIGHT")
|
|
{
|
|
request.RequestedShipment.ServiceType = ServiceType.STANDARD_OVERNIGHT;
|
|
}
|
|
else if (PostInfo == "GROUND_HOME_DELIVERY")
|
|
{
|
|
request.RequestedShipment.ServiceType = ServiceType.GROUND_HOME_DELIVERY;
|
|
}
|
|
else if (PostInfo == "FEDEX_FREIGHT_ECONOMY")
|
|
{
|
|
request.RequestedShipment.ServiceType = ServiceType.FEDEX_FREIGHT_ECONOMY;
|
|
}
|
|
request.RequestedShipment.PackagingType = PackagingType.YOUR_PACKAGING;
|
|
request.RequestedShipment.PackageCount = "1";
|
|
}
|
|
|
|
private static void ShowBarcodeDetails(PackageBarcodes barcodes)
|
|
{
|
|
Console.WriteLine("\nBarcode details");
|
|
if (barcodes != null)
|
|
{
|
|
int num;
|
|
if (barcodes.StringBarcodes != null)
|
|
{
|
|
for (num = 0; num < barcodes.StringBarcodes.Length; num++)
|
|
{
|
|
Console.WriteLine("String barcode {0} Type {1}", barcodes.StringBarcodes[num].Value, barcodes.StringBarcodes[num].Type);
|
|
}
|
|
}
|
|
if (barcodes.BinaryBarcodes != null)
|
|
{
|
|
for (num = 0; num < barcodes.BinaryBarcodes.Length; num++)
|
|
{
|
|
Console.WriteLine("Binary barcode Type {0}", barcodes.BinaryBarcodes[num].Type);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private static string ShowNotifications(ProcessShipmentReply reply)
|
|
{
|
|
string str = "";
|
|
for (int i = 0; i < reply.Notifications.Length; i++)
|
|
{
|
|
Notification notification = reply.Notifications[i];
|
|
string str3 = str;
|
|
str = str3 + "Code:" + notification.Code + ";Message:" + notification.Message + ";Source:" + notification.Source;
|
|
}
|
|
return str;
|
|
}
|
|
|
|
private static void ShowPackageRateDetails(ShipmentRating ShipmentRating)
|
|
{
|
|
Console.WriteLine("\nRate details");
|
|
for (int i = 0; i < ShipmentRating.ShipmentRateDetails.Length; i++)
|
|
{
|
|
Console.WriteLine("RateType: " + ShipmentRating.ActualRateType);
|
|
Console.WriteLine("Total Billing Weight: " + ShipmentRating.ShipmentRateDetails[i].TotalBillingWeight.Value);
|
|
Console.WriteLine("Total Base Charge: " + ShipmentRating.ShipmentRateDetails[i].TotalBaseCharge.Amount);
|
|
Console.WriteLine("Total Freight Discount: " + ShipmentRating.ShipmentRateDetails[i].TotalFreightDiscounts.Amount);
|
|
Console.WriteLine("Total Surcharges: " + ShipmentRating.ShipmentRateDetails[i].TotalSurcharges.Amount);
|
|
Console.WriteLine("Total Net Charge: " + ShipmentRating.ShipmentRateDetails[i].TotalNetCharge.Amount);
|
|
Console.WriteLine("**********************************************************");
|
|
}
|
|
}
|
|
|
|
private static void ShowPackageRouteDetails(ShipmentOperationalDetail routingDetail)
|
|
{
|
|
Console.WriteLine("\nRouting details");
|
|
Console.WriteLine("URSA prefix {0} suffix {1}", routingDetail.UrsaPrefixCode, routingDetail.UrsaSuffixCode);
|
|
Console.WriteLine("Service commitment {0} Airport ID {1}", routingDetail.DestinationLocationId, routingDetail.AirportId);
|
|
if (routingDetail.DeliveryDaySpecified)
|
|
{
|
|
Console.WriteLine("Delivery day " + routingDetail.DeliveryDay);
|
|
}
|
|
if (routingDetail.DeliveryDateSpecified)
|
|
{
|
|
Console.WriteLine("Delivery date " + routingDetail.DeliveryDate.ToShortDateString());
|
|
}
|
|
if (routingDetail.TransitTimeSpecified)
|
|
{
|
|
Console.WriteLine("Transit time " + routingDetail.TransitTime);
|
|
}
|
|
}
|
|
|
|
private static void ShowShipmentReply(ProcessShipmentReply reply)
|
|
{
|
|
foreach (CompletedPackageDetail detail in reply.CompletedShipmentDetail.CompletedPackageDetails)
|
|
{
|
|
if (null != detail.Label.Parts[0].Image)
|
|
{
|
|
string str = AppDomain.CurrentDomain.BaseDirectory + "ServerCookies/";
|
|
string labelFileName = "ServerCookies/" + detail.TrackingIds[0].TrackingNumber + ".pdf";
|
|
SaveLabel(str + detail.TrackingIds[0].TrackingNumber + ".pdf", detail.Label.Parts[0].Image);
|
|
SaveTrackCode(detail.TrackingIds[0].TrackingNumber, labelFileName);
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void ShowTrackingDetails(TrackingId[] TrackingIds)
|
|
{
|
|
if (TrackingIds != null)
|
|
{
|
|
for (int i = 0; i < TrackingIds.Length; i++)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
private static bool usePropertyFile()
|
|
{
|
|
return getProperty("usefile").Equals("True");
|
|
}
|
|
}
|
|
|
|
|
|
public class FedexOrder
|
|
{
|
|
public string CustomerTransactionId { get; set; }
|
|
|
|
public List<FedexGoods> GoodsList { get; set; }
|
|
|
|
public int? PostId { get; set; }
|
|
|
|
public Rever Rever { get; set; }
|
|
|
|
public Shiper Shiper { get; set; }
|
|
}
|
|
public class Shiper
|
|
{
|
|
public string City { get; set; }
|
|
|
|
public string CompanyName { get; set; }
|
|
|
|
public string CountryCode { get; set; }
|
|
|
|
public string PersonName { get; set; }
|
|
|
|
public string PhoneNumber { get; set; }
|
|
|
|
public string PostalCode { get; set; }
|
|
|
|
public string StateOrProvinceCode { get; set; }
|
|
|
|
public string StreetLines { get; set; }
|
|
}
|
|
public class Rever
|
|
{
|
|
public string City { get; set; }
|
|
|
|
public string CompanyName { get; set; }
|
|
|
|
public string CountryCode { get; set; }
|
|
|
|
public string PersonName { get; set; }
|
|
|
|
public string PhoneNumber { get; set; }
|
|
|
|
public string PostalCode { get; set; }
|
|
|
|
public string StateOrProvinceCode { get; set; }
|
|
|
|
public string StreetLines { get; set; }
|
|
}
|
|
public class FedexGoods
|
|
{
|
|
public decimal Amount { get; set; }
|
|
|
|
public string CountryOfManufacture { get; set; }
|
|
|
|
public string Description { get; set; }
|
|
|
|
public string Height { get; set; }
|
|
|
|
public string Lenght { get; set; }
|
|
|
|
public string NumberOfPieces { get; set; }
|
|
|
|
public decimal Quantity { get; set; }
|
|
|
|
public string SKU { get; set; }
|
|
|
|
public decimal Weight { get; set; }
|
|
|
|
public string Width { get; set; }
|
|
}
|
|
}
|
|
|
|
|