/// <summary>
 /// Constructeur d'un rapport d'évènement.
 /// </summary>
 /// <param name="p_codeDeNature">Code de nature du rapport.</param>
 /// <param name="p_dateEtHeure">Date et heure de l'évènement.</param>
 /// <param name="p_adresse">Adresse de l'évènement.</param>
 /// <param name="p_remarques">Remarques du policier répondant.</param>
 public RapportEvenement(CodeDeNature p_codeDeNature, DateTime p_dateEtHeure, Adresse p_adresse, string p_remarques)
 {
     CodeDeNature = p_codeDeNature;
     DateEtHeure  = p_dateEtHeure;
     Adresse      = p_adresse;
     Remarques    = p_remarques;
 }
예제 #2
0
        /// <summary>
        /// Vérifie la validité des informations entrées dans les champs de saisie.
        /// </summary>
        /// <returns>true si les informations sont valides, false sinon.</returns>
        protected override bool ChampsValides()
        {
            if (!CodeDeNature.TousLesCodesDeNature.Contains((CodeDeNature)comboBoxCodeDeNature.SelectedItem))
            {
                MB.Avertir("Le code de nature sélectionné n'existe pas.");
                return(false);
            }

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

            try
            {
                DateTime     dateEtHeure     = dateTimePicker.Value;
                CodeDeNature codeDeNature    = (CodeDeNature)comboBoxCodeDeNature.SelectedItem;
                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);
                string  remarques = textBoxRemarques.Text.Trim();   // peut être vide
                m_rapportEvenement = new RapportEvenement(codeDeNature, dateEtHeure, adresse, remarques);

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