/// <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;
 }
 /// <summary>
 /// Constructeur d'un rapport d'accident.
 /// </summary>
 /// <param name="p_numero">Numéro du dossier lié.</param>
 /// <param name="p_vehiculesImpliques">Liste des véhicules impliqués.</param>
 /// <param name="p_adresse">Adresse de l'accident.</param>
 /// <param name="p_dateEtHeure">Date et heure de l'accident</param>
 /// <param name="p_remarques">Remarques du policier sur les lieux.</param>
 public RapportAccident(int p_numero, List <Vehicule> p_vehiculesImpliques, Adresse p_adresse, DateTime p_dateEtHeure, string p_remarques)
 {
     NoRapport          = p_numero;
     VehiculesImpliques = p_vehiculesImpliques;
     Adresse            = p_adresse;
     DateEtHeure        = p_dateEtHeure;
     Remarques          = p_remarques;
 }
 /// <summary>
 /// Finir la validations des champs. Tous les champs de base sont validées dans BglCompte
 /// </summary>
 /// <returns>Vrai quand tous les champs sont valides</returns>
 public override bool FinirValidation(string p_prenom, string p_nom, int p_matricule, DateTime p_naissance,
                                      Adresse p_adresse, string p_tel, string p_email,
                                      Grade p_grade, string p_mdpHash)
 {
     compte = new Compte(p_prenom, p_nom, (m_typeSaisie == TypeDeSaisie.Affichage || m_typeSaisie == TypeDeSaisie.Modification) ? m_compte.Matricule : Document.Instance.NumProchainCompte(), p_naissance, p_adresse, p_tel, p_email,
                         p_grade, p_mdpHash);
     return(true);
 }
 /// <summary>
 /// Constructeur Compte
 /// </summary>
 public Compte(string p_prenom, string p_nom, int p_matricule,
               DateTime p_naissance, Adresse p_adresse,
               string p_telephone, string p_email,
               Grade p_grade, string p_hashpass64)
 {
     Nom                 = p_nom;
     Prenom              = p_prenom;
     Matricule           = p_matricule;
     Grade               = p_grade;
     Naissance           = p_naissance;
     Adrss               = p_adresse;
     Telephone           = p_telephone;
     Email               = p_email;
     HashPass            = p_hashpass64;
     noDossierImportants = new List <string>();
 }
Example #5
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);
            }
        }
        /// <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);
            }
        }
Example #7
0
 // Pour Template Method ChampsValides, Doit être définie dans la classe dérivée
 public virtual bool FinirValidation(string p_prenom, string p_nom, int p_matricule, DateTime p_naissance,
                                     Adresse p_adresse, string p_tel, string p_email,
                                     Grade p_grade, string p_mdpHash)
 {
     throw new NotImplementedException(); // Doit être définie dans la classe dérivée (devait être
 }                                        //  abstraite mais on ne peut pas pour l'éditeur visuel)
Example #8
0
        protected override bool ChampsValides()
        {
            // Valider les champs
            string   nom       = StringNonVide(textBoxNom, "Nom");
            string   prenom    = StringNonVide(textBoxPrenom, "Prénom");
            DateTime naissance = dateTimePickerNaissance.Value;

            if (naissance.Year < DateTime.Today.Year - AGE_MAX_COMPTE ||
                naissance.Year > DateTime.Today.Year - AGE_MIN_COMPTE)
            {
                MB.Avertir("L\'age de l\'utilisateur est invalide.");
                ActiveControl = dateTimePickerNaissance;
                return(false);
            }
            // Adresse
            string  rue        = StringNonVide(textBoxAdresse, "Adresse");
            string  ville      = StringNonVide(textBoxVille, "Ville");
            string  etat       = StringNonVide(textBoxEtat, "Etat");
            string  codePostal = StringNonVide(textBoxCodePostal, "Zip");
            Adresse adresse    = new Adresse(rue, ville, etat, codePostal);
            // Contact
            string tel = StringNonVide(textBoxTelephone, "Telephone");

            if (!Utilitaires.IsValidePhone(textBoxTelephone.Text))
            {
                MB.Avertir("Telephone invalide.");
                return(false);
            }
            string email = StringNonVide(textBoxEmail, "Email");

            if (!Utilitaires.IsValidEmail(textBoxEmail.Text))
            {
                MB.Avertir("Email invalide.");
                return(false);
            }
            // Grade, matricule
            Grade grade;

            if (Enum.IsDefined(typeof(Grade), comboBoxGrade.SelectedIndex))
            {
                grade = (Grade)comboBoxGrade.SelectedIndex;
            }
            else
            {
                MB.Avertir("Le Grade assigné est invalide.");
                ActiveControl = comboBoxGrade;
                return(false);
            }
            int matricule = Int32AvecMinimum(textBoxMatricule, 1, "Matricule");
            // Password
            string mdpHash;

            if (checkBoxEnableEditPass.Checked || typeSaisie == TypeDeSaisie.Ajout)
            {
                StringNonVide(textBoxPassword, "mot de passe");
                if (!textBoxPassword.Text.Equals(textBoxPassword2.Text))
                {
                    MB.Avertir("Les champs mot de passe ne correspondent pas");
                    return(false);
                }
                mdpHash = Hashage.Encrypter(textBoxPassword.Text);
            }
            else
            {
                mdpHash = compte.HashPass; // ne pas changer le mot de passe, si le champs n'est pas modifé
            }
            // Finir la validation
            return(FinirValidation(prenom, nom, matricule, naissance,
                                   adresse, tel, email,
                                   grade, mdpHash));
        }