Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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", "&nbsp;&nbsp;&nbsp;&nbsp;");
                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", "&nbsp;&nbsp;&nbsp;&nbsp;");
                this.litXml.Text += "<li>" + System.Web.HttpUtility.HtmlEncode(tempXml) + "</li>";
            }
        }