Created
February 13, 2014 16:07
-
-
Save paaschpa/8977938 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class TransitTimeCalculator | |
{ | |
public IList<TransitTimeResponse> UpsGround() | |
{ | |
var ret = new List<TransitTimeResponse>(); | |
Upsrates Rates1 = new Upsrates(); | |
Rates1.UPSAccount.AccessKey = {myKey}; //removed for security purposes | |
Rates1.UPSAccount.AccountNumber = {myAcctNumber}; | |
Rates1.UPSAccount.UserId = {myUserId} | |
Rates1.UPSAccount.Password = {myPassword} | |
Rates1.UPSAccount.Server = "https://wwwcie.ups.com/webservices/Rate"; | |
Rates1.SenderAddress.City = "Grayslake"; | |
Rates1.SenderAddress.State = "IL"; | |
Rates1.SenderAddress.ZipCode = "60030"; | |
Rates1.RecipientAddress.City = "Holtsville"; | |
Rates1.RecipientAddress.State = "NY"; | |
Rates1.RecipientAddress.ZipCode = "00501"; | |
Rates1.Packages.Add(new PackageDetail()); | |
Rates1.Packages[0].PackagingType = TPackagingTypes.ptYourPackaging; | |
Rates1.Packages[0].Height = 1; | |
Rates1.Packages[0].Width = 1; | |
Rates1.Packages[0].Length = 1; | |
Rates1.Packages[0].Weight = "1.0"; | |
Rates1.RequestedService = ServiceTypes.stUPSGround; | |
Rates1.GetRates(); | |
foreach (var rate in Rates1.Services) | |
{ | |
if (string.IsNullOrEmpty(rate.TransitTime)) | |
continue;//Guard for when can't determine transit time/delivery date (also: DeliveryDate always seems to be empty) | |
var deliveryDate = DateTime.Now.AddDays(int.Parse(rate.TransitTime)).Date; | |
ret.Add(new TransitTimeResponse | |
{ | |
ServiceLevel = rate.ServiceTypeDescription, | |
TransitDays = int.Parse(rate.TransitTime), | |
ShippedDate = DateTime.Now, | |
DeliveryDate = deliveryDate | |
}); | |
} | |
return ret; | |
} | |
} | |
public class TransitTimeResponse | |
{ | |
public string ServiceLevel { get; set; } | |
public int TransitDays { get; set; } | |
public DateTime ShippedDate { get; set; } | |
public DateTime DeliveryDate { get; set; } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment