private void buttonDesinscrireAdherentActivite_Click(object sender, EventArgs e)
        {
            /// Récupération de la ligne courante Activité et des valeurs de ses colonnes dans une variable currentRow
            cda27_bd2DataSet.activitesRow currentRow = (cda27_bd2DataSet.activitesRow)((DataRowView)activitesBindingSourceListeAct.Current).Row;
            /// Récupération de la ligne courante des inscriptions de l'activité et des valeurs de ses colonnes dans une variable currentRow2
            cda27_bd2DataSet.adherentinscriptionRow currentRow2 = (cda27_bd2DataSet.adherentinscriptionRow)((DataRowView)adherentinscriptionBindingSource.Current).Row;
            /// Je stock l'IdActivite de la la ligne courante de l'activité pour l'utilisation future
            int IdActivite = currentRow.IdActivite;
            /// J'affiche un message de confirmation de suppression
            DialogResult DiagResult = MessageBox.Show(String.Format(Properties.Resources.STR_MESSAGE_CONFIRMATION_SUPPRESSION, currentRow2.Prénom),
                                                      String.Format(Properties.Resources.STR_TITRE_CONFIRMATION_SUPPRESSION, currentRow2.Prénom, currentRow2.Nom),
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Information,
                                                      MessageBoxDefaultButton.Button2);

            /// Si l'utilisateur clique sur Oui
            if (DiagResult == DialogResult.Yes)
            {
                /// Je procède à la suppression de l'inscription avec les valeurs de currentRow2
                int nb = inscriptionTableAdapter1.Delete(currentRow2.IdInscription, currentRow2.DInscription, currentRow2.NbInvités,
                                                         currentRow2.IdAdherent, currentRow2.IdActivite);
                /// Si la suppression a échouée
                if (nb == 0)
                {
                    /// J'affiche un message correspondant
                    MessageBox.Show(Properties.Resources.STR_MESSAGE_DESINSCRIPTION_ERREUR, Properties.Resources.STR_TITRE_DESINSCRIPTION_ERREUR, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            /// Je FillIntegral
            FillIntegral();
            /// Je me repositionne sur l'activité précédemment séléctionnée
            activitesBindingSourceListeAct.Position = activitesBindingSourceListeAct.Find("IdActivite", IdActivite);
        }
        private void buttonModifierInscriptionActivite_Click(object sender, EventArgs e)
        {
            /// Récupération de la ligne courante Activité et des valeurs de ses colonnes dans une variable currentRow
            cda27_bd2DataSet.activitesRow currentRow = (cda27_bd2DataSet.activitesRow)((DataRowView)activitesBindingSourceListeAct.Current).Row;
            /// Je stock l'IdActivite de la la ligne courante de l'activité pour l'utilisation future
            int IdActivite = currentRow.IdActivite;

            /// Récupération de la ligne courante des inscriptions de l'activité et des valeurs de ses colonnes dans une variable currentRow2
            cda27_bd2DataSet.adherentinscriptionRow currentRow2 = (cda27_bd2DataSet.adherentinscriptionRow)((DataRowView)adherentinscriptionBindingSource.Current).Row;
            using (FormInscriptionActivite frmInscriptionActivite = new FormInscriptionActivite())
            {
                /// Envoie des valeurs des currentRow et currentRow2 dans des variables directement à la fenêtre fille
                frmInscriptionActivite.IdActivite = currentRow.IdActivite;
                frmInscriptionActivite.IdAdherent = currentRow2.IdAdherent;
                frmInscriptionActivite.textBoxIntituleAct.Text           = currentRow.Intitulé;
                frmInscriptionActivite.textBoxDescription.Text           = currentRow.Description;
                frmInscriptionActivite.textBoxTarifAdherent.Text         = currentRow.Tarif_adhérent;
                frmInscriptionActivite.textBoxTarifInvite.Text           = currentRow.Tarif_invité;
                frmInscriptionActivite.dateTimePickerDateDebutAct.Value  = currentRow.Date_de_début;
                frmInscriptionActivite.dateTimePickerDateFinAct.Value    = currentRow.Date_de_fin;
                frmInscriptionActivite.dateTimePickerDateLimiteAct.Value = currentRow._Date_limite_d_inscription;
                frmInscriptionActivite.textBoxLogin.Text     = currentRow2.Login;
                frmInscriptionActivite.textBoxNom.Text       = currentRow2.Nom;
                frmInscriptionActivite.textBoxPrenom.Text    = currentRow2.Prénom;
                frmInscriptionActivite.textBoxCylindrée.Text = currentRow2.Cylindrée;
                /// Initialisation du textBox du nombre d'invité à la valeur de l'inscription de l'adhérent
                frmInscriptionActivite.textBoxNombreInvite.Text = Convert.ToString(currentRow2.NbInvités);
                /// Je nomme le bouton
                frmInscriptionActivite.buttonInscrireAdherentActivite.Text = "Modifier l'inscription de l'adhérent";
                /// Je dis qu'une modification est en cours pour la fenêtre fille
                frmInscriptionActivite.ModificationEnCours = true;
                /// J'envoie le bindingSource à la fenêtre fille
                frmInscriptionActivite.inscriptionAct = adherentinscriptionBindingSource;
                /// Affichage de la fenêtre en mode Dialog
                frmInscriptionActivite.ShowDialog();
                /// Si l'inscription se termine
                if (frmInscriptionActivite.InscriptionFinie == 1)
                {
                    /// Je FillIntegral
                    FillIntegral();
                    /// Je me repositionne sur l'activité précédemment séléctionnée
                    activitesBindingSourceListeAct.Position = activitesBindingSourceListeAct.Find("IdActivite", IdActivite);
                    /// InscriptionFinie est à présent à 0
                    frmInscriptionActivite.InscriptionFinie = 0;
                }
            }
        }
        /// <summary>
        /// Action du bouton Inscrire (Inscrire l'adhérent à une activité)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonInscrireAdherentActivite_Click(object sender, EventArgs e)
        {
            if (ModificationEnCours == true)
            {
                /// Verification du nombre d'invité
                if (!IsNbInvite(textBoxNombreInvite.Text))
                {
                    /// Si l'expression régulière échoue, message : Nombre d'invité non valide
                    MessageBox.Show(Properties.Resources.STR_MESSAGE_NBINVITE_NONVALIDE,
                                    Properties.Resources.STR_TITRE_NBINVITE_NONVALIDE,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    /// Sinon, j'exécute la requête d'insertion avec la date du jour,
                    /// L'IdAdherent précédemment extrait du FormMain et du BindingSource
                    /// Et l'IdActivite
                    ///
                    cda27_bd2DataSet.adherentinscriptionRow currentRow2 = (cda27_bd2DataSet.adherentinscriptionRow)((DataRowView)inscriptionAct.Current).Row;

                    int nb = inscriptionTableAdapter1.Update(DateTime.Now,
                                                             Convert.ToInt32(textBoxNombreInvite.Text),
                                                             IdAdherent,
                                                             IdActivite,
                                                             currentRow2.IdInscription,
                                                             currentRow2.DInscription,
                                                             currentRow2.NbInvités,
                                                             currentRow2.IdAdherent,
                                                             currentRow2.IdActivite);
                    /// Si la requête échoue
                    if (nb == 0)
                    {
                        /// J'affiche un message d'echec
                        MessageBox.Show(Properties.Resources.STR_MESSAGE_INSCRIPTION_FAIL,
                                        Properties.Resources.STR_TITRE_INSCRIPTION_FAIL,
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                        /// Je quitte l'évenement
                        return;
                    }
                    /// L'inscription est finie, j'utiliserai la variable InscriptionFinie dans le FormMain
                    InscriptionFinie = 1;
                    /// Je ferme la fenêtre
                    Close();
                }
            }
            else
            {
                /// Verification du nombre d'invité
                if (!IsNbInvite(textBoxNombreInvite.Text))
                {
                    /// Si l'expression régulière échoue, message : Nombre d'invité non valide
                    MessageBox.Show(Properties.Resources.STR_MESSAGE_NBINVITE_NONVALIDE,
                                    Properties.Resources.STR_TITRE_NBINVITE_NONVALIDE,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    /// Sinon, j'exécute la requête d'insertion avec la date du jour,
                    /// L'IdAdherent précédemment extrait du FormMain et du BindingSource
                    /// Et l'IdActivite
                    int nb = inscriptionTableAdapter1.Insert(DateTime.Now,
                                                             Convert.ToInt32(textBoxNombreInvite.Text),
                                                             IdAdherent,
                                                             IdActivite);
                    /// Si la requête échoue
                    if (nb == 0)
                    {
                        /// J'affiche un message d'echec
                        MessageBox.Show(Properties.Resources.STR_MESSAGE_INSCRIPTION_FAIL,
                                        Properties.Resources.STR_TITRE_INSCRIPTION_FAIL,
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                        /// Je quitte l'évenement
                        return;
                    }
                    /// L'inscription est finie, j'utiliserai la variable InscriptionFinie dans le FormMain
                    InscriptionFinie = 1;
                    /// Je ferme la fenêtre
                    Close();
                }
            }
        }