private void btnValider_Click2(object sender, RoutedEventArgs e)
        {
            string          connectionString = "SERVER=localhost;PORT=3306;DATABASE=cooking;UID=root;PASSWORD="******";Convert Zero Datetime=True";
            MySqlConnection connection       = new MySqlConnection(connectionString);

            connection.Open();

            bool   verif = Verification_MDP();
            string mail  = txtMail.Text;


            if (verif == true) //on vérifie que la vérification du mail est correcte
            {
                List <string> liste = RessourceSQL.allMails();
                if (!(liste.Contains(mail)))                                                             //on vérifie que le mail n'existe pas déjà
                {
                    if (!(IsNumeric(mail)) && (!IsNumeric(txtPrenom.Text)) && (!IsNumeric(txtNom.Text))) //on vérifie si le nom, le prenom ou le mail en entrée n'est pas une suite numérique
                    {
                        try
                        {
                            //on ajoute le nouveau client à la base de données

                            string nom    = txtNom.Text;
                            string prenom = txtPrenom.Text;
                            string mdp    = txtMDP.Text;

                            MySqlCommand commandInsertion = connection.CreateCommand();
                            string       requeteInsertion = "INSERT INTO client (mailClient, nom, prenom,  mdpClient) VALUES (" + "'" + mail + "'," + "'" + nom + "'," + "'" + prenom + "'," + "'" + mdp + "') ;";
                            commandInsertion.CommandText = requeteInsertion;

                            MySqlDataReader readerInsertion;
                            readerInsertion = commandInsertion.ExecuteReader();

                            connection.Close();

                            MessageBox.Show("Vous êtes désormais un client de Cooking. Félicitations !");

                            MainWindow w = new MainWindow();
                            w.Show();
                            this.Close();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Attention, le nom, le prénom ou le mail ne peut pas être une suite de chiffres.");
                    }
                }
            }

            else
            {
                MessageBox.Show("Le mot de passe entré et la vérification ne sont pas les mêmes, veuillez réessayer.");
            }

            connection.Close();
        }
 private void validerRecette_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         //On vérifie que les informations entrées sont correctes
         if (Convert.ToDouble(boxPrix.Text) < 10 || Convert.ToDouble(boxPrix.Text) > 40)
         {
             MessageBoxResult messagePrix = MessageBox.Show("Veuillez entrer un prix entre 10 et 40 Cook svp");
             return;
         }
         else
         {
             //On crée la nouvelle recette et on l'ajoute à la BDD
             Recette nouvelleRecette = new Recette(boxNomRecette.Text, boxTypeRecette.Text, ingredientsRecette, BoxDescriptifRecette.Text, Convert.ToDouble(boxPrix.Text));
             nouvelleRecette.RemunerationCdRCook = 2;
             nouvelleRecette.MailCdR             = mailCdR;
             RessourceSQL.ajouterRecette(nouvelleRecette);
             MessageBoxResult message = MessageBox.Show("Recette créée !");
             recettesCdR.listRecettes.Items.Add(nouvelleRecette);
             recettesCdR.Show();
             this.Close();
         }
     }
     catch
     {
         MessageBoxResult message = MessageBox.Show("Informations incorrectes, veuillez vérifier les informations saisies.");
     }
 }
Пример #3
0
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            string mail = txtMail.Text;
            string mdp  = txtMDP.Text;

            if (RessourceSQL.est_client(mail, mdp))
            {
                string[]     tab = RessourceSQL.nom_prenom_Client(mail);
                windowClient w   = new windowClient(tab[0], tab[1]);
                this.Visibility = Visibility.Hidden;
                w.Show();
            }

            if (RessourceSQL.est_CdR(mail, mdp))
            {
                string[]  tab = RessourceSQL.nom_prenom_CdR(mail);
                windowCdR w   = new windowCdR(tab[0], tab[1], tab[2], Convert.ToInt32(tab[3]));
                this.Visibility = Visibility.Hidden;
                w.Show();
            }

            if (RessourceSQL.est_gestionnaire(mail, mdp))
            {
                string[]           tab = RessourceSQL.nom_prenom_Gestionnaire(mail);
                windowGestionnaire w   = new windowGestionnaire(tab[0], tab[1]);
                this.Visibility = Visibility.Hidden;
                w.Show();
            }
        }
Пример #4
0
        public windowDemo4()
        {
            InitializeComponent();
            int count = RessourceSQL.NbRecettes();

            nbRecettes.Text = Convert.ToString(count);
        }
Пример #5
0
        public windowDemo2()
        {
            InitializeComponent();
            int count = RessourceSQL.NbClients();

            nbClients.Text = Convert.ToString(count);
        }
Пример #6
0
 public MainWindow()
 {
     InitializeComponent();
     RessourceSQL.toutesRecettes();
     RessourceSQL.tousProduits();
     RessourceSQL.commandesProduitsXml();
 }
 public windowRecettes(windowCdR cdR, string mail)
 {
     InitializeComponent();
     currentCdR = cdR;
     foreach (Recette r in RessourceSQL.mesRecettes(mail))
     {
         listRecettes.Items.Add(r);
     }
     mailCdR = mail;
 }
Пример #8
0
        //Fonction pour que le client devienne CdR
        private void buttonCdR_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult messageDevenirCdR = MessageBox.Show("Voulez-vous devenir CdR ?", "Devenir CdR", MessageBoxButton.YesNo);

            if (messageDevenirCdR == MessageBoxResult.Yes)
            {
                RessourceSQL.devenirCdR(nomClient, prenomClient);
                windowCdR w = new windowCdR(RessourceSQL.rechercheMailCdR(nomClient, prenomClient), nomClient, prenomClient, 0);
                w.Show();
                this.Close();
                MessageBoxResult message = MessageBox.Show("Félicitations ! Vous êtes maintenant un créateur de recettes et participez à l'évolution de la plateforme.");
            }
        }
 public windowGererCdR(windowGestionnaire w)
 {
     InitializeComponent();
     foreach (string cdr in RessourceSQL.listeCdR())
     {
         boxCdR.Items.Add(cdr);
     }
     foreach (Recette r in RessourceSQL.allRecettes)
     {
         boxRecetteCdR.Items.Add(r);
     }
     windowGestionnaire = w;
 }
Пример #10
0
 private void buttonSupprRecette_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         RessourceSQL.supprRecette(((Recette)boxRecetteCdR.SelectedItem).Nom, ((Recette)boxRecetteCdR.SelectedItem).MailCdR);
         MessageBoxResult message = MessageBox.Show("Recette supprimée");
         boxRecetteCdR.Items.Remove((Recette)boxRecetteCdR.SelectedItem);
         boxRecetteCdR.Items.Refresh();
     }
     catch
     {
         MessageBoxResult message = MessageBox.Show("Veuillez sélectionner une recette");
     }
 }
Пример #11
0
        public windowDemo3()
        {
            InitializeComponent();
            int countCdr = RessourceSQL.listeCdR().Count;

            nbCdr.Text = Convert.ToString(countCdr);

            //on remplit la combobox avec la liste des Cdr
            foreach (string s in RessourceSQL.listeCdR())
            {
                boxListeCdr.Items.Add(s);
            }
            boxListeCdr.Items.Refresh();
        }
        private void buttonRetour_Click(object sender, RoutedEventArgs e)
        {
            //on possède le mail du cdr
            //on récupère le nom, prenom et le nombre de cook

            string [] infoCdR = RessourceSQL.nom_prenom_CdR(mailCdR);
            string    nom     = infoCdR[1];
            string    prenom  = infoCdR[2];
            int       nbCook  = Convert.ToInt32(infoCdR[3]);

            windowCdR w = new windowCdR(mailCdR, nom, prenom, nbCook);

            w.Show();
            this.Close();
        }
 //On peut commander les produits que l'on souhaite
 private void buttonCommander_Click(object sender, RoutedEventArgs e)
 {
     if (boxIngredients.SelectedItem != null)
     {
         string[] quantiteCommandee = boxQteCommande.Text.Split(' ');
         string[] quantiteActuelle  = boxQteActuelle.Text.Split(' ');
         double   stock             = Convert.ToDouble(quantiteCommandee[0]) + Convert.ToDouble(quantiteActuelle[0]);
         RessourceSQL.commandeProduit(((Produit)boxIngredients.SelectedItem).NomProduit, stock.ToString());
         listProduit.Items.Clear();
         boxIngredients.Items.Clear();
         foreach (Produit p in RessourceSQL.allProduits)
         {
             boxIngredients.Items.Add(p);
             listProduit.Items.Add(p);
         }
     }
 }
Пример #14
0
        private void buttonSupprRecette_Click(object sender, RoutedEventArgs e)
        {
            Button           button           = sender as Button;
            Recette          r                = button.DataContext as Recette;
            MessageBoxResult supprimerRecette = MessageBox.Show("Êtes-vous sûr de vouloir supprimer cette recette ?", "Supprimer recette", MessageBoxButton.YesNo);

            if (supprimerRecette == MessageBoxResult.Yes)
            {
                currentCdR.boxListeRecettes.Items.Remove(r);
                if (currentCdR.listPanier.Items.Contains(r))
                {
                    currentCdR.listPanier.Items.Remove(r);
                }
                listRecettes.Items.Remove(r);
                RessourceSQL.supprRecette(r.Nom, r.MailCdR);
            }
        }
Пример #15
0
 //On met à jour la liste des recettes de la combo box en fonction du CdR sélectionné
 private void boxCdR_DropDownClosed(object sender, EventArgs e)
 {
     boxRecetteCdR.Items.Clear();
     if (boxCdR.SelectedItem != null)
     {
         string[] infoCdR = boxCdR.SelectedItem.ToString().Split(' ');
         foreach (Recette r in RessourceSQL.mesRecettes(RessourceSQL.rechercheMailCdR(infoCdR[0], infoCdR[1])))
         {
             boxRecetteCdR.Items.Add(r);
         }
     }
     //Sinon on affiche toutes les recettes
     else
     {
         foreach (Recette r in RessourceSQL.allRecettes)
         {
             boxRecetteCdR.Items.Add(r);
         }
     }
 }
Пример #16
0
        private void boxListeCdr_DropDownClosed(object sender, EventArgs e)
        {
            int count = 0;

            //on vérifie que le sélection n'est pas null
            if (boxListeCdr.SelectedItem != null)
            {
                //on récupère les infos sur le cdr : son nom et son prenom
                string[] infoCdR = boxListeCdr.SelectedItem.ToString().Split(' ');
                foreach (Recette r in RessourceSQL.allRecettes)
                {
                    //On compte les recettes en liées au CdR sélectionné
                    if (RessourceSQL.rechercheMailCdR(infoCdR[0], infoCdR[1]).Contains(r.MailCdR))
                    {
                        count++;
                    }
                }
            }

            nbRecettes.Text = Convert.ToString(count);
        }
Пример #17
0
        private void buttonSupprCdR_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (boxCdR.SelectedItem != null)
                {
                    MessageBoxResult messageSupprCdR = MessageBox.Show("¨Êtes-vous sûr de vouloir supprimer le CdR sélectionné ?", "Supprimer CdR", MessageBoxButton.YesNo);
                    if (messageSupprCdR == MessageBoxResult.Yes)
                    {
                        string[] infoCdR = boxCdR.SelectedItem.ToString().Split(' ');

                        RessourceSQL.supprCdR(infoCdR[0], infoCdR[1]);
                        MessageBoxResult message = MessageBox.Show("Vous avez destitué " + infoCdR[0] + " " + infoCdR[1] + " de son statut de CdR, il reste néanmoins client chez Cooking");
                        boxCdR.Items.Remove(boxCdR.SelectedItem);
                        boxCdR.Items.Refresh();
                    }
                }
            }
            catch
            {
                MessageBoxResult message = MessageBox.Show("Veuillez sélectionner un CdR");
            }
        }
        public windowGestionnaire(string nom, string prenom)
        {
            InitializeComponent();
            messageConnection.Text += " " + nom + " " + prenom;
            RessourceSQL.allRecettes.Sort();

            //Recherche du CdR d'Or
            string nomPrenomCdROr        = "";
            int    maxRecettesCommandees = 0;
            int    nbRecettesCommandees  = 0;

            foreach (string cdr in RessourceSQL.listeCdR())
            {
                string[] infoCdR = cdr.Split(' ');
                foreach (Recette r in RessourceSQL.mesRecettes(RessourceSQL.rechercheMailCdR(infoCdR[0], infoCdR[1])))
                {
                    nbRecettesCommandees += r.NbCommande;
                }
                if (nbRecettesCommandees > maxRecettesCommandees)
                {
                    nomPrenomCdROr        = cdr;
                    maxRecettesCommandees = nbRecettesCommandees;
                }
                nbRecettesCommandees = 0;
            }
            //On modifie alors l'affichage
            labelCdROr.Content += nomPrenomCdROr;
            string[]       CdR_Or         = nomPrenomCdROr.Split(' ');
            List <Recette> recettesCdR_Or = RessourceSQL.mesRecettes(RessourceSQL.rechercheMailCdR(CdR_Or[0], CdR_Or[1]));

            recettesCdR_Or.Sort();
            int j        = recettesCdR_Or.Count() - 1;
            int compteur = 5;

            while (j > 0 && compteur > 0)
            {
                listRecetteOr.Items.Add(recettesCdR_Or[j]);
                j--;
                compteur--;
            }

            //Recherche du CdR de la semaine
            string nomPrenomCdRSemaine          = "";
            int    maxRecettesCommandeesSemaine = -1;
            int    nbRecettesCommandeesSemaine  = 0;

            foreach (string cdr in RessourceSQL.listeCdR())
            {
                string[] infoCdR = cdr.Split(' ');
                foreach (Recette r in RessourceSQL.mesRecettes(RessourceSQL.rechercheMailCdR(infoCdR[0], infoCdR[1])))
                {
                    foreach (DateTime d in r.Commandes)
                    {
                        nbRecettesCommandeesSemaine++;
                    }
                }
                if (nbRecettesCommandeesSemaine > maxRecettesCommandeesSemaine)
                {
                    nomPrenomCdRSemaine          = cdr;
                    maxRecettesCommandeesSemaine = nbRecettesCommandeesSemaine;
                }
                nbRecettesCommandeesSemaine = 0;
            }
            //On modifie l'affichage CdR Semaine
            labelCdRSemaine.Content += nomPrenomCdRSemaine;

            //Top 5 des recettes
            int count = 5;
            int k     = RessourceSQL.allRecettes.Count() - 1;

            while (count > 0 && k > 0)
            {
                listTopRecette.Items.Add(RessourceSQL.allRecettes[k]);
                k--;
                count--;
            }
        }
Пример #19
0
        //Paiement de la commande
        private void buttonPaiement_Click(object sender, RoutedEventArgs e)
        {
            foreach (Recette r in listPanier.Items)
            {
                //Verification des stock en amont
                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");
                        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
                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();
        }
Пример #20
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();
            }
        }