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); }
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); }
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); }
public void ShoppingCartPosition_Should_HasQuantity() { var shoppingCartPosition = new ShoppingCartPosition <Book>(_book, 3); shoppingCartPosition.Quantity.Should().NotBe(0); }
public void ShoppingCartPosition_Should_HasPosition() { var shoppingCartPosition = new ShoppingCartPosition <Book>(_book, 3); shoppingCartPosition.Position.Should().NotBeNull(); }