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; }
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); }
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); } }