//public JsonResult GetListeRestaurants(int? idTypeCuisine, idRestaurant) //{ // SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); // List<ProduitPanier> panier = null; // if (sessionUtilisateur != null) // { // if (HttpContext.Application[idsession] != null) // { // panier = (List<ProduitPanier>)HttpContext.Application[idsession]; // } // } // return Json(panier, JsonRequestBehavior.AllowGet); //} public JsonResult AddMenu(int IdMenu, List <int> IdProduits, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); PanierModel produitPaniers = null; if (sessionUtilisateur != null) { if (HttpContext.Application[idsession] != null) { produitPaniers = (PanierModel)HttpContext.Application[idsession]; } else { produitPaniers = new PanierModel(); } Menu menu = db.Menus.Find(IdMenu); if (menu != null) { MenuPanier menuPanier = new MenuPanier(); menuPanier.IdMenu = IdMenu; foreach (int IdProduit in IdProduits) { ProduitPanier produitPanier = FindProduit(IdProduit); if (produitPanier != null) { menuPanier.produits.Add(produitPanier); } } produitPaniers.Add(menuPanier); } HttpContext.Application[idsession] = produitPaniers; } return(Json(produitPaniers.Quantite, JsonRequestBehavior.AllowGet)); }
public JsonResult AddProduit(int idProduit, string idSession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); List <ProduitPanier> panier = (List <ProduitPanier>)HttpContext.Application[idSession] ?? new List <ProduitPanier>(); if (sessionUtilisateur != null) { Produit produit = db.Produits.First(p => p.IdProduit == idProduit); ProduitPanier produitPanier = new ProduitPanier() { IdProduit = produit.IdProduit, Nom = produit.Nom, Description = produit.Description, Quantite = produit.Quantite, Prix = produit.Prix, Photo = produit.Photos.FirstOrDefault()?.Nom ?? "default.jpg" }; panier.Add(produitPanier); HttpContext.Application[idSession] = panier; } return(Json(panier.Count, JsonRequestBehavior.AllowGet)); }
public IActionResult AddProduit(int id) { Panier panier = HttpContext.Session.GetString("panier") != null?JsonConvert.DeserializeObject <Panier>(HttpContext.Session.GetString("panier")) : new Panier(); Produit p = DataBaseContext.Instance.Produits.FirstOrDefault(x => x.Id == id); if (p != null) { ProduitPanier pPanier = panier.produits.FirstOrDefault(x => x.ProduitId == p.Id); if (pPanier != null) { pPanier.Qty++; } else { pPanier = new ProduitPanier { ProduitId = p.Id, produit = p, Qty = 1 }; panier.produits.Add(pPanier); } } HttpContext.Session.SetString("panier", JsonConvert.SerializeObject(panier)); return(RedirectToAction("Index")); }
public JsonResult AddProduit(int p, string s) { string IdSession = Cryptage.Decrypt(s); SessionUtilisateur sessionUtilisateur = daoUtilisateur.GetSessionUtilisateur(IdSession); Panier panier = GetPanier(sessionUtilisateur.IdSession); bool isReturnOk = false; if (sessionUtilisateur != null && panier != null && p > 0) { ProduitPanier produitPanier = FindProduit(p); if (produitPanier != null) { if (panier.IdRestaurant == 0) { panier.IdRestaurant = produitPanier.IdRestaurant; panier.AddItem(produitPanier); isReturnOk = true; } else if (panier.IdRestaurant == produitPanier.IdRestaurant) { panier.AddItem(produitPanier); isReturnOk = true; } } HttpContext.Application[sessionUtilisateur.IdSession] = panier; } string jsonPanier = Newtonsoft.Json.JsonConvert.SerializeObject(panier); return(Json(new { isReturnOk, qte = panier.Quantite, total = panier.Total, monpanier = jsonPanier }, JsonRequestBehavior.AllowGet)); }
public JsonResult RemoveProduit(int IdProduit, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); Panier panier = (Panier)HttpContext.Application[idsession]; ProduitPanier produitPanier = new ProduitPanier(); int quantite = 0; var prod = panier.Find(p => p.GetIdProduit() == IdProduit); if (prod != null && panier.Count > 1) { prod.Quantite--; quantite -= prod.Quantite; } else if (prod != null && panier.Count > 0) { panier.Remove(produitPanier); quantite -= produitPanier.Quantite; } HttpContext.Application[idsession] = panier; return(Json(quantite, JsonRequestBehavior.AllowGet)); }
//JSON ADD PRODUIT public JsonResult AddProduit(int IdProduit, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); PanierModel panier = GetPanier(idsession); bool isReturnOk = true; if (sessionUtilisateur != null && panier != null && IdProduit > 0) { ProduitPanier produitPanier = FindProduit(IdProduit); if (produitPanier != null) { if (panier.IdRestaurant == 0) { panier.IdRestaurant = produitPanier.IdRestaurant; panier.AddItem(produitPanier); } else if (panier.IdRestaurant == produitPanier.IdRestaurant) { panier.AddItem(produitPanier); isReturnOk = false; } } //Je sauve mon panier en session HttpContext.Application[idsession] = panier; } // Je retourne en Json le nombre de ligne return(Json(new { returnOk = isReturnOk, qte = panier.Quantite, montant = panier.Montant }, JsonRequestBehavior.AllowGet)); }
//ADD PRODUIT public JsonResult AddProduit(int IdProduit, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); List <ProduitPanier> produitPaniers = null; if (sessionUtilisateur != null) { if (HttpContext.Application[idsession] != null) { produitPaniers = (List <ProduitPanier>)HttpContext.Application[idsession]; } else { produitPaniers = new List <ProduitPanier>(); } Produit produit = db.Produits.Find(IdProduit); ProduitPanier produitPanier = new ProduitPanier(); produitPanier.IdProduit = IdProduit; produitPanier.Nom = produit.Nom; produitPanier.Description = produit.Description; produitPanier.Quantite = 1; produitPanier.Prix = produit.Prix; produitPanier.Photo = produit.Photos.First().Nom; produitPaniers.Add(produitPanier); HttpContext.Application[idsession] = produitPaniers; } return(Json(produitPaniers.Count, JsonRequestBehavior.AllowGet)); }
public JsonResult AddProduit(int IdProduit, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); Panier panier = GetPanier(idsession); bool isReturnOk = false; if (sessionUtilisateur != null && panier != null && IdProduit > 0) { ProduitPanier produitPanier = FindProduit(IdProduit); if (produitPanier != null) { if (panier.IdRestaurant == 0) { panier.IdRestaurant = produitPanier.IdRestaurant; panier.AddItem(produitPanier); isReturnOk = true; } else if (panier.IdRestaurant == produitPanier.IdRestaurant) { panier.AddItem(produitPanier); isReturnOk = true; } } HttpContext.Application[idsession] = panier; } return(Json(new { isReturnOk, qte = panier.Quantite, total = panier.Total }, JsonRequestBehavior.AllowGet)); }
public JsonResult RemoveProduit(int idProduit, string idSession) { /*SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); * * if (sessionUtilisateur == null) * { * Response.StatusCode = (int)HttpStatusCode.BadRequest; * return Json("Session incorrecte", JsonRequestBehavior.AllowGet); * }*/ PanierModel panier = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); Produit produit = db.Produits.Find(idProduit); if (produit == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json($"Produit #{idProduit} non trouvé", JsonRequestBehavior.AllowGet)); } ProduitPanier produitPanier = CreateProduitPanier(produit); int quantiteProduit = panier.RemoveItem(produitPanier); HttpContext.Application[idSession] = panier; var data = new { quantiteProduit, quantiteTotale = panier.QuantiteTotale, prixTotal = panier.Montant, prixTotalFormat = String.Format(CultureInfo.GetCultureInfo("fr-FR"), "{0:0.00}", panier.Montant) }; return(Json(data, JsonRequestBehavior.AllowGet)); }
public JsonResult AddMenu(int idMenu, List <int> idProduits, string idSession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); PanierModel panier = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); if (sessionUtilisateur == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Session incorrecte", JsonRequestBehavior.AllowGet)); } Menu menu = db.Menus.Find(idMenu); if (menu == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json($"Menu #{idMenu} non trouvé", JsonRequestBehavior.AllowGet)); } MenuPanier menuPanier = new MenuPanier(); menuPanier.IdMenu = idMenu; menuPanier.Quantite = 1; menuPanier.IdRestaurant = menu.IdRestaurant; foreach (int idProduit in idProduits) { Produit produit = db.Produits.Find(idProduit); if (produit == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json($"Produit #{idProduit} non trouvé", JsonRequestBehavior.AllowGet)); } ProduitPanier produitPanier = CreateProduitPanier(produit); menuPanier.Produits.Add(produitPanier); menuPanier.Quantite++; panier.AddItem(menuPanier); } HttpContext.Application[idSession] = panier; var data = new { quantiteProduit = menuPanier.Quantite, quantiteTotale = panier.QuantiteTotale, prixTotal = panier.Montant, prixTotalFormat = string.Format(CultureInfo.GetCultureInfo("fr-FR"), "{0:0.00}", panier.Montant) }; return(Json(data, JsonRequestBehavior.AllowGet)); }
public JsonResult Hasard(int idfood, int idboisson, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); List <ProduitPanier> produitPaniers = null; int quantite = 0; if (sessionUtilisateur != null) { if (HttpContext.Application[idsession] != null) { produitPaniers = (List <ProduitPanier>)HttpContext.Application[idsession]; } else { produitPaniers = new List <ProduitPanier>(); } var prod = produitPaniers.Find(p => p.IdProduit == idfood || p.IdProduit == idboisson); if (prod != null) { prod.Quantite++; quantite += prod.Quantite; HttpContext.Application[idsession] = produitPaniers; return(Json(quantite, JsonRequestBehavior.AllowGet)); } Produit produit = db.Produits.Find(idfood, idboisson); foreach (ProduitPanier item in produitPaniers) { //item.IdProduit = idfood || item.IdProduit = idboisson; } ProduitPanier produitPanier = new ProduitPanier(); produitPanier.IdProduit = idfood; produitPanier.Nom = produit.Nom; produitPanier.Description = produit.Description; produitPanier.Quantite = 1; produitPanier.Prix = produit.Prix; produitPanier.Photo = produit.Photos.First().Nom; produitPanier.IdRestaurant = produit.IdRestaurant; produitPaniers.Add(produitPanier); quantite++; HttpContext.Application[idsession] = produitPaniers; } var rnd = new Random(); var first = db.Produits.Where(p => p.Categorie.IdCategorie == 3 || p.Categorie.IdCategorie == 5 || p.Categorie.IdCategorie == 7 || p.Categorie.IdCategorie == 8 || p.Categorie.IdCategorie == 9).OrderBy(p => rnd.Next()); var second = db.Produits.Where(p => p.IdCategorie == 2).OrderBy(p => rnd.Next()); return(Json(quantite, JsonRequestBehavior.AllowGet)); }
public JsonResult AddProduit(int idProduit, string idSession, int quantite = 1) { /*SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); * * if (sessionUtilisateur == null) * { * Response.StatusCode = (int)HttpStatusCode.Unauthorized; * return Json("Session incorrecte", JsonRequestBehavior.AllowGet); * }*/ PanierModel panier = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); Produit produit = db.Produits.Find(idProduit); if (produit == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json($"Produit #{idProduit} non trouvé", JsonRequestBehavior.AllowGet)); } if (produit.Quantite <= 0) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json($"Produit #{idProduit} indisponible", JsonRequestBehavior.AllowGet)); } if (panier.IdRestaurant != 0 && panier.QuantiteTotale > 0 && panier.IdRestaurant != produit.IdRestaurant) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Impossible d'ajouter au panier un produit d'un autre restaurant", JsonRequestBehavior.AllowGet)); } ProduitPanier produitPanier = CreateProduitPanier(produit, quantite); panier.IdRestaurant = produit.IdRestaurant; int quantiteProduit = panier.AddItem(produitPanier); HttpContext.Application[idSession] = panier; var data = new { quantiteProduit, quantiteTotale = panier.QuantiteTotale, prixTotal = panier.Montant, prixTotalFormat = string.Format(CultureInfo.GetCultureInfo("fr-FR"), "{0:0.00}", panier.Montant) }; return(Json(data, JsonRequestBehavior.AllowGet)); }
private ProduitPanier CreateProduitPanier(Produit produit, int quantite = 1) { var produitPanier = new ProduitPanier() { IdProduit = produit.IdProduit, IdRestaurant = produit.IdRestaurant, Nom = produit.Nom, Description = produit.Description, Quantite = quantite, Prix = produit.Prix, Photo = produit.Photos.FirstOrDefault()?.Nom ?? "DefaultProduit.jpg" }; return(produitPanier); }
public JsonResult AddMenu(int idMenu, List <int> idProduits, string idSession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); PanierModel panierModel = null; if (sessionUtilisateur != null) { if (HttpContext.Application[idSession] != null) { panierModel = (PanierModel)HttpContext.Application[idSession]; } else { panierModel = new PanierModel(); } //si le menu n'est pas présent dans le panier je le récupère Menu menu = db.Menus.Find(idMenu); MenuPanier menuPanier = new MenuPanier(); menuPanier.IdMenu = idMenu; if (menu != null) { foreach (int idProduit in idProduits) { ProduitPanier produitPanier = FindProduit(idProduit); if (produitPanier != null) { menuPanier.produits.Add(produitPanier); } } panierModel.Add(menuPanier); } panierModel.GetQuantite(); //Je sauve mon panier en session HttpContext.Application[idSession] = panierModel; } //Je retourne en Json le nombre de lignes return(Json(panierModel.Quantite, JsonRequestBehavior.AllowGet)); }
//méthode qui récupère toutes les données liées à un produit et les ajoute à un objet de type ProduitPanier private ProduitPanier FindProduit(int idProduit) { Produit produit = db.Produits.Find(idProduit); ProduitPanier produitPanier = new ProduitPanier(); if (produit != null) { produitPanier.IdProduit = idProduit; produitPanier.Nom = produit.Nom; produitPanier.Description = produit.Description; produitPanier.Quantite = 1; produitPanier.Prix = produit.Prix; produitPanier.Photo = produit.Photos.First().Nom ?? "~/Images/plats/default_image(p).png"; produitPanier.IdRestaurant = produit.IdRestaurant; } return(produitPanier); }
//ajout d'un menu au panier public JsonResult AddMenu(int idMenu, List <int> idProduits, string idSession) { PanierHtml panierHtml = new PanierHtml(); SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(idSession); PanierModel panierModel = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); panierModel.IdRestaurant = 0; if (sessionUtilisateur != null && idMenu > 0 && idProduits.Count > 0) { Menu menu = db.Menus.Find(idMenu); panierModel.IdRestaurant = menu.IdRestaurant; if (menu != null) { //creation du menu MenuPanier menuPanier = new MenuPanier(); menuPanier.IdMenu = idMenu; menuPanier.Nom = menu.Nom; menuPanier.Prix = menu.Prix; menuPanier.Quantite = 1; menuPanier.IdRestaurant = menu.IdRestaurant; //ajout des produits selectionnés dans le menu foreach (int idProduit in idProduits) { ProduitPanier produitPanier = FindProduit(idProduit); if (produitPanier != null) { menuPanier.produits.Add(produitPanier); } } //ajout du menu avec ces produits dans le panier panierModel.AddItem(menuPanier); } HttpContext.Application[idSession] = panierModel; panierHtml = ShowPanier(panierModel); } return(Json(new { panier = panierHtml.hmtl, total = string.Format("{0:0.00}", panierHtml.total) }, JsonRequestBehavior.AllowGet)); }
//ajout d'un produit au panier public JsonResult AddProduit(int idProduit, string idSession) { //gérer le renvoit isReturnOk sur le JS avec message erreur bool isReturnOk = false; PanierHtml panierHtml = new PanierHtml(); //récupération de l'utilisateur sur le SW SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(idSession); //récupération du panier || création d'un panier PanierModel panierModel = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); panierModel.IdRestaurant = 0; if (sessionUtilisateur != null && panierModel != null && idProduit > 0) { //méthode FindProduit cf. ProduitPanier produitPanier = FindProduit(idProduit); if (produitPanier != null) { //si le panier est vide if (panierModel.IdRestaurant == 0) { panierModel.IdRestaurant = produitPanier.IdRestaurant; panierModel.AddItem(produitPanier); isReturnOk = true; } //si le panier n'est pas vide else if (panierModel.IdRestaurant == produitPanier.IdRestaurant) { panierModel.AddItem(produitPanier); isReturnOk = true; } } //enregistrement du panier HttpContext.Application[idSession] = panierModel; //creation html de panier lateral panierHtml = ShowPanier(panierModel); } return(Json(new { panier = panierHtml.hmtl, isreturn = isReturnOk, total = string.Format("{0:0.00}", panierHtml.total) }, JsonRequestBehavior.AllowGet)); }
private ProduitPanier FindProduit(int IdProduit) { Produit produit = daoProduit.GetProduitById(IdProduit); ProduitPanier produitPanier = null; if (produit != null) { produitPanier = new ProduitPanier(); produitPanier.IdProduit = IdProduit; produitPanier.Nom = produit.Nom; produitPanier.Description = produit.Description; produitPanier.Quantite = 1; produitPanier.Prix = produit.Prix; produitPanier.Photo = produit.Photos.First()?.Nom; produitPanier.IdRestaurant = produit.IdRestaurant; } return(produitPanier); }
private ProduitPanier FindProduit(int idProduit) { Produit produit = db.Produits.Find(idProduit); ProduitPanier produitPanier = new ProduitPanier(); if (produit != null) { produitPanier.IdProduit = idProduit; produitPanier.Nom = produit.Nom; produitPanier.Description = produit.Description; produitPanier.Quantite = 1; produitPanier.Prix = produit.Prix; //produitPanier.Photo = produit.Photos.First().Nom; produitPanier.IdRestaurant = produit.IdRestaurant; } return(produitPanier); }
// GET: Sw public JsonResult AddMenu(int IdMenu, List <int> IdProduits, string s) { string IdSession = Cryptage.Decrypt(s); SessionUtilisateur sessionUtilisateur = daoUtilisateur.GetSessionUtilisateur(IdSession); Panier panier = GetPanier(sessionUtilisateur.IdSession); bool isReturnOk = false; if (sessionUtilisateur != null && panier != null && IdMenu > 0 && IdProduits.Count > 0) { Menu menu = daoMenu.GetMenuById(IdMenu); if (menu != null) { MenuPanier menuPanier = new MenuPanier(); menuPanier.IdMenu = IdMenu; menuPanier.Prix = menu.Prix; menuPanier.Nom = menu.Nom; menuPanier.Quantite = 1; foreach (int IdProduit in IdProduits) { ProduitPanier produitPanier = FindProduit(IdProduit); if (produitPanier != null) { panier.IdRestaurant = produitPanier.IdRestaurant; menuPanier.produits.Add(produitPanier); } } panier.AddItem(menuPanier); isReturnOk = true; } HttpContext.Application[sessionUtilisateur.IdSession] = panier; } string jsonPanier = Newtonsoft.Json.JsonConvert.SerializeObject(panier); return(Json(new { isReturnOk, qte = panier.Quantite, total = panier.Total, monpanier = jsonPanier }, JsonRequestBehavior.AllowGet)); }
//GET: SW public JsonResult AddProduit(int idProduit, string idSession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); PanierModel panierModel = null; if (sessionUtilisateur != null) { if (HttpContext.Application[idSession] != null) { panierModel = (PanierModel)HttpContext.Application[idSession]; } else { panierModel = new PanierModel(); } //si le produit n'est pas présent dans le panier je le récupère Produit produit = db.Produits.Find(idProduit); ProduitPanier produitPanier = FindProduit(idProduit); if (produitPanier != null) { panierModel.Add(produitPanier); } panierModel.GetQuantite(); //Je sauve mon panier en session HttpContext.Application[idSession] = panierModel; } //Je retourne en Json le nombre de lignes return(Json(panierModel.Quantite, JsonRequestBehavior.AllowGet)); }
// GET: Sw public JsonResult AddMenu(int IdMenu, List <int> IdProduits, string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); Panier panier = GetPanier(idsession); if (sessionUtilisateur != null && panier != null && IdMenu > 0 && IdProduits.Count > 0) { Menu menu = db.Menus.Find(IdMenu); if (menu != null) { MenuPanier menuPanier = new MenuPanier(); menuPanier.IdMenu = IdMenu; menuPanier.Prix = menu.Prix; menuPanier.Nom = menu.Nom; menuPanier.Quantite = 1; foreach (int IdProduit in IdProduits) { ProduitPanier produitPanier = FindProduit(IdProduit); if (produitPanier != null) { panier.IdRestaurant = produitPanier.IdRestaurant; menuPanier.produits.Add(produitPanier); } } panier.Add(menuPanier); } HttpContext.Application[idsession] = panier; } return(Json(panier.Quantite, JsonRequestBehavior.AllowGet)); }
//ajout d'une commande Clic Eat au panier public JsonResult AddClicEatPanier(int idCommande, string idSession) { PanierHtml panierHtml = new PanierHtml(); panierHtml.hmtl = ""; panierHtml.total = 0; string message = "Une erreur est survenue !"; //récupération de la session de l'utilisateur SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(idSession); //récupération du panier || création d'un panier PanierModel panierModel = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); if (sessionUtilisateur != null && idCommande > 0) { //on récupère la commande en bdd Commande ClicEat = db.Commandes.Find(idCommande); //si la commande n'existe pas, stopper la méthode if (ClicEat == null) { return(Json(new { toast = message }, JsonRequestBehavior.AllowGet)); } //si l'idRestaurant de la commande ne correspond pas aux produits du panier, stopper la méthode if (panierModel.IdRestaurant > 0 && panierModel.IdRestaurant != ClicEat.IdRestaurant) { message = "Votre panier contient des produits d'un autre restaurant !"; return(Json(new { toast = message }, JsonRequestBehavior.AllowGet)); } //on instancie un MenuPanier vide pour les menus MenuPanier menuPanier = new MenuPanier(); foreach (CommandeProduit commandeProduit in ClicEat.CommandeProduits) { //si ma commande est un menu if (commandeProduit.Menus.Count > 0) { //on récupère le produit ProduitPanier produitPanier = FindProduit(commandeProduit.IdProduit); //on ajoute le produit au menu if (produitPanier != null) { menuPanier.produits.Add(produitPanier); } //une fois le menu complet (3 produits), j'ajoute l'ajoute au panier if (menuPanier.produits.Count == 3) { menuPanier.IdMenu = commandeProduit.Menus.FirstOrDefault().IdMenu; menuPanier.Nom = commandeProduit.Menus.FirstOrDefault().Nom; menuPanier.Prix = commandeProduit.Menus.FirstOrDefault().Prix; menuPanier.Quantite = commandeProduit.Quantite; menuPanier.IdRestaurant = commandeProduit.Menus.FirstOrDefault().IdRestaurant; panierModel.IdRestaurant = menuPanier.IdRestaurant; panierModel.AddItem(menuPanier); //on réinitialise le MenuPanier au cas où il y a d'autres menus dans la commande menuPanier = new MenuPanier(); } } else if (commandeProduit.Menus.Count == 0) { ProduitPanier produitPanier = FindProduit(commandeProduit.IdProduit); produitPanier.Quantite = commandeProduit.Quantite; if (produitPanier != null) { //si le panier est vide if (panierModel.IdRestaurant == 0) { panierModel.IdRestaurant = produitPanier.IdRestaurant; panierModel.AddItem(produitPanier); } //si le panier n'est pas vide else if (panierModel.IdRestaurant == produitPanier.IdRestaurant) { panierModel.AddItem(produitPanier); } } } message = "Commande ajoutée au panier !"; } } //enregistrement du panier HttpContext.Application[idSession] = panierModel; //creation html du panier, necessaire pour prix total sur navbar panierHtml = ShowPanier(panierModel); return(Json(new { toast = message, total = string.Format("{0:0.00}", panierHtml.total) }, JsonRequestBehavior.AllowGet)); }