/// <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);
        }
Beispiel #2
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));
        }