public async System.Threading.Tasks.Task <RedirectToRouteResult> AddToCart(Domain.Entities.Cart cart, int productId, string returnUrl) { string key = ConfigurationManager.AppSettings.Get("ProductListCacheKey"); IEnumerable <Domain.Entities.Product> productList = await _productRepository.Products(key); Domain.Entities.Product product = productList.FirstOrDefault(p => p.ProductId == productId); if (product != null) { cart.AddItem(product, 1); } return(RedirectToAction("Index", new { returnUrl })); }
public void Add_New_Lines() { //Arrnage Product P1 = new Product { ProductID = 1, Name = "P1" }; Product P2 = new Product { ProductID = 2, Name = "P2" }; //Arrange - new Cart SportsStore.Domain.Entities.Cart target = new Domain.Entities.Cart(); //Act target.AddItem(P1, 1); target.AddItem(P2, 1); CartLine[] results = target.Lines.ToArray(); //ASsert Assert.AreEqual(results.Length, 2); Assert.AreEqual(results[0].Product, P1); Assert.AreEqual(results[1].Product, P2); }
//Combine public void Can_Add_Quantity_For_Exisiting_Lines() { //Arrange Product p1 = new Product { ProductID = 1, Name = "p1" }; Product p2 = new Product { ProductID = 2, Name = "p2" }; //Act SportsStore.Domain.Entities.Cart target = new Domain.Entities.Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 10); CartLine[] result = target.Lines.OrderBy(a => a.Product.ProductID).ToArray(); //Asset Assert.AreEqual(result.Length, 2); Assert.AreEqual(result[0].Qunatity, 11); Assert.AreEqual(result[1].Qunatity, 1); }