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(); }
//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(); }
//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(); }