コード例 #1
0
 public RedirectToRouteResult RemoveFromCart(CartRepository cart, int productId, string returnUrl)
 {
     Product product = _repo.Products.SingleOrDefault(p => p.ProductID == productId);
     if (product != default(Product))
         cart.RemoveLine(product);
     return RedirectToAction("Index", new { returnUrl });
 }
コード例 #2
0
ファイル: CartTests.cs プロジェクト: PawelHaracz/SportsStore
        public void Can_Remove_Lines()
        {
            Product p1 = new Product { Name = "P1", ProductID = 1 };
            Product p2 = new Product { Name = "P2", ProductID = 2 };
            Product p3 = new Product { Name = "P3", ProductID = 3 };

            CartRepository target = new CartRepository();

            target.AddItem(p1, 1);
            target.AddItem(p2, 2);
            target.AddItem(p1, 10);
            target.AddItem(p3, 5);

            var results = target.CartLineCollections;

            Assert.AreEqual(results.Count, 3);
            Assert.AreEqual(results[0].Product, p1);
            Assert.AreEqual(results[1].Product, p2);
            Assert.AreEqual(results[2].Product, p3);

            target.RemoveLine(p2);

            results = target.CartLineCollections;

            Assert.AreEqual(results.Count, 2);
            Assert.AreEqual(results[0].Product, p1);
            Assert.AreEqual(results[1].Product, p3);
            Assert.IsFalse(results.Any(p => p.Product.ProductID == p2.ProductID));
        }