Exemple #1
0
        /// <summary>
        /// Creates the cart.
        /// </summary>
        /// <returns>Cart with one line item.</returns>
        public Cart CreateCart()
        {
            var shoppingCartId = GenerateTransactionId();
            var cart           = new Cart
            {
                Id         = shoppingCartId,
                CustomerId = this.Customer.AccountNumber,
                CartType   = CartType.Checkout
            };

            OrderManager.CreateOrUpdateCart(cart, 0);

            //// get cart line from the product
            var variants  = this.Product.CompositionInformation.VariantInformation.IndexedVariants;
            var variantId = variants.Keys.FirstOrDefault();

            var productVariant = variants[variantId];

            var cartLines = new Collection <CartLine>();
            var cartLine  = new CartLine();

            var cartLineData = new CartLineData
            {
                ItemId = productVariant.ItemId,
                InventoryDimensionId = productVariant.InventoryDimensionId,
                ProductId            = productVariant.DistinctProductVariantId,
                Quantity             = 1,
                Comment            = string.Empty,
                ["ProductDetails"] = string.Empty
            };

            cartLine.LineData = cartLineData;
            cartLines.Add(cartLine);

            var modes = CalculationModes.Totals | CalculationModes.Discounts | CalculationModes.Prices;

            return(OrderManager.AddCartLines(shoppingCartId, this.Customer.AccountNumber, cartLines, new CalculationModes?(modes)));
        }