public void Add(int productVariantId)
        {
            List <ShoppingCartPosition> shoppingCart = GetShoppingCart();
            ProductVariant productVariant            = db.ProductsVariant.Where(p => p.ProductVariantId == productVariantId).SingleOrDefault();

            if (productVariant != null)
            {
                ShoppingCartPosition shoppingCartPosition = shoppingCart.Find(s => s.ProductVariant.ProductVariantId == productVariantId);

                if (shoppingCartPosition != null)
                {
                    shoppingCartPosition.Quantity++;
                }
                else
                {
                    ShoppingCartPosition shoppingCartPositionNew = new ShoppingCartPosition()
                    {
                        ProductVariant = productVariant, Quantity = 1, Price = productVariant.Product.Price
                    };
                    shoppingCart.Add(shoppingCartPositionNew);
                }
            }

            session.Set <List <ShoppingCartPosition> >(Consts.ShoppingCartSessionKey, shoppingCart);
        }
Beispiel #2
0
        public void SubtractQuantity_Should_DecreaseQuantity(int value)
        {
            var shoppingCartPosition = new ShoppingCartPosition <Book>(_book, 10);

            shoppingCartPosition.SubtractQuantity(value);
            var expected = shoppingCartPosition.Quantity -= value;

            shoppingCartPosition.Quantity.Should().Be(expected);
        }
Beispiel #3
0
        public ShoppingCartPositionTests()
        {
            var category = new Category("Adventures");
            var authors  = new List <Author>
            {
                new Author("Jack", "London")
            };

            _book = new Book("Robinson Crusoe", category, 20, authors);
            _book.Stock.SetQuantity(10);
            _shoppingCartPosition = new ShoppingCartPosition <Book>(_book, 1);
        }
        public int Remove(int productVariantId)
        {
            List <ShoppingCartPosition> shoppingCart = GetShoppingCart();

            if (shoppingCart.Count != 0)
            {
                ShoppingCartPosition shoppingCartPosition = shoppingCart.Find(s => s.ProductVariant.ProductVariantId == productVariantId);

                if (shoppingCartPosition != null)
                {
                    if (shoppingCartPosition.Quantity > 1)
                    {
                        shoppingCartPosition.Quantity--;
                        return(shoppingCartPosition.Quantity);
                    }
                    else
                    {
                        shoppingCart.Remove(shoppingCartPosition);
                    }
                }
            }

            return(0);
        }
Beispiel #5
0
        public void ShoppingCartPosition_Should_HasQuantity()
        {
            var shoppingCartPosition = new ShoppingCartPosition <Book>(_book, 3);

            shoppingCartPosition.Quantity.Should().NotBe(0);
        }
Beispiel #6
0
        public void ShoppingCartPosition_Should_HasPosition()
        {
            var shoppingCartPosition = new ShoppingCartPosition <Book>(_book, 3);

            shoppingCartPosition.Position.Should().NotBeNull();
        }