Exemplo n.º 1
0
        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 = "";
                }
            }
        }