public static List <IShippingService> FindAll(Store currentStore) { var result = Service.FindAll(); // FedEx var fedexGlobal = new FedExGlobalServiceSettings { UserKey = currentStore.Settings.ShippingFedExKey, UserPassword = currentStore.Settings.ShippingFedExPassword, AccountNumber = currentStore.Settings.ShippingFedExAccountNumber, MeterNumber = currentStore.Settings.ShippingFedExMeterNumber, DefaultDropOffType = (DropOffType)currentStore.Settings.ShippingFedExDropOffType, DefaultPackaging = (PackageType)currentStore.Settings.ShippingFedExDefaultPackaging, DiagnosticsMode = currentStore.Settings.ShippingFedExDiagnostics, ForceResidentialRates = currentStore.Settings.ShippingFedExForceResidentialRates, UseDevelopmentServiceUrl = currentStore.Settings.ShippingFedExUseDevelopmentServiceUrl }; result.Add(new FedExProvider(fedexGlobal, Factory.CreateEventLogger())); // Load US Postal var uspostalGlobal = new USPostalServiceGlobalSettings { UserId = currentStore.Settings.ShippingUSPostalUserId, DiagnosticsMode = currentStore.Settings.ShippingUSPostalDiagnostics }; result.Add(new DomesticProvider(uspostalGlobal, Factory.CreateEventLogger())); result.Add(new InternationalProvider(uspostalGlobal, Factory.CreateEventLogger())); // Load UPS var upsglobal = new UPSServiceGlobalSettings { AccountNumber = currentStore.Settings.ShippingUpsAccountNumber, LicenseNumber = currentStore.Settings.ShippingUpsLicense, Username = currentStore.Settings.ShippingUpsUsername, Password = currentStore.Settings.ShippingUpsPassword, DefaultPackaging = (PackagingType)currentStore.Settings.ShippingUpsDefaultPackaging, DiagnosticsMode = currentStore.Settings.ShippingUPSDiagnostics, ForceResidential = currentStore.Settings.ShippingUpsForceResidential, IgnoreDimensions = currentStore.Settings.ShippingUpsSkipDimensions, PickUpType = (PickupType)currentStore.Settings.ShippingUpsPickupType }; result.Add(new UPSService(upsglobal, Factory.CreateEventLogger())); return(result); }
public void UPS_DomesticTestRate() { #region Arrange var shipment = _irepo.GetTestRate_UPS_DomesticShipment(); var item = _irepo.GetTestRate_UPS_DomesticShippableInfo(); shipment.Items.Add(item); var globalSettings = new USPostalServiceGlobalSettings { UserId = _application.CurrentStore.Settings.ShippingUSPostalUserId, DiagnosticsMode = true, IgnoreDimensions = false }; var settings = _irepo.GetTestRate_UPS_DomesticServiceSetting(); var servicecodes = AvailableServices.FindById(GetShippingProviderId("US Postal Service - Domestic"), _application.CurrentStore).ListAllServiceCodes(); var displayname = settings.ServiceCodeFilter.FirstOrDefault().DisplayName; var code = servicecodes.FirstOrDefault(x => x.DisplayName.Equals(displayname)); settings.ServiceCodeFilter = new List <IServiceCode> { code }; var provider = new DomesticProvider(globalSettings, new Web.Logging.TextLogger()) { Settings = settings }; #endregion //Act var rates = provider.RateShipment(shipment); //Assert if (rates == null) { Assert.AreEqual(1, 0); } else { Assert.AreEqual(25, rates.FirstOrDefault().EstimatedCost); } }
protected void btnGetRates_Click(object sender, EventArgs e) { MerchantTribe.Shipping.Shipment shipment = new MerchantTribe.Shipping.Shipment(); shipment.DestinationAddress.PostalCode = this.ToZipField.Text.Trim(); shipment.SourceAddress.PostalCode = this.FromZipField.Text.Trim(); // box MerchantTribe.Shipping.Shippable item = new MerchantTribe.Shipping.Shippable(); decimal length = 0m; decimal.TryParse(this.LengthField.Text.Trim(), out length); decimal height = 0m; decimal.TryParse(this.HeightField.Text.Trim(), out height); decimal width = 0m; decimal.TryParse(this.WidthField.Text.Trim(), out width); decimal weightPounds = 0m; decimal.TryParse(this.WeightPoundsField.Text.Trim(), out weightPounds); decimal weightOunces = 0m; decimal.TryParse(this.WeightOuncesField.Text.Trim(), out weightOunces); item.BoxLength = length; item.BoxHeight = height; item.BoxWidth = width; item.BoxLengthType = MerchantTribe.Shipping.LengthType.Inches; item.BoxWeight = weightPounds + MerchantTribe.Web.Conversions.OuncesToDecimalPounds(weightOunces); item.BoxWeightType = MerchantTribe.Shipping.WeightType.Pounds; item.QuantityOfItemsInBox = 1; shipment.Items.Add(item); // Global Settings MerchantTribe.Shipping.USPostal.USPostalServiceGlobalSettings globalSettings = new USPostalServiceGlobalSettings(); globalSettings.DiagnosticsMode = true; globalSettings.IgnoreDimensions = false; // Settings MerchantTribe.Shipping.USPostal.USPostalServiceSettings settings = new USPostalServiceSettings(); MerchantTribe.Shipping.ServiceCode code = new MerchantTribe.Shipping.ServiceCode(); code.Code = this.lstServiceTypes.SelectedItem.Value; code.DisplayName = this.lstServiceTypes.SelectedItem.Text; List <MerchantTribe.Shipping.IServiceCode> codes = new List <MerchantTribe.Shipping.IServiceCode>(); codes.Add(code); settings.ServiceCodeFilter = codes; int temp = -1; int.TryParse(this.lstPackagingType.SelectedItem.Value, out temp); settings.PackageType = (MerchantTribe.Shipping.USPostal.v4.DomesticPackageType)temp; // Provider MerchantTribe.Web.Logging.TextLogger logger = new MerchantTribe.Web.Logging.TextLogger(); MerchantTribe.Shipping.USPostal.DomesticProvider provider = new DomesticProvider(globalSettings, logger); provider.Settings = settings; List <MerchantTribe.Shipping.IShippingRate> rates = provider.RateShipment(shipment); this.litRates.Text = "<ul>"; foreach (MerchantTribe.Shipping.IShippingRate rate in rates) { this.litRates.Text += "<li>" + rate.EstimatedCost.ToString("c") + " - " + rate.DisplayName + "</li>"; } this.litRates.Text += "</ul>"; this.litMessages.Text = "<ul>"; foreach (MerchantTribe.Shipping.ShippingServiceMessage msg in provider.LatestMessages) { switch (msg.MessageType) { case MerchantTribe.Shipping.ShippingServiceMessageType.Diagnostics: this.litMessages.Text += "<li>DIAGNOSTICS:"; break; case MerchantTribe.Shipping.ShippingServiceMessageType.Information: this.litMessages.Text += "<li>INFO:"; break; case MerchantTribe.Shipping.ShippingServiceMessageType.Error: this.litMessages.Text += "<li>ERROR:"; break; } this.litMessages.Text += System.Web.HttpUtility.HtmlEncode(msg.Description + " " + msg.Code) + "</li>"; } this.litMessages.Text += "</ul>"; this.litXml.Text = ""; while (logger.Messages.Count > 0) { string tempXml = logger.Messages.Dequeue(); tempXml = tempXml.Replace("\n", "<br />"); tempXml = tempXml.Replace("\r", "<br />"); tempXml = tempXml.Replace("\t", " "); this.litXml.Text += "<li>" + System.Web.HttpUtility.HtmlEncode(tempXml) + "</li>"; } }
protected void btnGetRates_Click(object sender, EventArgs e) { pnlRates.Visible = true; var shipment = new Shipment { DestinationAddress = { PostalCode = ToZipField.Text.Trim() }, SourceAddress = { PostalCode = FromZipField.Text.Trim() } }; // box var item = new Shippable(); var length = 0m; decimal.TryParse(LengthField.Text.Trim(), out length); var height = 0m; decimal.TryParse(HeightField.Text.Trim(), out height); var width = 0m; decimal.TryParse(WidthField.Text.Trim(), out width); var weightPounds = 0m; decimal.TryParse(WeightPoundsField.Text.Trim(), out weightPounds); var weightOunces = 0m; decimal.TryParse(WeightOuncesField.Text.Trim(), out weightOunces); item.BoxLength = length; item.BoxHeight = height; item.BoxWidth = width; item.BoxLengthType = LengthType.Inches; item.BoxWeight = weightPounds + Conversions.OuncesToDecimalPounds(weightOunces); item.BoxWeightType = WeightType.Pounds; item.QuantityOfItemsInBox = 1; shipment.Items.Add(item); // Global Settings var globalSettings = new USPostalServiceGlobalSettings { UserId = HccApp.CurrentStore.Settings.ShippingUSPostalUserId, DiagnosticsMode = true, IgnoreDimensions = false }; // Settings var settings = new USPostalServiceSettings(); var code = new ServiceCode { Code = lstServiceTypes.SelectedItem.Value, DisplayName = lstServiceTypes.SelectedItem.Text }; var codes = new List <IServiceCode> { code }; settings.ServiceCodeFilter = codes; var temp = -1; int.TryParse(lstPackagingType.SelectedItem.Value, out temp); settings.PackageType = (DomesticPackageType)temp; // Provider var logger = new TextLogger(); var provider = new DomesticProvider(globalSettings, logger) { Settings = settings }; var rates = provider.RateShipment(shipment); var sbRates = new StringBuilder(); sbRates.Append("<ul>"); foreach (var rate in rates) { sbRates.Append("<li>"); sbRates.Append(rate.EstimatedCost.ToString("c")); sbRates.Append(" - "); sbRates.Append(rate.DisplayName); sbRates.Append("</li>"); } sbRates.Append("</ul>"); litRates.Text = sbRates.ToString(); var sbMessages = new StringBuilder(); sbMessages.Append("<ul>"); foreach (var msg in provider.LatestMessages) { sbMessages.Append("<li>"); switch (msg.MessageType) { case ShippingServiceMessageType.Diagnostics: sbMessages.Append(Localization.GetString("Diagnostics")); break; case ShippingServiceMessageType.Information: sbMessages.Append(Localization.GetString("Info")); break; case ShippingServiceMessageType.Error: sbMessages.Append(Localization.GetString("Error")); break; } sbMessages.Append(":"); sbMessages.Append(HttpUtility.HtmlEncode(string.Concat(msg.Description, " ", msg.Code))); sbMessages.Append("</li>"); } sbMessages.Append("</ul>"); litMessages.Text = sbMessages.ToString(); litXml.Text = string.Empty; while (logger.Messages.Count > 0) { var tempXml = logger.Messages.Dequeue(); tempXml = tempXml.Replace("\n", "<br />"); tempXml = tempXml.Replace("\r", "<br />"); tempXml = tempXml.Replace("\t", " "); litXml.Text += "<li>" + HttpUtility.HtmlEncode(tempXml) + "</li>"; } }
public static List <IShippingService> FindAll(Store currentStore) { var result = Service.FindAll(); // FedEx var fedexGlobal = new FedExGlobalServiceSettings { UserKey = currentStore.Settings.ShippingFedExKey, UserPassword = currentStore.Settings.ShippingFedExPassword, AccountNumber = currentStore.Settings.ShippingFedExAccountNumber, MeterNumber = currentStore.Settings.ShippingFedExMeterNumber, DefaultDropOffType = (DropOffType)currentStore.Settings.ShippingFedExDropOffType, DefaultPackaging = (PackageType)currentStore.Settings.ShippingFedExDefaultPackaging, DiagnosticsMode = currentStore.Settings.ShippingFedExDiagnostics, ForceResidentialRates = currentStore.Settings.ShippingFedExForceResidentialRates, UseDevelopmentServiceUrl = currentStore.Settings.ShippingFedExUseDevelopmentServiceUrl }; result.Add(new FedExProvider(fedexGlobal, Factory.CreateEventLogger())); // Load US Postal var uspostalGlobal = new USPostalServiceGlobalSettings { UserId = currentStore.Settings.ShippingUSPostalUserId, DiagnosticsMode = currentStore.Settings.ShippingUSPostalDiagnostics }; result.Add(new DomesticProvider(uspostalGlobal, Factory.CreateEventLogger())); result.Add(new InternationalProvider(uspostalGlobal, Factory.CreateEventLogger())); // Load UPS var upsglobal = new UPSServiceGlobalSettings { AccountNumber = currentStore.Settings.ShippingUpsAccountNumber, LicenseNumber = currentStore.Settings.ShippingUpsLicense, Username = currentStore.Settings.ShippingUpsUsername, Password = currentStore.Settings.ShippingUpsPassword, DefaultPackaging = (PackagingType)currentStore.Settings.ShippingUpsDefaultPackaging, DiagnosticsMode = currentStore.Settings.ShippingUPSDiagnostics, ForceResidential = currentStore.Settings.ShippingUpsForceResidential, IgnoreDimensions = currentStore.Settings.ShippingUpsSkipDimensions, PickUpType = (PickupType)currentStore.Settings.ShippingUpsPickupType }; result.Add(new UPSService(upsglobal, Factory.CreateEventLogger())); // Load UPS Freight var upsFreightGlobal = new UPSFreightServiceGlobalSettings { AccountNumber = currentStore.Settings.ShippingUpsAccountNumber, LicenseNumber = currentStore.Settings.ShippingUpsLicense, Username = currentStore.Settings.ShippingUpsUsername, Password = currentStore.Settings.ShippingUpsPassword, DefaultPackaging = (Hotcakes.Shipping.UpsFreight.PackingTypes)currentStore.Settings.ShippingUpsFreightDefaultPackaging, DiagnosticsMode = currentStore.Settings.ShippingUPSFreightDiagnostics, ForceResidential = currentStore.Settings.ShippingUpsFreightForceResidential, IgnoreDimensions = currentStore.Settings.ShippingUpsFreightSkipDimensions, BillingOption = (Hotcakes.Shipping.UpsFreight.BillingOption)currentStore.Settings.ShippingUpsFreightBillingOption, HandleOneUnitType = (currentStore.Settings.ShippingUpsFreightHandleOneUnitType != string.Empty ? (HandlineOneUnitType)Enum.Parse(typeof(HandlineOneUnitType), currentStore.Settings.ShippingUpsFreightHandleOneUnitType) : HandlineOneUnitType.CBY), FreightClass = currentStore.Settings.ShippingUpsFreightFreightClass }; result.Add(new UPSFreightService(upsFreightGlobal, Factory.CreateEventLogger())); return(result); }