Exemplo n.º 1
0
        public string GetShippingCost(bool useProductShippingCost, string productID, string shippingID, object price)
        {
            decimal shippingCost = 0;
            decimal handlingFee  = 0;
            Product product      = DataAccessContext.ProductRepository.GetOne(
                AdminConfig.CurrentCulture, productID, new StoreRetriever().GetCurrentStoreID());

            CartItem      cartItem      = new CartItem(Cart.Null.CartID, product, 1);
            CartItemGroup cartItemGroup = new CartItemGroup(cartItem);

            ShippingOption shippingOption = DataAccessContext.ShippingOptionRepository.GetOne(
                AdminConfig.CurrentCulture, shippingID);

            if (!shippingOption.IsNull)
            {
                ShippingMethod shippingMethod = shippingOption.CreateNonRealTimeShippingMethod();

                shippingCost = shippingMethod.GetShippingCost(cartItemGroup, WholesaleStatus.Null, 0)
                               + CartItemPromotion.GetShippingCostFromPromotion(shippingMethod,
                                                                                cartItemGroup,
                                                                                WholesaleStatus.Null,
                                                                                0);
                handlingFee = shippingMethod.GetHandlingFee(cartItemGroup, WholesaleStatus.Null);
            }
            return(FormatNumber(shippingCost + handlingFee));
        }