public void RemoveShoppingCartLineItem(ShoppingCart cart, ShoppingCart.LineItem item)
 {
     item.Quantity--;
     if (item.Quantity == 0)
     {
         cart.LineItems.Remove(item);
     }
 }
        public static void AddShoppingCartLineItem(this ShoppingCart cart, Product product, string productVariantName)
        {
            var productVariant = product.ProductVariants.Single(x => x.Name == productVariantName);
            var existing       = cart.LineItems.SingleOrDefault(x => x.ProductVariantName == productVariant.Name);

            if (existing != null)
            {
                existing.Quantity++;
                return;
            }

            var lineItem = new ShoppingCart.LineItem
            {
                UnitPrice          = productVariant.Price,
                ProductId          = product.Id,
                ProductName        = product.Name,
                ProductVariantName = productVariant.Name,
                Quantity           = 1
            };

            cart.LineItems.Add(lineItem);
        }