/// <summary>
        /// Rechercher une personne dans la liste en connaissant sa clé
        /// </summary>
        /// <param name="unNumPersonne">le numéro (=la clé) de la personne à rechercher</param>
        /// <returns>la référence à la personne (ou bien lève une erreur)</returns>
        public static MPersonnes RestituerPersonne(Int32 recherche)
        {
            MPersonnes   unePersonne = null;
            MySqlCommand cmd         = ConnexionBase.GetConnexion().CreateCommand();

            cmd.CommandText = "SELECT * FROM personnes WHERE num_personne = @recherche";
            cmd.Parameters.AddWithValue("@recherche", recherche);
            MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                unePersonne = new MPersonnes();
                // affectation des 10 lignes
                unePersonne.NumPersonne = reader.GetInt32(0);
                unePersonne.Nom         = reader.GetString("nom");
                unePersonne.Prenom      = reader.GetString("prenom");
                unePersonne.Naissance   = reader.GetDateTime("date_naissance");
                unePersonne.Adresse1    = reader.GetString("adresse1");
                unePersonne.Email       = reader.GetString("email");
                unePersonne.Telephone   = reader.GetString("telephone");
                unePersonne.CodePostal  = reader.GetString("cp");
                unePersonne.Ville       = reader.GetString("ville");
                unePersonne.NumAdherent = reader.GetInt32("num_adherent");
            }
            reader.Close();
            if (unePersonne == null)
            {
                throw new Exception("Aucune personne pour le numéro " + recherche);
            }
            else
            {
                return(unePersonne);
            }
        }
예제 #2
0
        private void btnSupprimer_Click(object sender, EventArgs e)
        {
            try
            {
                // si une personne est pointée dans la datagridview
                if (this.grdPersonnes.CurrentRow != null)
                {
                    Int32 clePersonne;
                    clePersonne = (Int32)this.grdPersonnes.CurrentRow.Cells[0].Value;

                    personne = MPersonnes.RestituerPersonne(clePersonne);

                    clePersonne = Int32.Parse(this.grdPersonnes.CurrentRow.Cells[0].Value.ToString());
                    // demande confirmation de la suppression
                    if (MessageBox.Show("Voulez-vous supprimer la personne numéro : " + clePersonne.ToString(), "Suppression", MessageBoxButtons.YesNo,
                                        MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        MPersonnes.DeletePersonne(clePersonne);
                        MAdherents.DeleteAdherent(personne.NumAdherent);
                        // réaffiche la datagridview
                        affichePersonnes();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
예제 #3
0
 public void affichePersonnes()
 {
     // détermine l'origine des données à afficher : appel de la méthode de la classe MPersonnes qui alimente
     // et retourne une copie de la collection des personnes sous forme de datatable
     this.grdPersonnes.DataSource = MPersonnes.ListerPersonnes(txtbRecherche.Text);
     // rafraîchit l'affichage
     this.grdPersonnes.Refresh();
 }
        /// <summary>
        /// méthode pour mettre à jour la personne dans l'application et également dans la base de données
        /// </summary>
        /// <param name="pers"></param>
        public static void UpdatePersonne(MPersonnes pers)
        {
            MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand();

            cmd.CommandText = "UPDATE personnes SET nom=@nom, adresse1=@adresse, email=@email, telephone=@telephone, cp=@cp, ville=@ville " +
                              "WHERE num_personne=@numPersonne";

            cmd.Parameters.AddWithValue("@nom", pers.Nom);
            cmd.Parameters.AddWithValue("@adresse", pers.Adresse1);
            cmd.Parameters.AddWithValue("@email", pers.Email);
            cmd.Parameters.AddWithValue("@telephone", pers.Telephone);
            cmd.Parameters.AddWithValue("@cp", pers.CodePostal);
            cmd.Parameters.AddWithValue("@ville", pers.Ville);
            cmd.Parameters.AddWithValue("@numPersonne", pers.NumPersonne);
            cmd.ExecuteNonQuery();
        }
예제 #5
0
        /// <summary>
        /// ouvre la feuille détail en y affichant la personne correspondant à la ligne double-cliquée
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void grdPersonnes_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                Int32 iPersonne;
                iPersonne = (Int32)this.grdPersonnes.CurrentRow.Cells[0].Value;

                personne = MPersonnes.RestituerPersonne(iPersonne);
                // instancie le form consultation personne
                frmConsultationPersonne frmConsulter = new frmConsultationPersonne(personne);
                // affiche le form de consultation d'une personne
                frmConsulter.ShowDialog();
                // rafraîchit la datagridview quand le form est fermé
                this.affichePersonnes();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
예제 #6
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                MAdherents modifierAdherent = new MAdherents();
                modifierAdherent.dateCotisation = DateTime.Parse(base.dateTimeCotisation.Text);
                modifierAdherent.numAdherent    = (MPersonnes.RestituerPersonne(Int32.Parse(base.txtbNumPersonne.Text))).NumAdherent;
                MAdherents.UpdateCotisation(modifierAdherent);

                // crée une référence d'objets MPersonnes
                MPersonnes modifierPersonne = new MPersonnes();

                // affecte des variables/propriétés
                modifierPersonne.NumPersonne = Int32.Parse(base.txtbNumPersonne.Text);
                modifierPersonne.Nom         = base.txtbNom.Text.ToUpper();
                modifierPersonne.Prenom      = base.txtbPrenom.Text.ToLower();
                modifierPersonne.CodePostal  = base.txtbCodePostal.Text;
                modifierPersonne.Ville       = base.txtbVille.Text.ToUpper();
                modifierPersonne.Adresse1    = base.txtbAdresse.Text;
                modifierPersonne.Email       = base.txtbEmail.Text;
                modifierPersonne.Telephone   = base.txtbTelephone.Text;
                modifierPersonne.Naissance   = DateTime.Parse(base.dateTimeNaissance.Text);

                // enregistrement de la modification de la personne dans la BDD
                MPersonnes.UpdatePersonne(modifierPersonne);

                // ajoute la référence d'objet MPersonnes dans la collection
                Donnees.tablePersonnes = MPersonnes.ListerPersonnes("");
                // incrémentation du compteur de personnes
                MPersonnes.NPersonnes = 1;

                this.Close();

                // fermeture de la boite de dialogue par validation
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
        /// <summary>
        /// méthode pour insérer une personne dans l'application ainsi que dans la base de données
        /// </summary>
        /// <param name="ad"></param>
        public static void InsertPersonne(MPersonnes ad)
        {
            // crée la commande sql
            MySqlCommand cmd = ConnexionBase.GetConnexion().CreateCommand();

            cmd.CommandText = "INSERT INTO personnes(num_personne, num_adherent, nom, prenom, date_naissance, adresse1, email, telephone, cp, ville) " +
                              "VALUES (@NumPersonne, @NumAdherent, @nom, @prenom, @dateNaissance, @adresse1, @email, @telephone, @cp, @ville)";

            cmd.Parameters.AddWithValue("@numAdherent", ad.NumAdherent);
            cmd.Parameters.AddWithValue("@numPersonne", ad.NumPersonne);
            cmd.Parameters.AddWithValue("@nom", ad.Nom);
            cmd.Parameters.AddWithValue("@prenom", ad.Prenom);
            cmd.Parameters.AddWithValue("@dateNaissance", ad.Naissance);
            cmd.Parameters.AddWithValue("@adresse1", ad.Adresse1);
            cmd.Parameters.AddWithValue("@email", ad.Email);
            cmd.Parameters.AddWithValue("@telephone", ad.Telephone);
            cmd.Parameters.AddWithValue("@cp", ad.CodePostal);
            cmd.Parameters.AddWithValue("@ville", ad.Ville);
            // exécute la requête
            cmd.ExecuteNonQuery();
        }
 /// <summary>
 /// modifier les données de la personne
 /// tout est modifiable sauf le numPersonne (= clé de la collection)
 /// </summary>
 /// <param name="unePersonne">la référence au nouvel objet MPersonnes pour cette clé</param>
 public void Remplacer(MPersonnes unePersonne)
 {
     // modifie la référence de la personne stockée dans la collection
     this.lesPersonnes[unePersonne.NumPersonne] = unePersonne;
 }
 /// <summary>
 /// ajouter une personne à la collection
 /// (reçoit la référence à la personne et en déduit la clé (= numPersonne) pour la collection)
 /// </summary>
 /// <param name="unePersonne">la référence de la personne à ajouter</param>
 public void Ajouter(MPersonnes unePersonne)
 {
     this.lesPersonnes.Add(unePersonne.NumPersonne, unePersonne);
 }
예제 #10
0
 public frmConsultationPersonne(MPersonnes personne)
 {
     this.laPersonne = personne;
     InitializeComponent();
 }
예제 #11
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (chkParticuliers.Checked == true)
                {
                    MAdherents nouvelAdherent = new MAdherents();
                    nouvelAdherent.dateInscription = DateTime.Parse(base.dateTimeInscription.Text);
                    nouvelAdherent.dateCotisation  = DateTime.Parse(base.dateTimeCotisation.Text);
                    MAdherents.InsertAdherent(nouvelAdherent);

                    // crée une référence d'objets MAdherents
                    MPersonnes nouvellePersonne = new MPersonnes(leNumero, leNom, lePrenom, uneAdresse1, leTelephone, unEmail, uneDate, leCodePostal,
                                                                 laVille);

                    // affecte des variables/propriétés
                    nouvellePersonne.NumPersonne = Int32.Parse(base.txtbNumPersonne.Text);
                    nouvellePersonne.NumAdherent = (Int32)(MAdherents.LastInsertId());
                    nouvellePersonne.Nom         = base.txtbNom.Text.ToUpper();
                    nouvellePersonne.Prenom      = base.txtbPrenom.Text.ToLower();
                    nouvellePersonne.CodePostal  = base.txtbCodePostal.Text;
                    nouvellePersonne.Ville       = base.txtbVille.Text.ToUpper();
                    nouvellePersonne.Adresse1    = base.txtbAdresse.Text;
                    nouvellePersonne.Telephone   = base.txtbTelephone.Text;
                    nouvellePersonne.Email       = base.txtbEmail.Text;
                    nouvellePersonne.Naissance   = DateTime.Parse(base.dateTimeNaissance.Text);

                    // enregistrement de la nouvelle personne dans la BDD
                    MPersonnes.InsertPersonne(nouvellePersonne);

                    // ajoute la référence d'objet MPersonnes dans la collection
                    Donnees.tablePersonnes = MPersonnes.ListerPersonnes("");
                    // incrémentation du compteur de personnes
                    MPersonnes.NPersonnes += 1;
                }
                else
                {
                    chkScolaires.Checked = true;
                    MAdherents nouvelAdherent = new MAdherents();
                    nouvelAdherent.dateInscription = DateTime.Parse(base.dateTimeInscriptionSco.Text);
                    MAdherents.InsertAdherent(nouvelAdherent);

                    MScolaires nouveauScolaire = new MScolaires(leCode, uneVille, uneEcole, uneClasse, unNom, unPrenom, unCP);

                    nouveauScolaire.Code          = Int32.Parse(base.txtbCodeSco.Text);
                    nouveauScolaire.NumAdherent   = (Int32)(MAdherents.LastInsertId());
                    nouveauScolaire.Ville         = base.txtbVilleEcole.Text;
                    nouveauScolaire.CodePostal    = base.txtbCP.Text;
                    nouveauScolaire.Etablissement = base.txtbEcole.Text;
                    nouveauScolaire.Classe        = base.cbbClasse.Text;
                    nouveauScolaire.Nom           = base.txtbNomProf.Text;
                    nouveauScolaire.Prenom        = base.txtbPrenomProf.Text;

                    MScolaires.InsertScolaire(nouveauScolaire);

                    Donnees.tableScolaires = MScolaires.ListerScolaires("");
                    MScolaires.NScolaires += 1;
                }
                this.Close();

                // fermeture de la boite de dialogue par validation
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Une erreur est survenue \n" + ex.Message);
            }
        }
예제 #12
0
 private void txtbRecherche_TextChanged(object sender, EventArgs e)
 {
     MPersonnes.ListerPersonnes(txtbRecherche.Text);
     affichePersonnes();
 }