//Ajoute un item dans le panier public ActionResult AddItem(int idItem) { Item item = db.Items.Find(idItem); if (item == null) { return(HttpNotFound()); } String DropDownValue = Request.Form.Get("DropDownlistClient"); if (String.IsNullOrEmpty(DropDownValue)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } int IdClient = int.Parse(DropDownValue); Client client = db.Clients.Find(IdClient); if (client == null) { return(HttpNotFound()); } PanierItem Panieritem = client.Panier.Items.Find(PanierItem => PanierItem.Item.Id == idItem); if (Panieritem == null) { Panieritem = new PanierItem { Item = item, Qty = 1 }; client.Panier.Items.Add(Panieritem); } else { Panieritem.Qty++; } decimal total = 0; foreach (PanierItem pi in client.Panier.Items) //meilleur dans Commande { total += pi.Item.Prix * pi.Qty; } client.Panier.Total = total; db.Entry(client.Panier).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { Id = client.Panier.Id })); }
public ActionResult Ajouter(int ItemId) { Item ItemChoisi = db.Items.Find(ItemId); string Choix = Request.Form.Get("ClientSelectList"); Client ClientChoisi = null; if (!String.IsNullOrEmpty(Choix)) { ClientChoisi = db.Clients.Find(int.Parse(Choix)); } else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } int quantite = 1; Panier PanierClient = db.Paniers.Find(ClientChoisi.Panier.Id); PanierItem i = PanierClient.PanierItems.Find(PanierItem => PanierItem.Item.Id == ItemId); if (i == null) { PanierItem panierItem = new PanierItem(ItemChoisi, 1); PanierClient.PanierItems.Add(panierItem); //db.Paniers.Add(PanierClient); } else { i.Quantite = (i.Quantite + 1); } // TryUpdateModel(PanierClient); db.Entry(PanierClient).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { id = ClientChoisi.Panier.Id })); }
public ActionResult ModifierQty(int IdPanierItem, int IdPanier, int QtyModif) { Panier panier = db.Paniers.Find(IdPanier); PanierItem panierItem = panier.Items.Find(Pi => Pi.ID == IdPanierItem); if (panierItem.Qty + QtyModif > 0) { panierItem.Qty += QtyModif; } decimal total = 0; foreach (PanierItem pi in panier.Items) { total += pi.Item.Prix * pi.Qty; } panier.Total = total; db.Entry(panier).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { Id = IdPanier })); }