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); }
public static bool RequiresShipping(this ShippingCart shippingCart) { return (shippingCart.ShippingCartItems.Any(shippingCartItem => shippingCartItem.ShoppingCartItem.IsShipEnabled)); }