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)); }