private void Valider() { etudiantRow.sexe_etudiant = EtudiantManager.GetGenre(comboBoxSexeEtudiant.Text); if (id == -1) { EtudiantManager.AddEtudiant(etudiantRow); } else { if (!etudiantRow.statut_etudiant) { var Result = MessageBox.Show("Etes-vous sûr de vouloir inactiver l'étudiant n°" + etudiantRow.etudiant_id + "? S'il a communiqué des périodes de disponibilité à venir, elles vont être supprimées", "Veuillez confirmer", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (Result == DialogResult.OK) { List <Connectds.periodeRow> periodeList = new List <Connectds.periodeRow>(); periodeList = EtudiantManager.GetPeriodeList(etudiantRow.etudiant_id); if (periodeList != null) { foreach (var periode in periodeList) { if (periode.debut_periode >= DateTime.Now) { EtudiantManager.DeletePeriode(periode.periode_id); } } } } } EtudiantManager.SaveEtudiant(etudiantRow); } }
/// <summary> /// Permet la suppression d'un profil étudiant et de ses périodes de disponibilité /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDeleteEtudiant_Click(object sender, EventArgs e) { int value; Int32.TryParse(comboBoxListEtudiant.SelectedValue.ToString(), out value); // Protection de l'id de l'étudiant par défaut if (value == 1) { MessageBox.Show("Ligne protégée pour la stabilité de l'application", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { var Result = MessageBox.Show("Etes-vous sûr de vouloir supprimer l'étudiant n°" + value.ToString() + "?", "Veuillez confirmer:", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (Result == DialogResult.OK) { // la variable checkJob va permettre de conserver l'information booléenne quant aux attributions de job de l'étudiant en dehors de la boucle foreach bool checkJob = false; Connectds.jobDataTable jobDT = EntrepriseManager.GetJobDT(); foreach (Connectds.jobRow jobRow in jobDT) { if (value == jobRow.etudiant_id) { var Result2 = MessageBox.Show("L'étudiant n°" + value.ToString() + " a des attributions de jobs actives. Vous ne pouvez le supprimer. Souhaitez-vous rendre son profil inactif?", "Veuillez préciser:", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (Result2 == DialogResult.Yes) { etudiantSelectionne = EtudiantManager.GetEtudiant(value); etudiantSelectionne.statut_etudiant = false; // le statut devient inactif EtudiantManager.SaveEtudiant(etudiantSelectionne); PopulateAndBind(); } checkJob = true; break; } } if (!checkJob) { List <Connectds.periodeRow> periodeList = new List <Connectds.periodeRow>(); periodeList = EtudiantManager.GetPeriodeList(value); if (periodeList != null) { foreach (var periode in periodeList) { EtudiantManager.DeletePeriode(periode.periode_id); } } EtudiantManager.DeleteEtudiant(value); PopulateAndBind(); } } } }