예제 #1
0
파일: Eleve.cs 프로젝트: WidadDek/ALGeo
        public int Connecter(string userID, string passWord)

        /*Cette méthode retourne 1 si l’étudiant
         *  peut se connecter si ses coordonnées
         *  existent dans la base de données, retourne -1
         *  si le compte existe mais le mot de passe est faux,
         *  retourne 0 si le compte est inexistant. Bien sûr
         *  pour la sécurité, cette classe permet d’encrypté le mot
         *  de passe dans la base de données, comme ça personne
         *  n’aura accès (ou pourra savoir le mot de passe d’un
         *  autre étudiant) au compte d’un autre étudiant.
         */
        {
            Securite securite = new Securite();
            string   password = securite.EncryptPassword(passWord);
            /* obtenir le chemin courant */
            string path = System.IO.Directory.GetCurrentDirectory();

            string        lien      = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + path + "\\Etudiant.mdf;Integrated Security=True";
            SqlConnection connexion = new SqlConnection(lien);

            connexion.Open();
            string     requete = "select id_eleve,password from Eleve where id_eleve=N'" + userID + "'and password=N'" + password + "'";
            SqlCommand cmd     = new SqlCommand(requete, connexion);

            /*Initialise une nouvelle instance de la
             * SqlDataAdapter classe avec l’objet SqlCommand
             *  comme le SelectCommand propriété.*/
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable      dt = new DataTable();

            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                string[] lines = { userID };
                System.IO.File.WriteAllLines(@"userID.TMP", lines);
                connexion.Close();
                return(1);
            }
            else
            {
                string         requete1 = "select id_eleve from Eleve where id_eleve=N'" + userID + "'";
                SqlCommand     cmd1     = new SqlCommand(requete1, connexion);
                SqlDataAdapter da1      = new SqlDataAdapter(cmd1);
                DataTable      dt1      = new DataTable();
                da1.Fill(dt1);
                if (dt1.Rows.Count > 0)
                {
                    connexion.Close();
                    return(-1);
                }
                else
                {
                    connexion.Close();
                    return(0);
                }
            }
        }
예제 #2
0
        public string afficherMotDePasse(string name, string surname)
        {
            string password = "******";
            string path     = System.IO.Directory.GetCurrentDirectory();
            string lien     = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + path + "\\Etudiant.mdf;Integrated Security=True";

            SqlConnection connexion = new SqlConnection(lien);

            connexion.Open();
            /*pour pouvoir executer une requete sqlon doit declarer un objet de la class sqlcommand */

            SqlCommand cmd1;

            cmd1 = new SqlCommand();                  //le constructeur ne contient aucun paramètre

            cmd1.CommandText = "select * from Eleve"; // on passe la requte sql

            /*on definit le type de la commande commandtype.text pour une requete sql */

            cmd1.CommandType = CommandType.Text;
            cmd1.Connection  = connexion; // on affecte la command a une connexion
            SqlDataReader r;

            r = cmd1.ExecuteReader();
            /*parcourir l’objet r on lecture la boucle s’arrete a la fin du parcour des enregistrements*/
            Boolean stop = false;

            while (r.Read() && !stop)
            {
                /* on affect les different colonne de la table a des variable
                 * en utilisant le casting car r["nom du champ"] retour un objet de class OBJECT*/

                string id = (string)r["id_eleve"];
                password = (string)r["password"];
                string nom    = (string)r["nom"];
                string prenom = (string)r["prenom"];
                if ((name == nom) && (surname == prenom))
                {
                    stop = true;
                }
            }
            connexion.Close();
            Securite s = new Securite();

            return(s.DecryptPassword(password));
        }
예제 #3
0
        /*------------------------------------------------------------------------------------*/
        public void changePassWord(string id_eleve, string passWord)
        {
            Eleve    eleve    = new Eleve();
            Securite securite = new Securite();
            string   password = securite.EncryptPassword(passWord.ToUpper());
            string   nom      = "ADMIN";
            string   prenom   = "ADMIN";

            eleve.Supprimer_Ligne_Eleve(id_eleve);
            try
            {
                /*
                 * il faut d'abord définir les éléments qu'on va insérer
                 * dans notre cas; nom,prenom,id_eleve,password
                 * (definir la requete d'insetion avec les paramete)
                 */
                string insertStmt = "INSERT INTO Eleve (id_eleve,password,nom,prenom)" +
                                    "VALUES(@id_eleve, @password, @nom, @prenom)";

                /*
                 * definir la connexion et la commande
                 */
                string path = System.IO.Directory.GetCurrentDirectory();
                string lien = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + path + "\\Etudiant.mdf;Integrated Security=True";
                using (SqlConnection conn = new SqlConnection(lien))
                    using (SqlCommand cmd = new SqlCommand(insertStmt, conn))
                    {
                        //definir les parametres et mettre leurs valeurs
                        cmd.Parameters.Add("@id_eleve", SqlDbType.NVarChar, 50).Value = id_eleve;
                        cmd.Parameters.Add("@password", SqlDbType.NVarChar, 50).Value = password;
                        cmd.Parameters.Add("@nom", SqlDbType.NVarChar, 50).Value      = nom;
                        cmd.Parameters.Add("@prenom", SqlDbType.NVarChar, 50).Value   = prenom;

                        // open connection, execute query, close connection
                        conn.Open();                              //ouvrir la connexion
                        int rowsInserted = cmd.ExecuteNonQuery(); //execution de la commande de l'instruction
                        conn.Close();                             //fermer la connexion
                    }
            }
            catch (Exception)
            {
                MessageBox.Show("            اوووووبس تاكد من معلوماتك \n\n\nلمزيد من المعلومات اضغط على زر المساعدة");
            }
        }
예제 #4
0
파일: Eleve.cs 프로젝트: WidadDek/ALGeo
        public void CreerCompte(string id_eleve, string passWord, string nom, string prenom)
        {
            /*Cette méthode permet la création d’un compte
             *  pour l’élève qui lui permet de se connecter
             *  et avoir accès à ses cours et ses exercices,
             *  en ajoutant tous ses coordonnées dans la base
             *  de données, et qui initialise son score dans
             *  les différents types des exercices à 0 et
             *  la dernière page visitée dans ses cours à 1
             */
            Securite securite = new Securite();
            string   password = securite.EncryptPassword(passWord);

            if (this.CompteExistant(id_eleve) == false)
            {
                InterfaceMessageBox mb = new InterfaceMessageBox("حساب موجود");
                mb.Show();
            }
            else
            {
                try
                {
                    /*
                     * il faut d'abord définir les éléments qu'on va insérer
                     * dans notre cas; nom,prenom,id_eleve,password
                     * (definir la requete d'insetion avec les paramete)
                     */
                    string insertStmt = "INSERT INTO Eleve (id_eleve,password,nom,prenom)" +
                                        "VALUES(@id_eleve, @password, @nom, @prenom)";

                    /*
                     * definir la connexion et la commande
                     */
                    string path = System.IO.Directory.GetCurrentDirectory();
                    string lien = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + path + "\\Etudiant.mdf;Integrated Security=True";
                    using (SqlConnection conn = new SqlConnection(lien))
                        using (SqlCommand cmd = new SqlCommand(insertStmt, conn))
                        {
                            //definir les parametres et mettre leurs valeurs
                            cmd.Parameters.Add("@id_eleve", SqlDbType.NVarChar, 50).Value = id_eleve;
                            cmd.Parameters.Add("@password", SqlDbType.NVarChar, 50).Value = password;
                            cmd.Parameters.Add("@nom", SqlDbType.NVarChar, 50).Value      = nom;
                            cmd.Parameters.Add("@prenom", SqlDbType.NVarChar, 50).Value   = prenom;

                            // open connection, execute query, close connection
                            conn.Open();                              //ouvrir la connexion
                            int rowsInserted = cmd.ExecuteNonQuery(); //execution de la commande de l'instruction
                            conn.Close();                             //fermer la connexion
                        }
                    string[] lines = { id_eleve };
                    System.IO.File.WriteAllLines(@"userID.TMP", lines);
                    // ConnexionToDataBase co = new ConnexionToDataBase();
                    for (int i = 1; i <= 12; i++)
                    {
                        exercice.sauvegarderScore(i, 0);
                    }


                    cours.sauvegarderLastPage(1, 1);
                    cours.sauvegarderLastPage(2, 1);
                    cours.sauvegarderLastPage(3, 1);
                    InterfaceMessageBox interfaceMessageBox = new InterfaceMessageBox(" مرحبا " + prenom + " " + nom);
                    interfaceMessageBox.Show();
                }
                catch (Exception)
                {
                    MessageBox.Show("            اوووووبس تاكد من معلوماتك \n\n\nلمزيد من المعلومات اضغط على زر المساعدة");
                }
            }
        }