/// <summary>
        /// Méthode qui renvoit la liste des adhérents qui n'ont pas de clubs.
        /// </summary>
        /// <returns></returns>
        public List <Adhérents> listeAdherentsSansClubs()
        {
            List <Adhérents> liste = new List <Adhérents>();
            Adhérents        adhérents;

            using (MySqlConnection connexion = new MySqlConnection(connexionParams))
            {
                connexion.Open();
                string requete = "SELECT id_adherent, nom_adherent, prenom_adherent, datenaissance_adherent" +
                                 ", adresse_adherent, codepostal_adherent, ville_adherent " +
                                 "FROM adherent " +
                                 "WHERE id_club IS NULL;";
                MySqlCommand cmd = new MySqlCommand(requete, connexion);
                using (MySqlDataReader datareader = cmd.ExecuteReader())
                {
                    while (datareader.Read())
                    {
                        adhérents = new Adhérents((string)datareader["nom_adherent"],
                                                  (string)datareader["prenom_adherent"], (DateTime)datareader["datenaissance_adherent"],
                                                  (string)datareader["adresse_adherent"], (string)datareader["codepostal_adherent"],
                                                  (string)datareader["ville_adherent"]);
                        adhérents.Id = (int)datareader["id_adherent"];
                        liste.Add(adhérents);
                    }
                }
            }
            return(liste);
        }
        public List <Adhérents> listeAdherentsInClub(Club club)
        {
            List <Adhérents> liste = new List <Adhérents>();
            Adhérents        adh;

            using (MySqlConnection connexion = new MySqlConnection(connexionParams))
            {
                connexion.Open();
                string requete = "SELECT id_adherent, nom_adherent, prenom_adherent, datenaissance_adherent" +
                                 ", adresse_adherent, codepostal_adherent, ville_adherent " +
                                 "FROM adherent WHERE id_club = @idClub;";
                MySqlCommand cmd = new MySqlCommand(requete, connexion);
                cmd.Parameters.AddWithValue("@idClub", club.id);
                cmd.ExecuteNonQuery();
                using (MySqlDataReader datareader = cmd.ExecuteReader())
                {
                    while (datareader.Read())
                    {
                        adh = new Adhérents((string)datareader["nom_adherent"],
                                            (string)datareader["prenom_adherent"], (DateTime)datareader["datenaissance_adherent"],
                                            (string)datareader["adresse_adherent"], (string)datareader["codepostal_adherent"],
                                            (string)datareader["ville_adherent"]);
                        adh.Id = (int)datareader["id_adherent"];
                        liste.Add(adh);
                    }
                }
            }
            return(liste);
        }
        private void btnValider_Click(object sender, EventArgs e)
        {
            int       positionA = listBoxAdherents.SelectedIndex;
            Adhérents ad        = listeAdherent[positionA];

            int  positionC = listBoxClubs.SelectedIndex;
            Club club      = listeClub[positionC];

            try
            {
                int cotisation = Convert.ToInt32(textBoxCotisation.Text);

                connexion.affectation(ad, club, cotisation);
                ad.idClub = club.id;

                listBoxAdherents.DataSource = null;
                listBoxAdherents.Items.Clear();
                listeAdherent = connexion.listeAdherentsSansClubs();
                foreach (var item in listeAdherent)
                {
                    listBoxAdherents.Items.Add(item.Nom + " " + item.Prenom);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Vous avez rentré une mauvaise valeur pour la cotisation. La valeur doit être entière.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void buttonAjouter_Click(object sender, EventArgs e)
        {
            Connection connexion = new Connection();

            if (textBoxNOM.Text != "")
            {
                Adhérents ajout = new Adhérents(textBoxNOM.Text, textBoxPRENOM.Text
                                                , dateNaissance.Value, textBoxAdresse.Text, textBoxCP.Text,
                                                textBoxVille.Text);
                connexion.ajouterAdherent(ajout);

                textBoxNOM.Text     = "";
                textBoxPRENOM.Text  = "";
                textBoxAdresse.Text = "";
                textBoxCP.Text      = "";
                textBoxVille.Text   = "";

                data.DataSource = null;
                data.Update();
                data.Refresh();
                data.DataSource            = connexion.listeAdherents();
                data.Columns[0].Visible    = false;
                data.Columns[3].HeaderText = "Date de Naissance";
                data.Columns[5].HeaderText = "Code Postal";

                MessageBox.Show("Vous venez de créer l'adhérent " + ajout.Prenom + " " + ajout.Nom, "Succès", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Erreur lors de la création de l'adhérent", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 /// <summary>
 /// Méthode qui supprime un adhérent de la base de données.
 /// </summary>
 /// <param name="adhérents"></param>
 public void supprimerAdherent(Adhérents adhérents)
 {
     using (MySqlConnection connexion = new MySqlConnection(connexionParams))
     {
         connexion.Open();
         string       requete = "DELETE FROM adherent WHERE id_adherent = @id";
         MySqlCommand cmd     = new MySqlCommand(requete, connexion);
         cmd.Parameters.AddWithValue("@id", adhérents.Id);
         cmd.ExecuteNonQuery();
     }
 }
 /// <summary>
 /// Méthode qui désaffecte un adhérent à son club.
 /// </summary>
 /// <param name="adhérents"></param>
 public void desaffectation(Adhérents adhérents)
 {
     using (MySqlConnection connexion = new MySqlConnection(connexionParams))
     {
         connexion.Open();
         string requete = "UPDATE adherent " +
                          "SET id_club = @idClub, cotisation_adherent = NULL " +
                          "WHERE id_adherent = @idAdherent;";
         MySqlCommand cmd = new MySqlCommand(requete, connexion);
         cmd.Parameters.AddWithValue("@idClub", null);
         cmd.Parameters.AddWithValue("@idAdherent", adhérents.Id);
         cmd.ExecuteNonQuery();
     }
 }
 /// <summary>
 /// Méthode qui affecte des adhérents d'un club dans un des évènements de ce dernier.
 /// </summary>
 /// <param name="adh"></param>
 /// <param name="even"></param>
 public void affecterAdhToEvent(Adhérents adh, Evenements even)
 {
     using (MySqlConnection connexion = new MySqlConnection(connexionParams))
     {
         connexion.Open();
         string requete = "UPDATE adherent " +
                          "SET id_evenement = @idE " +
                          "WHERE id_adherent = @idAdherent;";
         MySqlCommand cmd = new MySqlCommand(requete, connexion);
         cmd.Parameters.AddWithValue("@idE", even.id);
         cmd.Parameters.AddWithValue("@idAdherent", adh.Id);
         cmd.ExecuteNonQuery();
     }
 }
        private void buttonSuppression_Click(object sender, EventArgs e)
        {
            int positionA = listBoxSupprimerAdh.SelectedIndex;

            liste = connexion.listeAdherents();
            Adhérents ad = liste[positionA];

            connexion.supprimerAdherent(ad);
            refreshListBox();

            data.DataSource = null;
            data.Update();
            data.Refresh();
            data.DataSource            = connexion.listeAdherents();
            data.Columns[0].Visible    = false;
            data.Columns[3].HeaderText = "Date de Naissance";
            data.Columns[5].HeaderText = "Code Postal";
        }
 /// <summary>
 /// Méthode qui ajoute un adhérent à la base de données.
 /// </summary>
 /// <param name="adhérents"></param>
 public void ajouterAdherent(Adhérents adhérents)
 {
     using (MySqlConnection connexion = new MySqlConnection(connexionParams))
     {
         connexion.Open();
         string requete = "INSERT INTO adherent (id_adherent, nom_adherent, " +
                          "prenom_adherent, datenaissance_adherent, adresse_adherent, codepostal_adherent, " +
                          "ville_adherent, cotisation_adherent, id_club, id_evenement) VALUES (NULL, " +
                          "@nom, @prenom, @date, @adresse, @codepostal, @ville, NULL, NULL, NULL);";
         MySqlCommand cmd = new MySqlCommand(requete, connexion);
         cmd.Parameters.AddWithValue("@nom", adhérents.Nom);
         cmd.Parameters.AddWithValue("@prenom", adhérents.Prenom);
         cmd.Parameters.AddWithValue("@date", adhérents.Naissance);
         cmd.Parameters.AddWithValue("@adresse", adhérents.Adresse);
         cmd.Parameters.AddWithValue("@codepostal", adhérents.Codepostal);
         cmd.Parameters.AddWithValue("@ville", adhérents.Ville);
         cmd.ExecuteNonQuery();
     }
 }
        /// <summary>
        /// Méthode qui renvoit une liste des adhérents de la base de données.
        /// </summary>
        /// <returns></returns>
        public List <Adhérents> listeAdherents()
        {
            List <Adhérents> liste = new List <Adhérents>();
            Adhérents        adhérents;

            using (MySqlConnection connexion = new MySqlConnection(connexionParams))
            {
                connexion.Open();
                string requete = "SELECT id_adherent, nom_adherent, prenom_adherent, datenaissance_adherent" +
                                 ", adresse_adherent, codepostal_adherent, ville_adherent, id_club, cotisation_adherent " +
                                 "FROM adherent;";
                MySqlCommand cmd = new MySqlCommand(requete, connexion);
                using (MySqlDataReader datareader = cmd.ExecuteReader())
                {
                    while (datareader.Read())
                    {
                        adhérents = new Adhérents((string)datareader["nom_adherent"],
                                                  (string)datareader["prenom_adherent"], (DateTime)datareader["datenaissance_adherent"],
                                                  (string)datareader["adresse_adherent"], (string)datareader["codepostal_adherent"],
                                                  (string)datareader["ville_adherent"]);
                        adhérents.Id = (int)datareader["id_adherent"];
                        if (datareader["id_club"] != DBNull.Value)
                        {
                            adhérents.idClub = (int)datareader["id_club"];
                        }
                        if (datareader["cotisation_adherent"] == DBNull.Value)
                        {
                            adhérents.cotisation = 0;
                        }
                        else
                        {
                            adhérents.cotisation = (int)datareader["cotisation_adherent"];
                        }

                        liste.Add(adhérents);
                    }
                }
            }
            return(liste);
        }
 /// <summary>
 /// Méthode qui permet de modifier un adhérent.
 /// </summary>
 /// <param name="adh"></param>
 public void modifierAdh(Adhérents adh)
 {
     using (MySqlConnection connexion = new MySqlConnection(connexionParams))
     {
         connexion.Open();
         string requete = "UPDATE adherent " +
                          "SET nom_adherent = @nom, " +
                          "prenom_adherent = @prenom, " +
                          "datenaissance_adherent = @date, adresse_adherent=@adresse, codepostal_adherent=@cp, " +
                          "ville_adherent=@ville, cotisation_adherent=@cotisation " +
                          "WHERE id_adherent = @id;";
         MySqlCommand cmd = new MySqlCommand(requete, connexion);
         cmd.Parameters.AddWithValue("@nom", adh.Nom);
         cmd.Parameters.AddWithValue("@cotisation", adh.cotisation);
         cmd.Parameters.AddWithValue("@prenom", adh.Prenom);
         cmd.Parameters.AddWithValue("@date", adh.Naissance);
         cmd.Parameters.AddWithValue("@adresse", adh.Adresse);
         cmd.Parameters.AddWithValue("@cp", adh.Codepostal);
         cmd.Parameters.AddWithValue("@ville", adh.Ville);
         cmd.Parameters.AddWithValue("@id", adh.Id);
         cmd.ExecuteNonQuery();
     }
 }