public CommandeProduit Add(CommandeProduit commandeProduit) { _contexte.CommandesProduits.Add(commandeProduit); _contexte.SaveChanges(); return(commandeProduit); }
public CommandeProduit Delete(CommandeProduit commandeProduit) { _contexte.CommandesProduits.Remove(commandeProduit); _contexte.SaveChanges(); return(commandeProduit); }
public async Task <ActionResult <CommandeProduit> > PostCommandeProduit(CommandeProduit commandeProduit) { _context.CommandeProduit.Add(commandeProduit); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCommandeProduit", new { id = commandeProduit.Id }, commandeProduit)); }
public async Task <IActionResult> PutCommandeProduit(long id, CommandeProduit commandeProduit) { if (id != commandeProduit.Id) { return(BadRequest()); } _context.Entry(commandeProduit).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CommandeProduitExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public JsonResult SaveCommande(string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); PanierModel panier = null; if (sessionUtilisateur != null && HttpContext.Application[idsession] != null) { panier = (PanierModel)HttpContext.Application[idsession]; } try { Utilisateur utilisateur = db.Utilisateurs.First(p => p.IdSession == idsession); if (utilisateur != null && utilisateur.Solde > 0 && panier != null && panier.Count > 0) { decimal prixTotal = 0; prixTotal = panier.Montant; if (prixTotal <= utilisateur.Solde) { Commande commande = new Commande(); commande.IdUtilisateur = utilisateur.IdUtilisateur; commande.IdRestaurant = panier.IdRestaurant; commande.Date = DateTime.Now; commande.Prix = prixTotal; commande.IdEtatCommande = 1; utilisateur.Solde -= prixTotal; foreach (ItemPanier item in panier) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = item.GetIdProduit(); commandeProduit.Prix = item.Prix; commandeProduit.Quantite = item.Quantite; commande.CommandeProduits.Add(commandeProduit); try { Produit produit = db.Produits.Find(commandeProduit.IdProduit); if (produit.IdProduit == commandeProduit.IdProduit) { produit.Quantite -= commandeProduit.Quantite; } } catch (Exception ex) { string er = ex.Message; } } db.Commandes.Add(commande); db.SaveChanges(); HttpContext.Application.Clear(); } } return(Json(new { idutilisateur = utilisateur.IdUtilisateur }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { string er = ex.Message; } return(Json(JsonRequestBehavior.AllowGet)); }
/// <summary> /// Supprimer une CommandeProduit en base à partir du contexte et de son identifiant /// </summary> /// <param name="cmdproduitID">Identifiant de la CommandeProduit à supprimer</param> public void Supprimer(int cmdproduitID) { CommandeProduit deletedCmdProduit = _contexte.CommandeProduits.Where(cmdPrd => cmdPrd.Id == cmdproduitID).FirstOrDefault(); if (deletedCmdProduit != null) { _contexte.CommandeProduits.Remove(deletedCmdProduit); } _contexte.SaveChanges(); }
public void UpdateCommandeProduitTest() { CreateCommandeProduit(); Manager.Instance.AddCommandeProduit(this.commandeProduit); this.commandeProduit.Quantite = 1111; CommandeProduit commandeProduitUpdated = Manager.Instance.UpdateCommandeProduit(this.commandeProduit); Assert.AreEqual(1111, commandeProduitUpdated.Quantite); DeleteCommandeProduit(); }
/// <summary> /// Modifier une CommandeProduit déjà présent en base à partir du contexte /// </summary> /// <param name="changed">CommandeProduit à modifier</param> public void Modifier(CommandeProduit changed) { CommandeProduit cmdProduit = _contexte.CommandeProduits.Where(cmdPrd => cmdPrd.Id == changed.Id).FirstOrDefault(); if (cmdProduit != null) { cmdProduit.Id = changed.Id; cmdProduit.Quantite = changed.Quantite; cmdProduit.CommandeId = changed.CommandeId; cmdProduit.Commande = changed.Commande; } _contexte.SaveChanges(); }
public void DeleteCommandeProduitTest() { CreateCommandeProduit(); Manager.Instance.AddCommandeProduit(this.commandeProduit); CommandeProduit commandeProduitTmp = this.commandeProduit; DeleteCommandeProduit(); List <CommandeProduit> commandesProduits = Manager.Instance.GetAllCommandesProduits(); if (commandesProduits.Count() > 0) { Assert.AreNotEqual(commandeProduitTmp, commandesProduits.Last()); } }
public CommandeProduit Update(CommandeProduit commandeProduit) { CommandeProduit cpDB = _contexte.CommandesProduits.Where(cp => cp.ProduitId == commandeProduit.ProduitId).Where(cp => cp.CommandeId == commandeProduit.CommandeId).FirstOrDefault(); if (cpDB != null) { cpDB.Commande = commandeProduit.Commande; cpDB.CommandeId = commandeProduit.CommandeId; cpDB.Produit = commandeProduit.Produit; cpDB.ProduitId = commandeProduit.ProduitId; cpDB.Quantite = commandeProduit.Quantite; } _contexte.SaveChanges(); return(cpDB); }
private void CreateCommandeProduit() { this.client = new Client(); this.client.Actif = false; this.client.Nom = "TestCommandeProduit"; this.client.Prenom = "TestCommandeProduit"; Manager.Instance.AddClient(this.client); this.statut = new Statut(); this.statut.Libelle = "TestCommandeProduit"; Manager.Instance.AddStatut(this.statut); this.commande = new Commande(); this.commande.Observation = "TestCommandeProduit"; this.commande.ClientID = this.client.Id; this.commande.StatutId = this.statut.Id; Manager.Instance.AddCommande(this.commande); this.categorie = new Categorie(); this.categorie.Actif = false; this.categorie.Libelle = "TestCommandeProduit"; Manager.Instance.AddCategorie(this.categorie); this.produit = new Produit(); this.produit.Actif = false; this.produit.Code = 0; this.produit.Description = "TestCommandeProduit"; this.produit.Libelle = "TestCommandeProduit"; this.produit.Prix = 0; this.produit.Stock = 0; this.produit.CategorieId = this.categorie.Id; Manager.Instance.AddProduit(this.produit); this.commandeProduit = new CommandeProduit(); this.commandeProduit.Quantite = 0; this.commandeProduit.CommandeId = this.commande.Id; this.commandeProduit.ProduitId = this.produit.Id; }
public JsonResult SaveCommande(string idsession) { SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); Panier panier = null; if (sessionUtilisateur != null && HttpContext.Application[idsession] != null) { panier = (Panier)HttpContext.Application[idsession]; } try { Utilisateur utilisateur = db.Utilisateurs.First(p => p.IdSession == idsession); if (utilisateur != null && utilisateur.Solde > 0 && panier != null && panier.Count > 0) { decimal prixTotal = 0; // panier.GetTotal(); -> On fait appel à CalculPanier() à l'ajout ou à la suppression d'un item prixTotal = panier.Total; if (prixTotal <= utilisateur.Solde) { Commande commande = new Commande(); commande.IdUtilisateur = utilisateur.IdUtilisateur; commande.IdRestaurant = panier.IdRestaurant; commande.Date = DateTime.Now; commande.Prix = prixTotal; commande.IdEtatCommande = 1; utilisateur.Solde -= prixTotal; foreach (ItemPanier item in panier) { if (item is ProduitPanier) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = item.GetIdProduit(); commandeProduit.Prix = item.Prix; commandeProduit.Quantite = item.Quantite; commande.CommandeProduits.Add(commandeProduit); } else if (item is MenuPanier menuPanier) { List <ProduitPanier> produitPaniers = menuPanier.produits; Menu menu = db.Menus.Find(item.GetIdMenu()); foreach (ProduitPanier produitPanier in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = produitPanier.GetIdProduit(); commandeProduit.Prix = 0; commandeProduit.Quantite = produitPanier.Quantite; commandeProduit.Menus.Add(menu); commande.CommandeProduits.Add(commandeProduit); } // } else if (item is ProduitComposePanier produitComposePanier) { List <ProduitPanier> produitPaniers = produitComposePanier.produits; foreach (ProduitPanier produitPanier in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = produitPanier.GetIdProduit(); commandeProduit.Prix = 0; commandeProduit.Quantite = produitPanier.Quantite; commande.CommandeProduits.Add(commandeProduit); } } } commande.Prix = prixTotal; db.Commandes.Add(commande); db.SaveChanges(); HttpContext.Application.Clear(); } } return(Json(new { idutilisateur = utilisateur.IdUtilisateur }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { string er = ex.Message; } return(Json(JsonRequestBehavior.AllowGet)); }
//méthode de sauvegarde du panier en bdd public JsonResult SaveCommande(string idSession) { PanierModel panierModel = null; //à faire : gérer les messages associés au déroulé de l'action (succes, solde insufisant, panier vide...) string statementReturn = "errorProcess"; SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(idSession); //on vérifie l'existence d'un utilisateur en session et on récupère son panier if (sessionUtilisateur != null && HttpContext.Application[idSession] != null) { panierModel = (PanierModel)HttpContext.Application[idSession]; } //on récupère l'utilisateur en base de données Utilisateur utilisateur = db.Utilisateurs.First(u => u.IdSession == idSession); if (utilisateur != null && utilisateur.Solde > 0 && panierModel != null && panierModel.Count > 0) { decimal prixTotal = 0; //calcul du montant total de la commande panierModel.GetTotal(); prixTotal = panierModel.Total; //on vérifie si le montant est inférieur au solde avant d'enregistrer la commande if (prixTotal > utilisateur.Solde) { statementReturn = "soldeError"; return(Json(statementReturn, JsonRequestBehavior.AllowGet)); } //on créé la commande Commande commande = new Commande(); commande.IdUtilisateur = utilisateur.IdUtilisateur; commande.IdRestaurant = panierModel.IdRestaurant; commande.Date = DateTime.Now; commande.Prix = prixTotal; commande.IdEtatCommande = 1; commande.ClicEat = false; utilisateur.Solde -= prixTotal; //on parcours tous les produits dans le panierModel pour les enregistrer en bdd foreach (ItemPanier itemPanier in panierModel) { if (itemPanier is ProduitPanier) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = itemPanier.GetIdProduit(); commandeProduit.Prix = itemPanier.Prix; commandeProduit.Quantite = itemPanier.Quantite; commande.CommandeProduits.Add(commandeProduit); } else if (itemPanier is MenuPanier menuPanier) { List <ProduitPanier> produitPaniers = menuPanier.produits; Menu menu = db.Menus.Find(itemPanier.GetIdMenu()); foreach (ProduitPanier itemProduit in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = itemProduit.GetIdProduit(); commandeProduit.Prix = itemProduit.Prix; commandeProduit.Quantite = itemProduit.Quantite; commandeProduit.Menus.Add(menu); commande.CommandeProduits.Add(commandeProduit); } } else if (itemPanier is ProduitComposePanier produitComposePanier) { List <ProduitPanier> produitPaniers = produitComposePanier.produits; foreach (ProduitPanier itemProduit in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = itemPanier.GetIdProduit(); commandeProduit.Prix = itemPanier.Prix; commandeProduit.Quantite = itemPanier.Quantite; commande.CommandeProduits.Add(commandeProduit); } } } db.Commandes.Add(commande); db.SaveChanges(); //le panier est vidé panierModel.Clear(); statementReturn = "commmandeOk"; } return(Json(statementReturn, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Ajouter la CommandeProduit en base à partir du contexte /// </summary> /// <param name="cmdProduit">CommandeProduit à ajouter</param> /// <returns>Identifiant du CommandeProduit ajouté</returns> public int Ajouter(CommandeProduit cmdProduit) { _contexte.CommandeProduits.Add(cmdProduit); return(_contexte.SaveChanges()); }
public JsonResult SaveCommande(string idSession) { PanierModel panier = (PanierModel)HttpContext.Application[idSession] ?? new PanierModel(); Utilisateur utilisateur = ((CustomIdentity)User.Identity).Utilisateur; if (utilisateur == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Utilisateur non trouvé.", JsonRequestBehavior.AllowGet)); } if (panier.Count == 0) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Votre panier est vide.", JsonRequestBehavior.AllowGet)); } if (panier.Montant > utilisateur.Solde || utilisateur.Solde <= 0) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Votre solde est insuffisant.", JsonRequestBehavior.AllowGet)); } foreach (ItemPanier itemPanier in panier) { /*if (itemPanier is ProduitPanier produitPanier) * { * * }*/ } utilisateur.Solde -= panier.Montant; Commande commande = new Commande() { IdUtilisateur = utilisateur.IdUtilisateur, IdRestaurant = panier.IdRestaurant, Date = DateTime.Now, Prix = panier.Montant, IdEtatCommande = 1 }; foreach (ProduitPanier produitPanier in panier) { CommandeProduit commandeProduit = new CommandeProduit() { IdCommande = commande.IdCommande, IdProduit = produitPanier.IdProduit, Prix = produitPanier.Prix, Quantite = produitPanier.Quantite }; commande.CommandeProduits.Add(commandeProduit); } db.Commandes.Add(commande); db.SaveChanges(); panier.Clear(); AddFLash(Utilities.FlashMessageType.Success, "Commande effectuée avec succès"); return(Json("Commande effectuée avec succès", JsonRequestBehavior.AllowGet)); }
public void AddCommandeProduit(CommandeProduit cp) { CommandeProduitCommand cpc = new CommandeProduitCommand(contexte); cpc.Add(cp); }
public void DeleteCommandeProduit(CommandeProduit cp) { CommandeProduitCommand cpc = new CommandeProduitCommand(contexte); cpc.Delete(cp); }
public CommandeProduit UpdateCommandeProduit(CommandeProduit cp) { CommandeProduitCommand cpc = new CommandeProduitCommand(contexte); return(cpc.Update(cp)); }
public JsonResult SaveCommande(string idSession) { PanierModel panierModel = null; SessionUtilisateur sessionUtilisateur = db.SessionUtilisateurs.Find(Session.SessionID); string message = ""; //On vérifie l'existence d'un utilisateur en session if (sessionUtilisateur != null) { //On récupère son panier if (HttpContext.Application[idSession] != null) { panierModel = (PanierModel)HttpContext.Application[idSession]; } } //On récupère l'utilisateur en base de données à partir de son idsession Utilisateur utilisateur = db.Utilisateurs.First(u => u.IdSession == idSession); if (utilisateur != null && utilisateur.Solde > 0 && panierModel != null && panierModel.Count > 0) { decimal prixTotal = 0; int idRestaurant = 0; //Calcul du montant de la commande panierModel.GetMontant(); prixTotal = panierModel.Montant; //On vérifie si le montant de la commande est inférieur au solde avant de sauvegarder la commande if (prixTotal <= utilisateur.Solde) { //On crée la commande Commande commande = new Commande(); commande.IdUtilisateur = utilisateur.IdUtilisateur; commande.IdRestaurant = panierModel.IdRestaurant; commande.Date = DateTime.Now; commande.Prix = prixTotal; commande.IdEtatCommande = 1; utilisateur.Solde -= prixTotal; //On parcourt tous les produits dans le panierModel pour les enregistrer en bdd foreach (ItemPanier itemPanier in panierModel) { if (itemPanier is ProduitPanier) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = itemPanier.GetIdProduit(); commandeProduit.Prix = itemPanier.Prix; commandeProduit.Quantite = itemPanier.Quantite; commande.CommandeProduits.Add(commandeProduit); } else if (itemPanier is MenuPanier menuPanier) { List <ProduitPanier> produitPaniers = menuPanier.produits; Menu menu = db.Menus.Find(itemPanier.GetIdMenu()); foreach (ProduitPanier itemProduits in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = itemPanier.GetIdProduit(); commandeProduit.Prix = itemPanier.Prix; commandeProduit.Quantite = itemPanier.Quantite; commandeProduit.Menus.Add(menu); commande.CommandeProduits.Add(commandeProduit); } } else if (itemPanier is ProduitComposePanier produitComposePanier) { List <ProduitPanier> produitPaniers = produitComposePanier.produits; Menu menu = db.Menus.Find(itemPanier.GetIdMenu()); foreach (ProduitPanier itemProduits in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = itemPanier.GetIdProduit(); commandeProduit.Prix = itemPanier.Prix; commandeProduit.Quantite = itemPanier.Quantite; commandeProduit.Menus.Add(menu); commande.CommandeProduits.Add(commandeProduit); } } } db.Commandes.Add(commande); db.SaveChanges(); } } return(Json(message, JsonRequestBehavior.AllowGet)); }
public bool SaveCommande(Panier panier, Utilisateur utilisateur) { try { decimal prixTotal = 0; // panier.GetTotal(); -> On fait appel à CalculPanier() à l'ajout ou à la suppression d'un item prixTotal = panier.Total; if (prixTotal <= utilisateur.Solde) { Commande commande = new Commande(); commande.IdUtilisateur = utilisateur.IdUtilisateur; commande.IdRestaurant = panier.IdRestaurant; commande.DateCommande = DateTime.Now; commande.Prix = prixTotal; commande.IdEtatCommande = 1; utilisateur.Solde -= prixTotal; foreach (ItemPanier item in panier) { if (item is ProduitPanier) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = item.GetIdProduit(); commandeProduit.Prix = item.Prix; commandeProduit.Quantite = item.Quantite; commande.CommandeProduits.Add(commandeProduit); } else if (item is MenuPanier menuPanier) { List <ProduitPanier> produitPaniers = menuPanier.produits; Menu menu = db.Menus.Find(item.GetIdMenu()); foreach (ProduitPanier produitPanier in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = produitPanier.IdProduit; commandeProduit.Prix = 0; commandeProduit.Quantite = 1; commandeProduit.Menus.Add(menu); //commandeProduit.Menus.FirstOrDefault().IdMenu = item.GetIdMenu(); commande.CommandeProduits.Add(commandeProduit); } } else if (item is ProduitComposePanier produitComposePanier) { List <ProduitPanier> produitPaniers = produitComposePanier.produits; foreach (ProduitPanier produitPanier in produitPaniers) { CommandeProduit commandeProduit = new CommandeProduit(); commandeProduit.IdProduit = item.GetIdProduit(); commandeProduit.Prix = item.Prix; commandeProduit.Quantite = item.Quantite; commande.CommandeProduits.Add(commandeProduit); } } } db.Commandes.Add(commande); db.SaveChanges(); return(true); } return(false); } catch (Exception ex) { throw ex; } }