/// <summary> /// Action après le clique "Ajouter" dans l'onglet Adhérent (Ajouter un adhérent) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAjouterAdherent_Click(object sender, EventArgs e) { /// Using de la formDetailAdherent (nouvelle fenêtre) pour faire un "dispose" à la fermeture using (formDetailAdherent frmDetailAdherent = new formDetailAdherent()) { /// Les choses inutiles dans l'ajout d'un adhérents deviennent invisibles frmDetailAdherent.dataGridViewFormDetailAdherentInscrits.Visible = false; frmDetailAdherent.lblInscritsAuxActivites.Visible = false; frmDetailAdherent.btModifier.Visible = false; frmDetailAdherent.btSupprimer.Visible = false; frmDetailAdherent.btDesinscrireAdherent.Visible = false; /// Je rends la date d'adhésion non modifiable (L'adhérent aura la date du jour comme date d'adhésion) frmDetailAdherent.dateTimePickerDateAdhesion.Enabled = false; /// J'affiche la fenêtre en mode Dialog (le using n'aurait pas été possible sans ça) frmDetailAdherent.ShowDialog(); /// Si la fenêtre se ferme if (frmDetailAdherent.IsClose) { /// Je FillIntegral FillIntegral(); /// Je me repositionne sur la ligne que je viens d'ajouter via l'IdAdherent adherentsBindingSource.Position = adherentsBindingSource.Find("IdAdherent", frmDetailAdherent.LastInsert); /// Je rétablie IsClose à 0 frmDetailAdherent.IsClose = false; } } }
/// <summary> /// Action du bouton Modifier dans l'onglet Adhérent (Modifier un adhérent) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btModifier_Click(object sender, EventArgs e) { /// Using de la formDetailAdherent (nouvelle fenêtre) pour faire un "dispose" à la fermeture using (formDetailAdherent formDetailAdherent = new formDetailAdherent()) { /// Récupération de la ligne courrante pour une utilisation des valeurs de ses colonnes cda27_bd2DataSet.adherentsRow currentRow = (cda27_bd2DataSet.adherentsRow)((DataRowView)adherentsBindingSource.Current).Row; if (currentRow.IdAdherent == 100) { MessageBox.Show(Properties.Resources.STR_MESSAGE_IMPOSSIBLE_MODIFIER_SECRETAIRE, Properties.Resources.STR_TITRE_IMPOSSIBLE_SUPPRIMER_SECRETAIRE, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } /// Mise des valeurs dans les TextBox et dateTimePicker correspondant à l'adhérent formDetailAdherent.textBoxNom.Text = currentRow.Nom; formDetailAdherent.textBoxPrenom.Text = currentRow.Prénom; formDetailAdherent.textBoxAge.Text = null; formDetailAdherent.dateTimePickerDateDeNaissance.Value = currentRow.Date_de_naissance; formDetailAdherent.dateTimePickerDateAdhesion.Value = currentRow._Date_d_adhésion; formDetailAdherent.textBoxAdresse.Text = currentRow.Adresse; formDetailAdherent.textBoxCodePostale.Text = currentRow.Code_postale; formDetailAdherent.textBoxVille.Text = currentRow.Ville; formDetailAdherent.textBoxEmail.Text = currentRow.Email; formDetailAdherent.textBoxTelephone.Text = currentRow.Téléphone; formDetailAdherent.textBoxLogin.Text = currentRow.Login; formDetailAdherent.Login = currentRow.Login; formDetailAdherent.textBoxAge.Text = Convert.ToString(CalculAge(currentRow.Date_de_naissance)) + "ans"; /// Si la colonne organisateur est à 1 alors la checkBox prévue à cet effet est cochée if (currentRow.Organisateur == 1) { formDetailAdherent.checkBoxOrganisateur.Checked = true; } /// Sinon décochée else { formDetailAdherent.checkBoxOrganisateur.Checked = false; } /// De même si la colonne activé est à 1 ... if (currentRow.Activé == 1) { formDetailAdherent.checkBoxActive.Checked = true; } else { formDetailAdherent.checkBoxActive.Checked = false; } formDetailAdherent.textBoxCylindree.Text = currentRow.Cylindrée; formDetailAdherent.textBoxAPropos.Text = currentRow.A_propos; /// Fill du dataGridView des inscriptions de l'adhérent avec comme argument son IdAdherent formDetailAdherent.inscriptionsTableAdapter.Fill(formDetailAdherent.cda27_bd2DataSet.inscriptions, currentRow.IdAdherent); /// Si un avatar n'est pas défini il prendra une valeur par défaut string FileAvatar = currentRow.IsAvatarNull() ? Properties.Resources.STR_AVATAR_PAR_DEFAUT : currentRow.Avatar; /// La pictureBox ira alors chercher l'avatar sur internet (cda27.s1.2isa.org) formDetailAdherent.pictureBoxAvatar.ImageLocation = Properties.Resources.STR_ADRESSE_AVATAR + FileAvatar; /// Injection du bindingSource directement dans le code de la fenêtre fille formDetailAdherent.adherentbind = adherentsBindingSource; /// Ajouter devient invisible (pas besoin d'ajouter si l'on modifie) formDetailAdherent.btAjouter.Visible = false; /// On affiche la fenêtre en mode Dialog (Le using aurait été impossible sinon) formDetailAdherent.ShowDialog(); /// Si la fenêtre se ferme if (formDetailAdherent.IsClose) { /// Je FillIntegral et me positionne sur l'adhérent que je viens de modifier FillIntegral(); adherentsBindingSource.Position = adherentsBindingSource.Find("IdAdherent", formDetailAdherent.LastInsert); /// Je rétablie la valeur 0 à IsClose formDetailAdherent.IsClose = false; } } }