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