示例#1
0
        private ShippingOrderItemModel BuildShippingOrderItemModel(ShippingCart shippingCart,
                                                                   List <ShippingCartItem> shippingCartItems, List <ShoppingCartItem> shoppingCartItems)
        {
            var model = new ShippingOrderItemModel
            {
                ShippingCart      = shippingCart,
                ShoppingCartModel = new ShoppingCartModel()
            };
            var cart = new List <ShoppingCartItem>();

            foreach (var shoppingCartItem in shoppingCartItems)
            {
                var count =
                    shippingCartItems.Count(
                        c => c.ShippingCartId == shippingCart.Id && c.ShoppingCartItemId == shoppingCartItem.Id);
                if (count > 0)
                {
                    var modelItem = shoppingCartItem.CloneViaJson();
                    modelItem.Quantity = count;
                    cart.Add(modelItem);
                }
            }
            PrepareShoppingCartModel(model.ShoppingCartModel, cart, false, false, false, false);
            model.OrderTotalsModel = PrepareOrderTotalsModel(cart, new List <ShippingCart>(), false);
            if (model.OrderTotalsModel.OrderTotalValue >= OrderTotalValueForFreeShipping)
            {
                shippingCart.ShippingFee = 0;
            }
            else
            {
                shippingCart.ShippingFee = ShippingFee;
            }
            return(model);
        }
示例#2
0
 public static bool RequiresShipping(this ShippingCart shippingCart)
 {
     return
         (shippingCart.ShippingCartItems.Any(shippingCartItem => shippingCartItem.ShoppingCartItem.IsShipEnabled));
 }