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