diff --git a/Sources/Console/Program.cs b/Sources/Console/Program.cs index 4644e97..6203721 100644 --- a/Sources/Console/Program.cs +++ b/Sources/Console/Program.cs @@ -54,6 +54,7 @@ int menuAccueil(){ { Console.Clear(); Console.WriteLine("Choix 2"); + menuInscription(); return 2; } else if (choix == "3") @@ -118,8 +119,8 @@ int menuConnexion() int i = 1; int nbRetries = 0; nbRetries++; - int exists = 0; - while (exists == 0) + bool exists = false; + while (exists == false) { if (nbRetries >= 3) { @@ -154,7 +155,7 @@ int menuConnexion() continue; } exists = ub.checkIfExists(id, psswd); - if ( exists == 0) + if ( !exists ) // Si le nom d'utilisateur ou le mot de passe ne correspondent pas, ou s'ils ne sont pas présent dans la base de données { Console.WriteLine("Erreur, identifiant ou mot de passe incorrect."); } @@ -163,6 +164,72 @@ int menuConnexion() return 0; } +int menuInscription() +{ + string pseudo; + string nom; + string prenom; + string mdp; + int n = 1; //Itérateur du nombre d'essais + while (n <= 3) + { + Console.WriteLine($"Tentatives : {n}"); + Console.Write("Prénom : "); + prenom = Console.ReadLine(); + if (string.IsNullOrEmpty(prenom)) + { + Console.Clear(); + n++; + continue; + } + Console.Write("Nom : "); + nom = Console.ReadLine(); + if (string.IsNullOrEmpty(nom)) + { + Console.Clear(); + n++; + continue; + } + Console.Write("Pseudo : "); + pseudo = Console.ReadLine(); + if (string.IsNullOrEmpty(pseudo)) + { + Console.Clear(); + n++; + continue; + } + Console.Write("Mot de passe : "); + mdp = ReadPassword(); + if (string.IsNullOrEmpty(mdp)) + { + Console.Clear(); + n++; + continue; + } + + if(ub.checkIfPseudoExists(pseudo)) + { + Console.Clear(); + Console.WriteLine("Erreur, ce pseudo est déjà pris."); + n++; + } + else if (ub.addUser(pseudo, nom, prenom, mdp)) + { + Console.WriteLine("Utilisateur ajouté avec succès !"); + break; + } + } + + if (n >= 3) + { + Console.WriteLine("Trop de tentatives. Réessayez plus tard."); + return -1; + } + + Console.WriteLine("Inscription réussie !"); + return 0; +} + int monsterPage() { Console.WriteLine("Index des monstres :"); diff --git a/Sources/Modèle/UserBase.cs b/Sources/Modèle/UserBase.cs index c6b3439..6d25c64 100644 --- a/Sources/Modèle/UserBase.cs +++ b/Sources/Modèle/UserBase.cs @@ -35,22 +35,47 @@ namespace Model /// /// Identifiant (pseudo) de l'utilisateur /// Mot de passe de l'utilisateur - public int checkIfExists(string username, string password) + public bool checkIfExists(string username, string password) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { - return 0; + return false; } foreach (User u in ListUsers) { - if (username.Equals(u.Pseudo) && u.verifyPssw(password)) + if (checkIfPseudoExists(username) && u.verifyPssw(password)) { - return 5; + return true; } } - return 0; + return false; + } + public bool checkIfPseudoExists(string username) + { + if (string.IsNullOrEmpty(username)) + { + return false; + } + foreach (User u in ListUsers) + { + if (username.Equals(u.Pseudo)) + { + return true; + } + } + return false; } + public bool addUser(string pseudo, string nom, string prenom, string pssw) + { + bool exists = checkIfExists(pseudo, pssw); + if ( exists ) // Si le nom d'utilisateur a été trouvé dans la base de données + { + return false; + } + User user = new User(pseudo, nom, prenom, pssw); //POUR L'INSTANT -> Ne peux pas ajouter dans le stub + return true; + } } } \ No newline at end of file