protected override bool ChampsValides()
        {
            int?matricule = Int32OuNull(textBoxMatricule, "Matricule");

            if (matricule != null)
            {
                int    numero = (int)matricule;
                Compte compte = RequetesSQL.SQLChercherCompteAvecMatricule(numero);

                if (compte == null)
                {
                    MB.Avertir("Le compte n'existe pas.");
                    return(false);
                }
                else
                {
                    if (compte.Grade != Grade.Détective && (CodeDestination)comboBoxDestination.SelectedItem == CodeDestination.SD)
                    {
                        MB.Avertir("Le matricule n'est pas un détective.");
                        return(false);
                    }
                    if ((compte.Grade != Grade.Lieutenant && compte.Grade != Grade.Capitaine) && (CodeDestination)comboBoxDestination.SelectedItem == CodeDestination.REV)
                    {
                        MB.Avertir("Le matricule n'est pas un lieutenant ni un capitaine.");
                        return(false);
                    }
                }
            }
            else
            {
                if ((CodeDestination)comboBoxDestination.SelectedItem != CodeDestination.ATT &&
                    (CodeDestination)comboBoxDestination.SelectedItem != CodeDestination.BEC &&
                    (CodeDestination)comboBoxDestination.SelectedItem != CodeDestination.ARC)
                {
                    MB.Avertir("Le matricule doit être nul lors d'envoie au BEC, de mise en attente ou lors de l'archivage.");
                    return(false);
                }
            }

            m_destination = new Destination(DateNow(), (CodeDestination)comboBoxDestination.SelectedItem, textBoxRemarque.Text, "", matricule);

            return(true);
        }
        /// <summary>
        /// Reinitiliser un mot de passe oublié
        /// </summary>
        /// <returns>vrai si le changement à reusit</returns>
        ///
        private bool ValidationReset()
        {
            string user  = StringNonVide(textBoxlogin, "Login");
            string email = StringNonVide(textBoxPassword, "Email");
            string passeProvisoirhash;
            Compte c;
            int    matricule = -1;

            // DONE: Verifier si user et email sont presents dans la bd
            matricule = RequetesSQL.ChercherCompteSelonEmail(email);
            c         = RequetesSQL.SQLChercherCompteAvecMatricule(matricule);
            if (matricule != -1)
            {
                if (c == null)
                {
                    return(false);
                }
            }

            // Envoyer un email avec un  mot de passe provisoire
            bool envoie = Utilitaires.sendResetMessage(textBoxPassword.Text, out passeProvisoirhash);

            if (envoie)
            {
                // DONE: ModifierLe hashDans la bd pour ce compte
                c.ModifierPasse(passeProvisoirhash);
                RequetesSQL.SupprimerCompte(c.Matricule.ToString());
                RequetesSQL.AjouterCompte(c);
                MB.Avertir("un message vous est envoyé !");
            }
            else
            {
                MB.Avertir("Un problème est survenu");
            }

            return(envoie);
        }