private List <Vehicule> m_vehiculesDuDossier; // Liste de véhicules impliqués dans le dossier, pouvant figurer dans le rapport. /// <summary> /// COnstructeur du dialogue du rapport. /// </summary> /// <param name="p_vehiculesDuDossier">Liste des véhicules impliqués au dossier.</param> /// <param name="p_typeDeSaisie">Ajout, Affichage, Modification ou Suppression.</param> /// <param name="p_rapportAccident">Rapport à modifier, afficher ou supprimer.</param> public DlgRapportAccident(List <Vehicule> p_vehiculesDuDossier, TypeDeSaisie p_typeDeSaisie = TypeDeSaisie.Ajout, RapportAccident p_rapportAccident = null) { TypeDeSaisie = p_typeDeSaisie; InitializeComponent(); m_rapportAccident = p_rapportAccident; CreerColonnesDesDataGrids(); textBoxRemarques.AcceptsReturn = true; InitialiserDatePicker(); Province.AjouterChoixDeProvince(comboBoxProvince); m_vehiculesDuDossier = p_vehiculesDuDossier; RemplirLesControles(m_vehiculesDuDossier); // Si on affiche ou supprime le rapport, les champs sont désactivés afin d'éviter les changements. if (TypeDeSaisie == TypeDeSaisie.Affichage || TypeDeSaisie == TypeDeSaisie.Suppression) { DesactiverTousLesChamps(); } else // On tente de créer ou modifier un rapport d'accident. { if (dataGridViewVehiculesExclusDuRapport.Rows.Count == 0) { buttonAjouterVehicule.Enabled = false; } if (dataGridViewVehiculesInclusDansRapport.Rows.Count == 0) { buttonRetirerVehicule.Enabled = false; } } }
public Dossier(string p_numero, Statut p_statut, RapportAccident p_rapportAccident, RapportEvenement p_rapportEvenement, RapportEnquete p_rapportEnquete, Destination p_destination, List <Vehicule> p_vehicule, List <Personne> p_personnes) { Numero = p_numero; Statut = p_statut; RapportAccident = p_rapportAccident; RapportEvenement = p_rapportEvenement; RapportEnquete = p_rapportEnquete; Destination = p_destination; Vehicules = p_vehicule; Personnes = p_personnes; }
/// <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); } }
public void SetRapportAccident(RapportAccident p_rapportAccident) { RapportAccident = p_rapportAccident; }