Пример #1
0
        private void buttonPaiementCook_Click(object sender, RoutedEventArgs e)
        {
            foreach (Recette r in listPanier.Items)
            {
                //Verifier stock
                foreach (KeyValuePair <Produit, double> produit in r.Ingredients)
                {
                    if (produit.Value * r.Quantite > produit.Key.StockActuel)
                    {
                        r.Quantite = 0;
                        listPanier.Items.Remove(r);
                        MessageBoxResult message = MessageBox.Show("Veuillez-nous excuser mais la recette : " + r.Nom + " ne peut pas être commandée par manque de " + produit.Key.NomProduit + "cette recette a été retirée de votre panier, veuillez repasser la commande si vous le souhaitez \nStock Actuel : " + produit.Key.StockActuel + "\n Quantité pour recette :" + produit.Value);
                        return;
                    }
                }
            }
            int prixCook = 0;

            foreach (Recette r in listPanier.Items)
            {
                //On ajuste les stocks
                foreach (KeyValuePair <Produit, double> produit in r.Ingredients)
                {
                    produit.Key.StockActuel -= produit.Value * r.Quantite;
                }
                //rémunérer CdR

                if (r.NbCommande < 10 && r.NbCommande + r.Quantite >= 10)
                {
                    if (r.NbCommande + r.Quantite >= 50)
                    {
                        r.NbCommande += r.Quantite;
                        RessourceSQL.CdRPaiementCook(r, true, true);
                    }
                    else
                    {
                        r.NbCommande += r.Quantite;
                        RessourceSQL.CdRPaiementCook(r, true, false);
                    }
                }
                else if (r.NbCommande < 50 && r.NbCommande + r.Quantite >= 50)
                {
                    r.NbCommande += r.Quantite;
                    RessourceSQL.CdRPaiementCook(r, false, true);
                }
                else
                {
                    r.NbCommande += r.Quantite;
                    RessourceSQL.CdRPaiementCook(r, false, false);
                }
                for (int i = 0; i < r.Quantite; i++)
                {
                    r.Commandes.Add(DateTime.Now);
                }
                prixCook   += Convert.ToInt32(r.PrixTotal);
                r.Quantite  = 0;
                r.PrixTotal = 0;
                r.Commandes.Add(DateTime.Now);
            }
            //On met à jour les cook du CdR qui paie
            if (RessourceSQL.nbCookCdR(mailCdR) >= prixCook)
            {
                MessageBoxResult messageCommande = MessageBox.Show("Prix de la commande : " + prixCook + " Cook");
                nbCook.Text = RessourceSQL.miseAjourNbCook(mailCdR, true, prixCook).ToString();
                listPanier.Items.Clear();
            }
            else
            {
                MessageBoxResult messageCommande = MessageBox.Show("Vous n'avez pas assez de Cook. \nPrix de la commande : " + prixCook + " Cook. \nLe montant restant est de : " + (prixCook - RessourceSQL.nbCookCdR(mailCdR)) / 3 + " €, il a été crédité sur votre CB.");
                nbCook.Text = RessourceSQL.miseAjourNbCook(mailCdR, false, prixCook).ToString();
                listPanier.Items.Clear();
            }
        }
Пример #2
0
        private void buttonPaiementCB_Click(object sender, RoutedEventArgs e)
        {
            foreach (Recette r in listPanier.Items)
            {
                //Verifier stock
                foreach (KeyValuePair <Produit, double> produit in r.Ingredients)
                {
                    if (produit.Value * r.Quantite > produit.Key.StockActuel)
                    {
                        r.Quantite = 0;
                        listPanier.Items.Remove(r);
                        MessageBoxResult message = MessageBox.Show("Veuillez-nous excuser mais la recette : " + r.Nom + " ne peut pas être commandée par manque de " + produit.Key.NomProduit + ". \nCette recette a été retirée de votre panier, veuillez repasser la commande si vous le souhaitez. \nStock Actuel : " + produit.Key.StockActuel + "\nQuantité pour recette : " + produit.Value * r.Quantite);
                        return;
                    }
                }
            }
            double prixCook = 0;

            foreach (Recette r in listPanier.Items)
            {
                //On ajuste les stocks
                foreach (KeyValuePair <Produit, double> produit in r.Ingredients)
                {
                    produit.Key.StockActuel -= produit.Value * r.Quantite;
                }
                //rémunérer CdR et ajustement des stocks dans la BDD
                if (r.NbCommande < 10 && r.NbCommande + r.Quantite >= 10)
                {
                    if (r.NbCommande + r.Quantite >= 50)
                    {
                        r.NbCommande += r.Quantite;
                        RessourceSQL.CdRPaiementCook(r, true, true);
                    }
                    else
                    {
                        r.NbCommande += r.Quantite;
                        RessourceSQL.CdRPaiementCook(r, true, false);
                    }
                }
                else if (r.NbCommande < 50 && r.NbCommande + r.Quantite >= 50)
                {
                    r.NbCommande += r.Quantite;
                    RessourceSQL.CdRPaiementCook(r, false, true);
                }
                else
                {
                    r.NbCommande += r.Quantite;
                    RessourceSQL.CdRPaiementCook(r, false, false);
                }
                for (int i = 0; i < r.Quantite; i++)
                {
                    r.Commandes.Add(DateTime.Now);
                }
                prixCook   += r.PrixTotal;
                r.Quantite  = 0;
                r.PrixTotal = 0;
                r.Commandes.Add(DateTime.Now);
            }
            MessageBoxResult messageCommande = MessageBox.Show("Prix de la commande : " + prixCook + " Cook");

            listPanier.Items.Clear();
            nbCook.Text = RessourceSQL.nbCookCdR(mailCdR).ToString();
        }