protected void btnTest_Click(object sender, EventArgs e) { this.SaveData(); var testSettings = new FedExGlobalServiceSettings(); testSettings.AccountNumber = this.AccountNumberField.Text; testSettings.DefaultDropOffType = (DropOffType)int.Parse(this.lstDropOffType.SelectedValue); testSettings.DefaultPackaging = (PackageType)int.Parse(this.lstPackaging.SelectedValue); testSettings.DiagnosticsMode = true; testSettings.ForceResidentialRates = this.chkResidential.Checked; testSettings.MeterNumber = this.MeterNumberField.Text.Trim(); testSettings.UseListRates = this.chkListRates.Checked; testSettings.UserKey = this.KeyField.Text.Trim(); testSettings.UserPassword = this.PasswordField.Text.Trim(); var logger = new MerchantTribe.Web.Logging.TextLogger(); var testSvc = new MerchantTribe.Shipping.FedEx.FedExProvider(testSettings, logger); testSvc.Settings.ServiceCode = int.Parse(this.lstServicesTest.SelectedValue); testSvc.Settings.Packaging = (int)testSettings.DefaultPackaging; var testShipment = new Shipment(); testShipment.DestinationAddress = this.DestinationAddress.GetAsAddress(); testShipment.SourceAddress = this.SourceAddress.GetAsAddress(); var testItem = new Shippable(); testItem.BoxHeight = decimal.Parse(this.TestHeight.Text); testItem.BoxLength = decimal.Parse(this.TestLength.Text); testItem.BoxWidth = decimal.Parse(this.TestWidth.Text); testItem.BoxLengthType = LengthType.Inches; testItem.BoxWeight = decimal.Parse(this.TestWeight.Text); testItem.BoxWeightType = MerchantTribe.Shipping.WeightType.Pounds; testShipment.Items.Add(testItem); StringBuilder sb = new StringBuilder(); sb.Append("Starting Rate Test at " + DateTime.Now + "<br />"); var rates = testSvc.RateShipment(testShipment); foreach (var r in rates) { sb.Append("Rate Found: " + r.EstimatedCost.ToString("C") + " | " + r.DisplayName + " (" + r.ServiceCodes + ", " + r.ServiceId + ")<br />"); } sb.Append("<br />"); sb.Append("LOG:<br />"); foreach (var m in logger.Messages) { sb.Append(m + "<br />"); } sb.Append("Finished Rate Test at " + DateTime.Now); this.litTestOuput.Text = sb.ToString(); }
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) { MerchantTribe.Shipping.Shipment shipment = new MerchantTribe.Shipping.Shipment(); shipment.DestinationAddress.CountryData.Name = this.lstCountries.SelectedItem.Value; 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; // Provider MerchantTribe.Web.Logging.TextLogger logger = new MerchantTribe.Web.Logging.TextLogger(); MerchantTribe.Shipping.USPostal.InternationalProvider provider = new InternationalProvider(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>"; } }