public async Task <IActionResult> Create(CommandeAdresseAdaptateur Adaptateur) { if (ModelState.IsValid) { //ajout de l'adresse dans la bd _context.Add(Adaptateur.Adresse); await _context.SaveChangesAsync(); //récup des infoi utilisateur et du panier var IdUser = _userManager.GetUserId(User); var IdClient = _context.Clients.Where(c => c.RegisterViewModelID == IdUser); var tFEContext = _context.Panier.Include(p => p.Produit).Where(p => p.RegisterViewModelID == IdUser).ToArray(); var Client = IdClient.ToArray(); //création de la comande Commande commande = new Commande(); commande.AdresseID = Adaptateur.Adresse.ID; commande.ClientID = Client[0].ID; commande.DateCommade = DateTime.Now; if (User.IsInRole("gestionnaire")) { commande.EnCours = false; } else { commande.EnCours = true; } _context.Add(commande); await _context.SaveChangesAsync(); //ajout des produit a la commande int idCommande = commande.ID; foreach (var e in tFEContext) { Possede p = new Possede(); p.CommandeID = idCommande; p.ProduitID = e.ProduitID; e.Produit.QuantiteStock = e.Produit.QuantiteStock - e.Quantite; p.Quantite = e.Quantite; _context.Add(p); } await _context.SaveChangesAsync(); //creation de la facture Facture f = new Facture(); f.CommandeID = idCommande; _context.Add(f); await _context.SaveChangesAsync(); //vidage du panier var panier = _context.Panier.Where(p => p.RegisterViewModelID == IdUser); _context.Panier.RemoveRange(panier); await _context.SaveChangesAsync(); } return(RedirectToAction("Index", "Commandes")); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } Possede = await _context.Possedent .Include(p => p.Joueur) .Include(p => p.Personnage).FirstOrDefaultAsync(m => m.PossedeID == id); if (Possede == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } Possede = await _context.Possedent.FindAsync(id); if (Possede != null) { _context.Possedent.Remove(Possede); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } Possede = await _context.Possedent .Include(p => p.Joueur) .Include(p => p.Personnage).FirstOrDefaultAsync(m => m.PossedeID == id); if (Possede == null) { return(NotFound()); } ViewData["JoueurID"] = new SelectList(_context.Joueurs, "ID", "FamilyName"); ViewData["PersonnageID"] = new SelectList(_context.Personnages, "PersonnageID", "CharacterName"); return(Page()); }
public async Task <IActionResult> Create(CommandeAdresseAdaptateur Adaptateur) { if (ModelState.IsValid) { var enlevement = Request.Form["enlevementMagasin"]; //récup des infoi utilisateur et du panier var IdUser = _userManager.GetUserId(User); var tFEContext = _context.Panier.Include(p => p.Produit).Where(p => p.RegisterViewModelID == IdUser).ToArray(); if (enlevement != "true") { //ajout de l'adresse dans la bd var listAdd = _context.Adresses.Include(a => a.DomicileClient).ToList(); Boolean existe = false; int i = 0; while (!existe && i < listAdd.Count) { if (listAdd[i].Equals(Adaptateur.Adresse)) { existe = true; } else { i++; } } if (!existe) { _context.Add(Adaptateur.Adresse); await _context.SaveChangesAsync(); } else { Adaptateur.Adresse.ID = listAdd[i].ID; } Domicile d = new Domicile(); d.AdresseID = Adaptateur.Adresse.ID; //d.ClientID = Client[0].ID; d.RegisterViewModelID = IdUser; _context.Add(d); await _context.SaveChangesAsync(); } //création de la comande Commande commande = new Commande(); commande.AdresseID = Adaptateur.Adresse.ID; //commande.ClientID = Client[0].ID; commande.RegisterViewModelID = IdUser; commande.DateCommade = DateTime.Now; if (User.IsInRole("gestionnaire")) { commande.EnCours = false; } else { commande.EnCours = true; } _context.Add(commande); await _context.SaveChangesAsync(); //ajout des produit a la commande int idCommande = commande.ID; foreach (var e in tFEContext) { Possede p = new Possede(); p.CommandeID = idCommande; p.ProduitID = e.ProduitID; e.Produit.QuantiteEmballage -= e.Quantite; e.Produit.QuantiteStockTotal = e.Produit.QuantiteEmballage * e.Produit.NBPieceEmballage + e.Produit.QuantiteStock; p.Quantite = e.Quantite; _context.Add(p); Historique h = new Historique { ProduitID = e.ProduitID, Action = "Vente", Date = DateTime.Now, QteMouv = e.Quantite, QteStock = e.Produit.QuantiteStockTotal }; _context.Add(h); } await _context.SaveChangesAsync(); //creation de la facture Facture f = new Facture(); f.CommandeID = idCommande; f.Numero = int.Parse(DateTime.Now.Year.ToString() + _context.Factures.Count()); _context.Add(f); await _context.SaveChangesAsync(); //vidage du panier var panier = _context.Panier.Where(p => p.RegisterViewModelID == IdUser); _context.Panier.RemoveRange(panier); await _context.SaveChangesAsync(); } return(RedirectToAction("Index", "Commandes")); }