コード例 #1
0
        /// <summary>
        /// Méthode qui vérifie si le compte membre actuellement connecté existe sur un serveur de base de données et s'il est administrateur
        /// </summary>
        /// <param name="stringConnexion">String de la connexion du serveur de base de données qui sera testé dans le format attendu par MySql</param>
        /// <returns>Vrai si le compte membre existe et s'il est administrateur, sinon faux</returns>
        private bool IsAdminOnNewConnexion(string stringConnexion)
        {
            try
            {
                //Crée un nouveau MySqlMembreService avec la stringConnexion spécifique.
                IMembreService serviceMembre = new MySqlMembreService(stringConnexion);

                //Récupère seulement les admins
                IList <Membre> adminsDansNouvelleSession = serviceMembre.RetrieveAdmins();
                //Lance une exception si le Where ne retourne rien, l'exception est géré de toute façon par le try/catch.
                //Vérifie si un compte avec le même nom d'utilisateur et mot de passe que selui du compte membre actuellement connecté existe.
                Membre membreCorrespondant = adminsDansNouvelleSession.Where(membre => membre.NomUtilisateur == App.MembreCourant.NomUtilisateur && membre.MotPasse == App.MembreCourant.MotPasse).First();
                //Redondant, car on retrieves les admins et si membreCorrespondant est null, la lambda lance une exception.
                if (membreCorrespondant != null && membreCorrespondant.EstAdministrateur)
                {
                    //Mauvaise méthode pour le faire, mais au cas le compte à des info différentes sur le nouveau serveur de base de données, il faudrait remplacer App.MembreCourant
                    //avant le changement de session:
                    App.MembreCourant = membreCorrespondant;
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            //N'importe quel erreur dans le teste, on retourne false pour empêcher le changement de connexion.
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }
        }
コード例 #2
0
 private bool IsAdminOnNewConnexion(string stringConnexion)
 {
     try
     {
         IMembreService serviceMembre = new MySqlMembreService(stringConnexion);
         IList<Membre> adminsDansNouvelleSession = serviceMembre.RetrieveAdmins();
         //Lance une exception si le Where ne retourne rien, l'exception est géré de toute façon.
         Membre membreCorrespondant = adminsDansNouvelleSession.Where(membre => membre.NomUtilisateur == App.MembreCourant.NomUtilisateur && membre.MotPasse == App.MembreCourant.MotPasse).First();
         //Redondant, car on retrieves les admins et si membreCorrespondant est null, la lambda lance une exception.
         if (membreCorrespondant != null && membreCorrespondant.EstAdministrateur)
         {
             //Mauvaise place pour le faire, mais au cas le compte à des info différentes:
             App.MembreCourant = membreCorrespondant;
             return true;
         }
         else
             return false;
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         return false;
     }
 }
コード例 #3
0
        /// <summary>
        /// Méthode qui vérifie si le compte membre actuellement connecté existe sur un serveur de base de données et s'il est administrateur
        /// </summary>
        /// <param name="stringConnexion">String de la connexion du serveur de base de données qui sera testé dans le format attendu par MySql</param>
        /// <returns>Vrai si le compte membre existe et s'il est administrateur, sinon faux</returns>
        private bool IsAdminOnNewConnexion(string stringConnexion)
        {
            try
            {
                //Crée un nouveau MySqlMembreService avec la stringConnexion spécifique.
                IMembreService serviceMembre = new MySqlMembreService(stringConnexion);

                //Récupère seulement les admins
                IList<Membre> adminsDansNouvelleSession = serviceMembre.RetrieveAdmins();
                //Lance une exception si le Where ne retourne rien, l'exception est géré de toute façon par le try/catch.
                //Vérifie si un compte avec le même nom d'utilisateur et mot de passe que selui du compte membre actuellement connecté existe.
                Membre membreCorrespondant = adminsDansNouvelleSession.Where(membre => membre.NomUtilisateur == App.MembreCourant.NomUtilisateur && membre.MotPasse == App.MembreCourant.MotPasse).First();
                //Redondant, car on retrieves les admins et si membreCorrespondant est null, la lambda lance une exception.
                if (membreCorrespondant != null && membreCorrespondant.EstAdministrateur)
                {
                    //Mauvaise méthode pour le faire, mais au cas le compte à des info différentes sur le nouveau serveur de base de données, il faudrait remplacer App.MembreCourant
                    //avant le changement de session:
                    App.MembreCourant = membreCorrespondant;
                    return true;
                }
                else
                    return false;
            }
            //N'importe quel erreur dans le teste, on retourne false pour empêcher le changement de connexion.
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return false;
            }
        }