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"));
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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"));
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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"));
        }