/// <summary> /// enregistrement de l'ajout ou de la modification de l'absence /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnEnregistrerAbsence_Click(object sender, EventArgs e) { grbGestionAbsences.Text = "Enregistrement d'une absence"; btnEnregistrerAbsence.Enabled = true; btnAnnulerAbsence.Enabled = true; string format = "yyyy-MM-dd HH:mm:ss"; if (dtpDateDebutDate.CustomFormat == format) { if (TestDateTimePicker(dtpDateDebutDate, dtpDateFinDate)) { DateTime datedebut = dtpDateDebutDate.Value; DateTime datefin = dtpDateFinDate.Value; Motif motif = (Motif)bdgMotifs.List[bdgMotifs.Position]; Service service = (Service)bdgServices.List[bdgServices.Position]; if (MessageBox.Show("Voulez-vous enregistrer les modifications ? ", "Confirmation d'enregistrement", MessageBoxButtons.YesNo) == DialogResult.Yes) { int idpersonnel = 0; if (enCoursDeModifAbsences) { idpersonnel = (int)dgvPersonnel.SelectedRows[0].Cells["idpersonnel"].Value; Absences absences = new Absences(idpersonnel, datedebut, motif.Idmotif, motif.Libelle, datefin); DateTime Olddatedebut = (DateTime)dgvAbsence.SelectedRows[0].Cells["Datedebut"].Value; controle.UpdateDate(absences, Olddatedebut); enCoursDeModifAbsences = false; } else { string motifNew = cboMotif.Text; idpersonnel = (int)dgvPersonnel.SelectedRows[0].Cells["idpersonnel"].Value; Absences absences = new Absences(idpersonnel, datedebut, motif.Idmotif, motifNew, datefin); controle.AddAbsences(absences); } Personnel personnel = (Personnel)bdgPersonnels.List[bdgPersonnels.Position]; RemplirListeAbsence(personnel); dtpDateDebutDate.Value = DateTime.Now; dtpDateFinDate.Value = DateTime.Now; btnEnregistrerAbsence.Enabled = false; btnAnnulerAbsence.Enabled = false; } } else { MessageBox.Show("En dessous d'une seconde d'écart, entre la date de debut et la date de fin, la date de fin ne pourra être validé", "Information"); } } }