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."); } }
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(); } }
public windowDemo4() { InitializeComponent(); int count = RessourceSQL.NbRecettes(); nbRecettes.Text = Convert.ToString(count); }
public windowDemo2() { InitializeComponent(); int count = RessourceSQL.NbClients(); nbClients.Text = Convert.ToString(count); }
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; }
//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; }
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"); } }
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); } } }
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); } }
//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); } } }
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); }
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--; } }
//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(); }
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(); } }