Beispiel #1
0
        public DlgAjoutVehicule(TypeDeSaisie p_operation, Vehicule p_vehicule, List <Personne> p_listePersonne)
        {
            InitializeComponent();
            m_vehicule     = p_vehicule;
            m_typeDeSaisie = p_operation;

            if (p_listePersonne != null)
            {
                m_listPersonnes = p_listePersonne;
            }
            else
            {
                m_listPersonnes = new List <Personne>();
            }

            InitialiserComboBoxPersonne();
            InitialiserComboBoxCodeVehicule();

            //Lors de modification
            if (m_typeDeSaisie == TypeDeSaisie.Modification)
            {
                RemplirPourModification();
            }
            else if (m_typeDeSaisie == TypeDeSaisie.Affichage)
            {
                RemplirPourAffichage();
            }
        }
        /// <summary>
        /// Insère les informations d'un véhicule dans une cellule de DataGrid.
        /// </summary>
        /// <param name="p_dataGridView">DataGrid dans lequel sera placée la cellule.</param>
        /// <param name="p_vehicule">Véhicule à insérer dans le DataGrid.</param>
        private void InsererInfosDUneVoiture(DataGridView p_dataGridView, Vehicule p_vehicule)
        {
            p_dataGridView.Rows.Add(new DataGridViewRow());
            int indexDerniereLigne = p_dataGridView.RowCount - 1;

            p_dataGridView[(int)ColonneVoiture.Marque, indexDerniereLigne].Value     = p_vehicule.Marque;
            p_dataGridView[(int)ColonneVoiture.Modele, indexDerniereLigne].Value     = p_vehicule.Modele;
            p_dataGridView[(int)ColonneVoiture.NoVehicule, indexDerniereLigne].Value = p_vehicule.NoVehicule;
            p_dataGridView[(int)ColonneVoiture.Annee, indexDerniereLigne].Value      = p_vehicule.Annee;
            p_dataGridView[(int)ColonneVoiture.Statut, indexDerniereLigne].Value     = p_vehicule.CodeVehicule;

            DataGridViewComboBoxCell celluleProprietaire = CreerCelluleProprietaire(p_vehicule.Proprietaire);

            p_dataGridView.Rows[indexDerniereLigne].Cells[(int)ColonneVoiture.Proprietaire] = celluleProprietaire;
        }
Beispiel #3
0
        protected override bool ChampsValides()
        {
            //Itération 2 mettre suggestions
            string marque = StringNonVide(textBoxMarque, "Marque");
            string modele = StringNonVide(textBoxModele, "modèle");
            int    annee  = Int32DansIntervalle(textBoxAnnee, 1800,
                                                DateTime.Today.Year + 3, "Année"); // 3 ans de plus pour les prototypes.
            CodeVehicule codeVehicule = (CodeVehicule)comboBoxStatut.SelectedItem;
            Personne     proprietaire = (Personne)comboBoxPersonne.SelectedItem;
            bool         estAjout     = m_typeDeSaisie == TypeDeSaisie.Ajout;

            m_vehicule = new Vehicule(estAjout ? Document.Instance.NumProchainVehicule() : m_vehicule.NoVehicule, marque, modele, annee, codeVehicule, proprietaire);
            if (estAjout)
            {
                RequetesSQL.SQLEnregistrerVehicule(m_vehicule);
            }
            return(true);
        }
Beispiel #4
0
        private void listViewVehicules_DoubleClick(object sender, MouseEventArgs e)
        {
            if (listViewVehicules.SelectedItems.Count == 1)
            {
                ListViewItem     item             = listViewVehicules.SelectedItems[0];
                Vehicule         v                = (Vehicule)item.Tag;
                DlgAjoutVehicule dlgAjoutVehicule = new DlgAjoutVehicule((m_typeDeSaisie == TypeDeSaisie.Ajout) ? TypeDeSaisie.Modification : m_typeDeSaisie, v, m_dossier.Personnes);
                dlgAjoutVehicule.ShowDialog();

                if (dlgAjoutVehicule.DialogResult == DialogResult.Cancel)
                {
                    return;
                }

                m_dossier.Vehicules[item.Index] = dlgAjoutVehicule.Extraire();
                InitializerListViewVehicules();
            }
        }
        /// <summary>
        /// Détermine si les informations saisies sont valides.
        /// </summary>
        /// <returns>True si les informations sont valides, false sinon.</returns>
        protected override bool ChampsValides()
        {
            List <Vehicule> vehiculesImpliques = new List <Vehicule>();

            foreach (DataGridViewRow ligneCourante in dataGridViewVehiculesInclusDansRapport.Rows)
            {
                Vehicule vehiculeCourant = m_vehiculesDuDossier.Find(v =>
                                                                     v.Marque == ligneCourante.Cells[(int)ColonneVoiture.Marque].Value &&
                                                                     v.Modele == ligneCourante.Cells[(int)ColonneVoiture.Modele].Value &&
                                                                     v.NoVehicule == (int)ligneCourante.Cells[(int)ColonneVoiture.NoVehicule].Value &&
                                                                     v.Annee == (int)ligneCourante.Cells[(int)ColonneVoiture.Annee].Value &&
                                                                     v.CodeVehicule == (CodeVehicule)ligneCourante.Cells[(int)ColonneVoiture.Statut].Value /*&&
                                                                                                                                                            * v.Proprietaire ==     (Personne)ligneCourante.Cells[(int)IndexColonnes.Proprietaire].Value*/);

                Debug.Assert(vehiculeCourant != null, "Le véhicule sélectionné n'existe pas.");

                if (vehiculeCourant != null)
                {
                    vehiculesImpliques.Add(vehiculeCourant);
                }
            }

            if (vehiculesImpliques.Count < 1)
            {
                MB.Avertir("Il doit y avoir au moins un véhicule impliqué dans le rapport d'accident.");
                return(false);
            }

            try
            {
                string noCivique       = StringNonVide(textBoxNoCivique, "numéro civique");
                string rue             = StringNonVide(textBoxRue, "rue");
                string codePostal      = StringNonVide(textBoxCodePostal, "code postal").Trim().ToUpper();
                Regex  regexCodePostal = new Regex("^[A-Z][0-9][A-Z][ ]?[0-9][A-Z][0-9]$");

                if (!regexCodePostal.IsMatch(codePostal))
                {
                    MB.Avertir("Le code postal doit avoir le format suivant « A1A1A1 » ou « A1A 1A1 ».");
                    return(false);
                }

                string ville    = StringNonVide(textBoxVille, "ville");
                string province = StringNonVide(comboBoxProvince, "province");
                string pays     = StringNonVide(textBoxPays, "pays");

                Adresse adresse = new Adresse(rue, ville, province, codePostal, pays, noCivique);

                if (dateTimePicker.Value > DateTime.Now)
                {
                    MB.Avertir("La date et heure doit être inférieur à la date et heure actuelle.");
                    return(false);
                }

                DateTime dateEtHeure = dateTimePicker.Value;
                string   remarques   = StringNonVide(textBoxRemarques, "remarques");
                m_rapportAccident = new RapportAccident(Document.Instance.NumProchainRapport(), vehiculesImpliques, adresse, dateEtHeure, remarques);

                return(true);
            }
            catch (ErreurExtraction p_erreurEntreeUtilisateur)
            {
                // L'utilisateur n'a pas bien rempli le formulaire.
                return(false);
            }
        }