示例#1
0
        public decimal GetPrice(Delivery delivery, string currencyCode)
        {
            decimal decRate = 0;
            try
            {
                ShipmentCarrier scCarrier = new ShipmentCarrier();
                string strShippingOptionName = "";
                switch (delivery.ShippingOption.ShippingOptionName)
                {
                    case "Multi-FedExPriorityOvernight":
                        strShippingOptionName = "Priority Overnight";
                        scCarrier = ShipmentCarrier.FedEx;
                        break;
                    case "Multi-FedExStandardOvernight":
                        strShippingOptionName = "Standard Overnight";
                        scCarrier = ShipmentCarrier.FedEx;
                        break;
                    case "Multi-UPSNextDayAirSaver":
                        strShippingOptionName = "UPS  Next Day Air Saver®";
                        scCarrier = ShipmentCarrier.UPS;
                        break;
                    case "Multi-UPSNextDayAir":
                        strShippingOptionName = "UPS Next Day Air®";
                        scCarrier = ShipmentCarrier.UPS;
                        break;
                    case "Multi-USPSFirstClassMail":
                        strShippingOptionName = "First-Class Mail";
                        scCarrier = ShipmentCarrier.USPS;
                        break;
                    case "Multi-USPSPriorityMail2-Day":
                        strShippingOptionName = "Priority Mail 2-Day";
                        scCarrier = ShipmentCarrier.USPS;
                        break;
                    case "Multi-USPSPriorityMailExpress1-Day":
                        strShippingOptionName = "Priority Mail Express 1-Day";
                        scCarrier = ShipmentCarrier.USPS;
                        break;
                }

                Rates objRates = new Rates();

                CurrentUserInfo uinfo = MembershipContext.AuthenticatedUser;

                switch (scCarrier)
                {
                    case ShipmentCarrier.FedEx:
                        decRate = GetFedExRate(objRates, uinfo, delivery, strShippingOptionName);
                        break;
                    case ShipmentCarrier.UPS:
                        decRate = GetUPSRate(objRates, uinfo, delivery, strShippingOptionName);
                        break;
                    case ShipmentCarrier.USPS:
                        decRate = GetUSPSRate(objRates, uinfo, delivery, strShippingOptionName);
                        break;
                    default:
                        decRate = 10; //Set a default shipping rate in case there is an issue.
                        break;
                }
            }
            catch (Exception ex)
            {
                //Log the error
                EventLogProvider.LogException("MultiCarrier - GetPrice", "EXCEPTION", ex);
                //Set some base rate for the shipping
                decRate = 10;
            }
            return decRate;
        }
示例#2
0
        public decimal GetPrice(Delivery delivery, string currencyCode)
        {
            decimal decRate = 0;

            try
            {
                ShipmentCarrier scCarrier             = new ShipmentCarrier();
                string          strShippingOptionName = "";
                switch (delivery.ShippingOption.ShippingOptionName)
                {
                case "Multi-FedExPriorityOvernight":
                    strShippingOptionName = "Priority Overnight";
                    scCarrier             = ShipmentCarrier.FedEx;
                    break;

                case "Multi-FedExStandardOvernight":
                    strShippingOptionName = "Standard Overnight";
                    scCarrier             = ShipmentCarrier.FedEx;
                    break;

                case "Multi-UPSNextDayAirSaver":
                    strShippingOptionName = "UPS  Next Day Air Saver®";
                    scCarrier             = ShipmentCarrier.UPS;
                    break;

                case "Multi-UPSNextDayAir":
                    strShippingOptionName = "UPS Next Day Air®";
                    scCarrier             = ShipmentCarrier.UPS;
                    break;

                case "Multi-USPSFirstClassMail":
                    strShippingOptionName = "First-Class Mail";
                    scCarrier             = ShipmentCarrier.USPS;
                    break;

                case "Multi-USPSPriorityMail2-Day":
                    strShippingOptionName = "Priority Mail 2-Day";
                    scCarrier             = ShipmentCarrier.USPS;
                    break;

                case "Multi-USPSPriorityMailExpress1-Day":
                    strShippingOptionName = "Priority Mail Express 1-Day";
                    scCarrier             = ShipmentCarrier.USPS;
                    break;
                }

                Rates objRates = new Rates();

                CurrentUserInfo uinfo = MembershipContext.AuthenticatedUser;

                switch (scCarrier)
                {
                case ShipmentCarrier.FedEx:
                    decRate = GetFedExRate(objRates, uinfo, delivery, strShippingOptionName);
                    break;

                case ShipmentCarrier.UPS:
                    decRate = GetUPSRate(objRates, uinfo, delivery, strShippingOptionName);
                    break;

                case ShipmentCarrier.USPS:
                    decRate = GetUSPSRate(objRates, uinfo, delivery, strShippingOptionName);
                    break;

                default:
                    decRate = 10;     //Set a default shipping rate in case there is an issue.
                    break;
                }
            }
            catch (Exception ex)
            {
                //Log the error
                EventLogProvider.LogException("MultiCarrier - GetPrice", "EXCEPTION", ex);
                //Set some base rate for the shipping
                decRate = 10;
            }
            return(decRate);
        }