Ejemplo n.º 1
0
 public RedirectToRouteResult AddToCart(Cart cart ,int productId, string returnUrl)
 {
     Product product = repository.Products.FirstOrDefault(p => p.ProductID == productId);
     if (product != null)
     {
         cart.AddItem(product, 1);
     } return RedirectToAction("Index", new { returnUrl });
 }
Ejemplo n.º 2
0
 private Cart GetCart()
 {
     Cart cart = (Cart)Session["Cart"];
     if (cart == null)
     { cart = new Cart();
         Session["Cart"] = cart;
     }
     return cart;
 }
Ejemplo n.º 3
0
 public RedirectToRouteResult RemoveFromCart(Cart cart ,int productId, string returnUrl)
 {
     Product product = repository.Products.FirstOrDefault(p => p.ProductID == productId);
     if (product != null)
     {
         cart.RemoveLine(product);
     }
     return RedirectToAction("Index", new { returnUrl });
 }
Ejemplo n.º 4
0
 public void Can_Clear_Contents()
 {
     // Arrange - create some test products
     Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100M };
     Product p2 = new Product { ProductID = 2, Name = "P2", Price = 50M };
     // Arrange - create a new cart
     Cart target = new Cart();
     // Arrange - add some items
     target.AddItem(p1, 1);
     target.AddItem(p2, 1);
     // Act - reset the cart
     target.Clear();
     // Assert
     Assert.AreEqual(target.Lines.Count(), 0);
 }
Ejemplo n.º 5
0
 public object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext)
 {
     // get the Cart from the session
     if (controllerContext.HttpContext.Session != null)
     {
         Cart cart = (Cart) controllerContext.HttpContext.Session[sessionKey];
         // create the Cart if there wasn't one in the session data
         if (cart == null)
         {
             cart = new Cart();
             controllerContext.HttpContext.Session[sessionKey] = cart;
         }
         // return the cart
         return cart;
     }
 }
Ejemplo n.º 6
0
 public void Can_Add_New_Lines()
 {
     // Arrange - create some test products
     Product p1 = new Product {ProductID = 1, Name = "P1"};
     Product p2 = new Product { ProductID = 2, Name = "P2" };
     // Arrange - create a new cart
     Cart target = new 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);
 }
Ejemplo n.º 7
0
 public ViewResult Index(Cart cart ,string returnUrl)
 {
     return View(new CartIndexViewModel {Cart = cart, ReturnUrl = returnUrl});
 }
Ejemplo n.º 8
0
 public void Can_Remove_Line()
 {
     // Arrange - create some test products
     Product p1 = new Product { ProductID = 1, Name = "P1" };
     Product p2 = new Product { ProductID = 2, Name = "P2" };
     Product p3 = new Product { ProductID = 3, Name = "P3" };
     // Arrange - create a new cart
     Cart target = new Cart();
     // Arrange - add some products to the cart
     target.AddItem(p1, 1);
     target.AddItem(p2, 3);
     target.AddItem(p3, 5);
     target.AddItem(p2, 1);
     // Act
     target.RemoveLine(p2);
     // Assert
     Assert.AreEqual(target.Lines.Count(c => c.Product == p2), 0);
     Assert.AreEqual(target.Lines.Count(), 2);
 }