Beispiel #1
0
        /// <summary>
        /// Fonction qui effectue un changement de mot de passe d'un utilisateur dans la base de données
        /// </summary>
        /// <param name="p">personne qui souhaite changer son mot de passe (ou personne le mot de passe de laquelle on souhaite changer)</param>
        /// <param name="mdp">mot de passe actuel de la personne (non crypté)</param>
        /// <param name="nvoMdp">nouveau mot de passe de la personne (non crypté)</param>
        /// <param name="nvoMdpConfirm">la confirmation du nouveau mot de passe (non crypté)</param>
        /// <returns><c>true</c> si la création a réussi et crée une exception si la création a échoué</returns>
        public Boolean changerMdp(Personne p, String mdp, String nvoMdp, String nvoMdpConfirm)
        {
            //on verifie que tous les champs sont remplis
            if (mdp.Equals("") || nvoMdp.Equals("") || nvoMdpConfirm.Equals(""))
            {
                throw new Exception("Tous les champs doivent être remplis.");
            }
            else
            {
                //on vérifie que le mot de passe actuel est correctement saisi :
                if (p.getMdpPersonne().Equals(toMD5(mdp)))
                {
                    //on verifie que la confirmation du nouveau mot de passe a été correctement saisie :
                    if (nvoMdp.Equals(nvoMdpConfirm))
                    {
                        p.setMdpPersonne(toMD5(mdp));

                        //on effectue la requete de modification
                        String req = "UPDATE PERSONNE SET mdp_personne='"+toMD5(nvoMdp)+"' WHERE id_personne="+p.getIdPersonne();

                        MySqlCommand sqlCommand = new MySqlCommand(req, connexion);
                        IDataReader reader = sqlCommand.ExecuteReader();
                        return true;
                    }
                    else
                    {
                        throw new Exception("La confirmation du nouveau mot de passe est incorrecte.");
                    }
                }
                else
                {
                    throw new Exception("Le mot de passe actuel est incorrecte");
                }
            }
        }