private void btnResa_Click(object sender, EventArgs e) { int indexHeureDbt, indexHeureFin, indexMinuteDbt, indexMinuteFin; indexHeureDbt = cmbListingHeureDbt.SelectedIndex; indexHeureFin = cmbListingHeureFin.SelectedIndex; indexMinuteDbt = cmbListingMinuteDbt.SelectedIndex; indexMinuteFin = cmbListingMinuteFin.SelectedIndex; //Variable servant à gérer l'avancement des validations //Passe à false lorsque une erreur est rencontrée bool verif = true; //Verif que chaque champs de saisie n'est pas vide if (cmbListingVehicule.SelectedItem == null || cmbListingEmploye.SelectedItem == null || cmbListingHeureDbt.SelectedItem == null || cmbListingHeureFin.SelectedItem == null || cmbListingMinuteDbt.SelectedItem == null || cmbListingMinuteFin.SelectedItem == null) { verif = false; MessageBox.Show("Veuillez remplir tout les champs !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { verif = true; } //Verif que la date choisie est égale ou supérieur à la date du jour DateTime dateDuJour = new DateTime(); dateDuJour = DateTime.Today; if (verif && dtDateResa.Value < dateDuJour) { MessageBox.Show("La date de réservation ne peut pas être inférieur à la date du jour !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); verif = false; } else { } //Verif que les heures de début et de fin ne sont pas identiques TimeSpan heureDbt = new TimeSpan(int.Parse(cmbListingHeureDbt.Text), int.Parse(cmbListingMinuteDbt.Text), 00); TimeSpan heureFin = new TimeSpan(int.Parse(cmbListingHeureFin.Text), int.Parse(cmbListingMinuteFin.Text), 00); if (verif && TimeSpan.Compare(heureDbt, heureFin) == 0) { verif = false; MessageBox.Show("Erreur dans la séléction des horaires ! L'heure de début ne peux pas être identique à l'heure de fin !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { } //Verif que l'heure de debut est inferieure a l'heure de fin if (verif && indexHeureDbt > indexHeureFin) { verif = false; MessageBox.Show("Erreur dans la séléction des horaires ! L'heure de début ne peux pas être supérieur à l'heure de fin !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { } //Verif : si les heures sélectionnées sont identiques alors s'assurer que les minutes debut ne sont pas supérieurs aux minutes fin // Exemple : Saisie heure debut : 9h45 || saisie heure fin : 9h15 //Impossible car pas dans le bon ordre if (verif && indexHeureDbt == indexHeureFin) { if (indexMinuteDbt > indexMinuteFin) { MessageBox.Show("Erreur dans la séléction des horaires ! ", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); verif = false; } } if (verif) { //Verif de la possibilité de réservation if (uneCo.etatReservation(new Vehicule(int.Parse(cmbListingVehicule.DisplayMember.ToString())), new Employe(int.Parse(cmbListingEmploye.DisplayMember.ToString())), dtDateResa.Value, new TimeSpan(int.Parse(cmbListingHeureDbt.Text), int.Parse(cmbListingMinuteDbt.Text), 00), new TimeSpan(int.Parse(cmbListingHeureFin.Text), int.Parse(cmbListingMinuteFin.Text), 00)) == false) { MessageBox.Show("Une réservation est déjà existante !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { //Inscription de la réservation Reservation uneResa = new Reservation(); DateTime dtResa = new DateTime(); dtResa = dtDateResa.Value; uneResa.setIdEmploye(new Employe(int.Parse(cmbListingEmploye.DisplayMember.ToString()))); uneResa.setIdVehicule(new Vehicule(int.Parse(cmbListingVehicule.DisplayMember.ToString()))); uneResa.setDateResa(dtDateResa.Value); uneResa.setHeureDbt(new TimeSpan(int.Parse(cmbListingHeureDbt.Text), int.Parse(cmbListingMinuteDbt.Text), 00)); uneResa.setHeureDbt(new TimeSpan(int.Parse(cmbListingHeureDbt.Text), int.Parse(cmbListingMinuteDbt.Text), 00)); uneResa.setHeureFin(new TimeSpan(int.Parse(cmbListingHeureFin.Text), int.Parse(cmbListingMinuteFin.Text), 00)); uneCo.AddReservation(uneResa.getIdVehicule().getId(), uneResa.getIdEmploye().getId(), uneResa.getDateResa(), uneResa.getHeureDbt(), uneResa.getHeureFin()); MessageBox.Show("Réservation effectuée avec succès !", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information); refreshAll(); //Remise à zéro des champs de saisie cmbListingVehicule.Text = ""; cmbListingEmploye.Text = ""; cmbListingHeureDbt.Text = ""; cmbListingHeureFin.Text = ""; cmbListingMinuteDbt.Text = ""; cmbListingMinuteFin.Text = ""; } } }