public static string GetOrderRequestJson(this HtmlHelper helper, CartOrderDto cart) { var items = new List <CartItemDto>(); if (cart != null) { items = cart.Items; } return(JsonConvert.SerializeObject(cart, Formatting.None)); }
// DELETE: Cart/Delete/id public ActionResult RemoveFromCart(Guid id) { CartOrderDto cart = (CartOrderDto)Session["cart"]; var pizzaToRemove = cart.Items.First(x => x.Pizza.PizzaId == id); pizzaToRemove.Quantity--; if (pizzaToRemove.Quantity == 0) { cart.Items.Remove(pizzaToRemove); } Session["cart"] = cart; if (cart.Items.Count == 0) { Session["cart"] = null; } return(RedirectToAction("Index", "Cart")); }
public void AddToCart(Guid id, string size) { CartOrderDto cart; object sessionCart = Session["cart"]; PizzaDto pizzaToAdd = repository.GetPizza(id); pizzaToAdd.Size = size; if (sessionCart != null) { cart = (CartOrderDto)sessionCart; if (cart.Items.Any(item => item.Pizza.PizzaId == id && item.Pizza.Size == size)) { cart.Items.Find(x => x.Pizza.PizzaId == id && x.Pizza.Size == size).Quantity++; } else { cart.Items.Add(new CartItemDto { Pizza = pizzaToAdd, Quantity = 1 }); } Session["cart"] = cart; } else { cart = new CartOrderDto(); cart.Items.Add(new CartItemDto { Pizza = pizzaToAdd, Quantity = 1 }); Session["cart"] = cart; } }