예제 #1
0
        public static void ajouterRecette(Recette recette)
        {
            string          connectionString = "SERVER=localhost;PORT=3306;DATABASE=cooking;UID=root;PASSWORD="******";Convert Zero Datetime=True";
            MySqlConnection connection       = new MySqlConnection(connectionString);

            connection.Open();

            MySqlCommand command     = connection.CreateCommand();
            string       ingredients = "";

            foreach (KeyValuePair <Produit, double> produit in recette.Ingredients)
            {
                ingredients += produit.Key.NomProduit + "/" + produit.Value + ";";
            }
            ingredients = ingredients.Remove(ingredients.Length - 1);
            string requete = "INSERT INTO recette (nomRecette, type, ingredients, descriptif, prixVente, remuneration, mailCdR) VALUES (" + "'" + recette.Nom + "'," + "'" + recette.Type + "'," + "'" + ingredients + "'," + "'" + recette.Descriptif + "'," + "'" + recette.PrixVente.ToString() + "'," + "'" + recette.RemunerationCdRCook.ToString() + "'," + "'" + recette.MailCdR + "') ;";

            command.CommandText = requete;

            MySqlDataReader readerRecette;

            readerRecette = command.ExecuteReader();
            toutesRecettes();
            connection.Close();
        }
예제 #2
0
        //On met à jour la liste des recettes
        public static void toutesRecettes()
        {
            allRecettes.Clear();
            tousProduits();
            string          connectionString = "SERVER=localhost;PORT=3306;DATABASE=cooking;UID=root;PASSWORD="******";Convert Zero Datetime=True";
            MySqlConnection connection       = new MySqlConnection(connectionString);

            connection.Open();

            MySqlCommand command = connection.CreateCommand();
            string       requete = "SELECT nomRecette, type, ingredients, descriptif, prixVente, remuneration, mailCdr, nbCommande FROM recette;";

            command.CommandText = requete;

            MySqlDataReader reader;

            reader = command.ExecuteReader();
            while (reader.Read())
            {
                Recette recetteTable = new Recette();
                //string currentRowAsString = "";
                recetteTable.Nom  = reader.GetValue(0).ToString();
                recetteTable.Type = reader.GetValue(1).ToString();
                Dictionary <Produit, double> ingredients = new Dictionary <Produit, double>();
                string[] Ingredients = reader.GetValue(2).ToString().Split(';');
                foreach (string i in Ingredients)
                {
                    string[] ingredient_quantite = i.Split('/');
                    foreach (Produit p in allProduits)
                    {
                        if (p.NomProduit == ingredient_quantite[0])
                        {
                            ingredients.Add(p, Convert.ToDouble(ingredient_quantite[1]));
                        }
                    }
                }
                recetteTable.Ingredients         = ingredients;
                recetteTable.Descriptif          = reader.GetValue(3).ToString();
                recetteTable.PrixVente           = Convert.ToDouble(reader.GetValue(4));
                recetteTable.RemunerationCdRCook = reader.GetInt32(5);
                recetteTable.MailCdR             = reader.GetValue(6).ToString();
                recetteTable.NbCommande          = reader.GetInt32(7);
                allRecettes.Add(recetteTable);
            }
            connection.Close();
        }
예제 #3
0
        //Fonction lancée à chaque commande
        public static void CdRPaiementCook(Recette recette, bool commande10, bool commande50)
        {
            string          connectionString = "SERVER=localhost;PORT=3306;DATABASE=cooking;UID=root;PASSWORD="******";Convert Zero Datetime=True";
            MySqlConnection connection       = new MySqlConnection(connectionString);

            connection.Open();

            //On met à jour le prix de la recette et sa rémunération en cook si besoin
            if (commande10 || commande50)
            {
                if (commande10 && commande50)
                {
                    recette.PrixVente          += 7;
                    recette.RemunerationCdRCook = 4;
                }
                else if (commande10)
                {
                    recette.PrixVente          += 2;
                    recette.RemunerationCdRCook = 2;
                }
                else if (commande50)
                {
                    recette.PrixVente          += 5;
                    recette.RemunerationCdRCook = 4;
                }
            }
            MySqlCommand commandRecette = connection.CreateCommand();
            string       requeteRecette = "";

            try
            {
                string[] prix      = recette.PrixVente.ToString().Split(',');
                string   prixVente = prix[0] + "." + prix[1];
                requeteRecette = "UPDATE recette SET prixVente=" + prixVente + ", remuneration=" + recette.RemunerationCdRCook + ", nbCommande=" + recette.NbCommande + " WHERE mailCdr=" + "'" + recette.MailCdR + "'" + " AND nomRecette=" + "'" + recette.Nom + "'" + ";";
            }
            catch
            {
                requeteRecette = "UPDATE recette SET prixVente=" + "'" + recette.PrixVente + "'" + ", remuneration=" + recette.RemunerationCdRCook + ", nbCommande=" + recette.NbCommande + " WHERE mailCdr=" + "'" + recette.MailCdR + "'" + " AND nomRecette=" + "'" + recette.Nom + "'" + ";";
            }
            commandRecette.CommandText = requeteRecette;
            MySqlDataReader readerRecette;

            readerRecette = commandRecette.ExecuteReader();
            connection.Close();

            //On met à jour le stocks des produits
            foreach (KeyValuePair <Produit, double> produit in recette.Ingredients)
            {
                MySqlConnection connectionProduit = new MySqlConnection(connectionString);
                connectionProduit.Open();
                MySqlCommand commandProduit = connectionProduit.CreateCommand();
                string       requeteProduit = "";
                try
                {
                    string[] stock       = produit.Key.StockActuel.ToString().Split(',');
                    string   stockActuel = stock[0] + "." + stock[1];
                    requeteProduit = "UPDATE produit SET stockActuel=" + stockActuel + " WHERE nomProduit=" + "'" + produit.Key.NomProduit + "'" + " ;";
                }
                catch
                {
                    requeteProduit = "UPDATE produit SET stockActuel=" + produit.Key.StockActuel + " WHERE nomProduit=" + "'" + produit.Key.NomProduit + "'" + " ;";
                }
                commandProduit.CommandText = requeteProduit;
                MySqlDataReader readerProduit;
                readerProduit = commandProduit.ExecuteReader();
                connectionProduit.Close();
            }

            //On paie le CdR avec le nb de Cook correspondant
            MySqlConnection connectionCdR = new MySqlConnection(connectionString);

            connectionCdR.Open();
            MySqlCommand commandCdR = connectionCdR.CreateCommand();
            int          nbCook     = recette.RemunerationCdRCook * recette.Quantite + nbCookCdR(recette.MailCdR);
            string       requeteCdR = "UPDATE cdr SET nbCook=" + nbCook + " WHERE mailCdr=" + "'" + recette.MailCdR + "'" + ";";

            commandCdR.CommandText = requeteCdR;
            MySqlDataReader readerCdR;

            readerCdR = commandCdR.ExecuteReader();
            connectionCdR.Close();
        }