Example #1
0
        private static void Main()
        {
            var appSettings = ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            var upsLicenseNumber = appSettings["UPSLicenseNumber"];
            var upsUserId        = appSettings["UPSUserId"];
            var upsPassword      = appSettings["UPSPassword"];

            // You will need an account # and meter # to utilize the FedEx provider.
            var fedexKey           = appSettings["FedExKey"];
            var fedexPassword      = appSettings["FedExPassword"];
            var fedexAccountNumber = appSettings["FedExAccountNumber"];
            var fedexMeterNumber   = appSettings["FedExMeterNumber"];
            var fedexHubId         = appSettings["FedExHubId"]; // 5531 is the hubId to use in FedEx's test environment
            var fedexUseProduction = Convert.ToBoolean(appSettings["FedExUseProduction"]);

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            var uspsUserId = appSettings["USPSUserId"];

            // Setup package and destination/origin addresses
            var packages = new List <Package>();

            packages.Add(new Package(12, 12, 12, 35, 150));
            packages.Add(new Package(4, 4, 6, 15, 250));

            var origin      = new Address("", "", "06405", "US");
            var destination = new Address("", "", "20852", "US"); // US Address
            //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address
            //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address
            //var destination = new Address("", "", "SW1E 5JL", "GB"); // UK Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword)
            {
                UseProduction = false
            });
            rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexUseProduction));
            rateManager.AddProvider(new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, fedexUseProduction));
            rateManager.AddProvider(new USPSProvider(uspsUserId));
            rateManager.AddProvider(new USPSInternationalProvider(uspsUserId));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M));

            // Call GetRates()
            var shipment = rateManager.GetRates(origin, destination, packages);

            // Iterate through the rates returned
            foreach (var rate in shipment.Rates)
            {
                Console.WriteLine(rate);
            }

            Console.ReadLine();
        }
Example #2
0
        private static void Main()
        {
            var appSettings = ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            var upsLicenseNumber = appSettings["UPSLicenseNumber"];
            var upsUserId = appSettings["UPSUserId"];
            var upsPassword = appSettings["UPSPassword"];

            // You will need an account # and meter # to utilize the FedEx provider.
            var fedexKey = appSettings["FedExKey"];
            var fedexPassword = appSettings["FedExPassword"];
            var fedexAccountNumber = appSettings["FedExAccountNumber"];
            var fedexMeterNumber = appSettings["FedExMeterNumber"];
            var fedexHubId = appSettings["FedExHubId"];

            // 5531 is the hubId to use in FedEx's test environment

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            var uspsUserId = appSettings["USPSUserId"];

            // Setup package and destination/origin addresses
            var packages = new List<Package>();
            packages.Add(new Package(12, 12, 12, 35, 150));
            packages.Add(new Package(4, 4, 6, 15, 250));

            var origin = new Address("", "", "06405", "US");
            var destination = new Address("", "", "20852", "US"); // US Address
            //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address
            //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address
            //var destination = new Address("", "", "SW1E 5JL", "GB"); // UK Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword) {UseProduction = false});
            rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, false));
            rateManager.AddProvider(new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, false));
            rateManager.AddProvider(new USPSProvider(uspsUserId));
            rateManager.AddProvider(new USPSInternationalProvider(uspsUserId));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M));

            // Call GetRates()
            var shipment = rateManager.GetRates(origin, destination, packages);

            // Iterate through the rates returned
            foreach (var rate in shipment.Rates)
            {
                Console.WriteLine(rate);
            }

            Console.ReadLine();
        }
Example #3
0
        private static void Main()
        {
            NameValueCollection appSettings = ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            string upsLicenseNumber = appSettings["UPSLicenseNumber"];
            string upsUserId        = appSettings["UPSUserId"];
            string upsPassword      = appSettings["UPSPassword"];

            // You will need an account # and meter # to utilize the FedEx provider.
            string fedexKey           = appSettings["FedExKey"];
            string fedexPassword      = appSettings["FedExPassword"];
            string fedexAccountNumber = appSettings["FedExAccountNumber"];
            string fedexMeterNumber   = appSettings["FedExMeterNumber"];

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            string uspsUserId = appSettings["USPSUserId"];

            // Setup package and destination/origin addresses
            var packages = new List <Package>();

            packages.Add(new Package(12, 12, 12, 35, 150));
            packages.Add(new Package(4, 4, 6, 15, 250));

            var origin      = new Address("", "", "06405", "US");
            var destination = new Address("", "", "20852", "US"); // US Address
            //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address
            //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address
            //var destination = new Address("80-100 Victoria St", "", "", "London SW1E 5JL", "", "", "United Kingdom"); // UK Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword)
            {
                UseProduction = false
            });
            rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber));
            rateManager.AddProvider(new USPSProvider(uspsUserId));
            //rateManager.AddProvider(new USPSInternationalProvider(uspsUserId));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M));

            // Call GetRates()
            Shipment shipment = rateManager.GetRates(origin, destination, packages);

            // Iterate through the rates returned
            foreach (Rate rate in shipment.Rates)
            {
                Console.WriteLine(rate);
            }
        }
Example #4
0
        private static void Main()
        {
            NameValueCollection appSettings = ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            string upsLicenseNumber = appSettings["UPSLicenseNumber"];
            string upsUserId = appSettings["UPSUserId"];
            string upsPassword = appSettings["UPSPassword"];

            // You will need an account # and meter # to utilize the FedEx provider.
            string fedexKey = appSettings["FedExKey"];
            string fedexPassword = appSettings["FedExPassword"];
            string fedexAccountNumber = appSettings["FedExAccountNumber"];
            string fedexMeterNumber = appSettings["FedExMeterNumber"];

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            string uspsUserId = appSettings["USPSUserId"];

            // Setup package and destination/origin addresses
            var packages = new List<Package>();
            packages.Add(new Package(12, 12, 12, 35, 150));
            packages.Add(new Package(4, 4, 6, 15, 250));

            var origin = new Address("", "", "06405", "US");
            var destination = new Address("", "", "20852", "US"); // US Address
            //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address
            //var destination = new Address("80-100 Victoria St", "", "", "London SW1E 5JL", "", "", "United Kingdom"); // UK Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword));
            rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber));
            rateManager.AddProvider(new USPSProvider(uspsUserId));
            //rateManager.AddProvider(new USPSInternationalProvider(uspsUserId));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M));

            // Call GetRates()
            Shipment shipment = rateManager.GetRates(origin, destination, packages);

            // Iterate through the rates returned
            foreach (Rate rate in shipment.Rates)
            {
                Console.WriteLine(rate);
            }
        }
        public ActionResult Test()
        {
            System.Collections.Specialized.NameValueCollection appSettings = System.Configuration.ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            string upsLicenseNumber = appSettings["UPSLicenseNumber"];
            string upsUserId        = appSettings["UPSUserId"];
            string upsPassword      = appSettings["UPSPassword"];

            // You will need an account # and meter # to utilize the FedEx provider.
            string fedexKey           = appSettings["FedExKey"];
            string fedexPassword      = appSettings["FedExPassword"];
            string fedexAccountNumber = appSettings["FedExAccountNumber"];
            string fedexMeterNumber   = appSettings["FedExMeterNumber"];

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            string uspsUserId = appSettings["USPSUserId"];

            // Setup package and destination/origin addresses
            var packages = new List <Package>();

            packages.Add(new Package(12, 12, 12, 35, 150));
            packages.Add(new Package(4, 4, 6, 15, 250));

            var origin      = new Address("", "", "06405", "US");
            var destination = new Address("", "", "20852", "US"); // US Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new DotNetShipping.ShippingProviders.UPSProvider(upsLicenseNumber, upsUserId, upsPassword));
            //rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber));
            //rateManager.AddProvider(new USPSProvider(uspsUserId));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M));

            // Call GetRates()
            Shipment shipment = rateManager.GetRates(origin, destination, packages);

            // Iterate through the rates returned
            foreach (Rate rate in shipment.Rates)
            {
                Console.WriteLine(rate);
            }
            return(View());
        }
Example #6
0
        private static void Start()
        {
            var appSettings = ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            var upsLicenseNumber = "############";
            var upsUserId        = "############";
            var upsPassword      = ("############*");

            // You will need an account # and meter # to utilize the FedEx provider.
            var fedexKey           = "############"; //Test Key: "ffMloFez7JlC6YaK";
            var fedexPassword      = "******"; //Test Password: "******";
            var fedexAccountNumber = "############";
            var fedexMeterNumber   = "############"; //Productin Meter#:"118918154";
            var fedexHubId         = "5531";         // 5531 is the hubId to use in FedEx's test environment
            var fedexUseProduction = true;           //Convert.ToBoolean(appSettings["FedExUseProduction"]);

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            var uspsUserId = "############";


            //Gets state zipcode for destination (required by UPS for negotiated rates)
            var myZips        = new ZipTastic.getZipInfo();
            var myZipCodeData = new iZip();

            try { myZipCodeData = myZips.getZipData(zipcode, "US"); }catch (Exception e) { try { myZipCodeData = myZips.getZipData(zipcode, "CA"); } catch (Exception l) { MessageBox.Show("Please enter a valid zipcode."); return; } }



            // Sets package destination/ origin addresses
            //       origin: hard coded to Humboldt
            var origin      = new Address("", "", "#####", "US", false);
            var destination = new Address("", myZipCodeData.state_short, zipcode, myZipCodeData.country, res); // US Address
            //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address
            //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address
            //var destination = new Address("", "", "SW1E 5JL", "GB"); // UK Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword)
            {
                UseProduction = true
            });
            //rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword, "UPS Ground"));
            rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexUseProduction, res));
            rateManager.AddProvider(new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, fedexUseProduction));
            rateManager.AddProvider(new USPSProvider(uspsUserId, "Priority Commercial"));
            //rateManager.AddProvider(new USPSInternationalProvider(uspsUserId));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(1.05M));

            // Call GetRates()
            var shipment = rateManager.GetRates(origin, destination, packages);

            if (shipment.Rates.Count == 0)
            {
                MessageBox.Show("Something went wrong, Check inputs");
            }

            decimal[] rates = new decimal[shipment.Rates.Count];

            string result = "";


            shipment.Rates.Sort((x, y) => decimal.Compare(x.TotalCharges, y.TotalCharges));


            foreach (var rate in shipment.Rates)
            {
                result += rate.Name + Environment.NewLine + "         $" + rate.TotalCharges.ToString("#,##0.00") + Environment.NewLine;
            }
            if (result != "")
            {
                MessageBox.Show(result);
            }



            //string restart = Console.ReadLine();

            //if(restart.ToLower() == "y")
            //{
            //    Console.WriteLine();
            //    Main();
            //};
        }
Example #7
0
        static async Task Main()
        {
            var appSettings = ConfigurationManager.AppSettings;

            // You will need a license #, userid and password to utilize the UPS provider.
            var upsLicenseNumber = appSettings["UPSLicenseNumber"];
            var upsUserId        = appSettings["UPSUserId"];
            var upsPassword      = appSettings["UPSPassword"];

            // You will need an account # and meter # to utilize the FedEx provider.
            var fedexKey           = appSettings["FedExKey"];
            var fedexPassword      = appSettings["FedExPassword"];
            var fedexAccountNumber = appSettings["FedExAccountNumber"];
            var fedexMeterNumber   = appSettings["FedExMeterNumber"];
            var fedexHubId         = appSettings["FedExHubId"]; // 5531 is the hubId to use in FedEx's test environment
            var fedexUseProduction = Convert.ToBoolean(appSettings["FedExUseProduction"]);

            // You will need a userId to use the USPS provider. Your account will also need access to the production servers.
            var uspsUserId = appSettings["USPSUserId"];

            // You will need a Site ID and Password to use DHL provider.
            var dhlSiteId   = appSettings["DHLSiteId"];
            var dhlPassword = appSettings["DHLPassword"];

            // Setup package and destination/origin addresses
            var packages = new List <Package>
            {
                new Package(12, 12, 12, 35, 150),
                new Package(4, 4, 6, 15, 250)
            };

            var origin      = new Address("", "", "06405", "US");
            var destination = new Address("", "", "20852", "US"); // US Address
            //var origin = new Address("Amsterdam", "", "1043 AG", "NL"); // Netherlands Address
            //var destination  = new Address("London", "", "SW1A 2AA", "GB"); // Great Britain Address
            //var destination = new Address("", "", "88888", "US"); // Wrong US Address
            //var destination = new Address("Domont", "", "95330", "FR"); // France Address
            //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address
            //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address
            //var destination = new Address("", "", "SW1E 5JL", "GB"); // UK Address
            //var destination = new Address("", "", "1042 AG", "NL");   // Netherlands Address

            // Create RateManager
            var rateManager = new RateManager();

            // Add desired DotNetShippingProviders
            rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword)
            {
                UseProduction = false
            });
            rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexUseProduction));
            rateManager.AddProvider(new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, fedexUseProduction));
            rateManager.AddProvider(new USPSProvider(uspsUserId));
            rateManager.AddProvider(new USPSInternationalProvider(uspsUserId));

            var dhlConfiguration = new DHLProviderConfiguration(dhlSiteId, dhlPassword, useProduction: false)
                                   .ExcludeServices(new char[] { 'C' });

            rateManager.AddProvider(new DHLProvider(dhlConfiguration));

            // (Optional) Add RateAdjusters
            rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M));

            // Call GetRates()
            var shipment = await rateManager.GetRatesAsync(origin, destination, packages,
                                                           new ShipmentOptions()
            {
                SaturdayDelivery = true
            });

            // Iterate through the rates returned
            foreach (var rate in shipment.Rates)
            {
                Console.WriteLine(rate);
            }

            // Iterate through the errors returned
            if (shipment.Errors.Count > 0)
            {
                Console.WriteLine("Errors:");
                foreach (var error in shipment.Errors)
                {
                    Console.WriteLine(error.Number);
                    Console.WriteLine(error.Source);
                    Console.WriteLine(error.Description);
                }
            }

            // Iterate through the internal errors
            if (shipment.InternalErrors.Count > 0)
            {
                Console.WriteLine("Internal Errors:");
                foreach (var error in shipment.InternalErrors)
                {
                    Console.WriteLine(error);
                }
            }

            Console.WriteLine("Done!");
        }