ADD starting menu, reworking connection and inscription

refonte_program
Matheo THIERRY 2 years ago
parent 6af577e2f2
commit 75226d8bb4

@ -56,7 +56,7 @@ namespace Biblioteque_de_Class
/// <summary>
/// récupérer un utilisateur
/// </summary>
public User GetUser(string name)
public User GetUser(string? name)
{
foreach (User user in UserList)
{
@ -71,7 +71,7 @@ namespace Biblioteque_de_Class
/// <summary>
/// comparer le mot de passe entré avec celui de l'utilisateur
/// </summary>
public static bool ComparePassword(User user, string password) => user.GetPassword() == password;
public static bool ComparePassword(User user, string? password) => user.GetPassword() == password;
/// <summary>
/// rechercher un mail dans la liste d'utilisateur

@ -9,11 +9,11 @@ namespace Biblioteque_de_Class
public class User
{
[DataMember]
private string Username { get; set; }
private string? Username { get; set; }
[DataMember]
private string Email { get; set; }
private string? Email { get; set; }
[DataMember]
private string Password { get; set; }
private string? Password { get; set; }
[DataMember]
private List<Note> NoteList;
[DataMember]
@ -25,7 +25,7 @@ namespace Biblioteque_de_Class
[DataMember]
private Dictionary<Note, List<Tags>> NoteTagged;
public User(string username, string email, string password)
public User(string? username, string? email, string? password)
{
Username = username;
Email = email;

@ -5,50 +5,143 @@ using System.Linq.Expressions;
using System.Runtime.InteropServices;
using Notus_Persistance;
string Upseudo = "u";
string Umail = "u";
string Upassword = "u";
int nomImage = 1;
string linkimage = "u";
string position = "u";
string nomNote = "u";
string logoPath = "u";
string NomTag = "u";
string nom = "u";
string choixNom;
string choixCouleur;
string choixModif;
int image_;
string choix;
string color = "u";
string color2;
string color3;
User user = new User(Upseudo, Umail, Upassword);
NoteImage image = new NoteImage(nomImage, linkimage, position);
Database db = new Database();
User u = new User(Upseudo, Umail, Upassword);
Note n = new Note(nomNote, logoPath, u);
Tags t = new Tags(NomTag, color);
List<string> NewColorList = new List<string> { };
List<string> listCouleurs = new List<string> { };
List<Note> _searchedNotes;
List<Note> NoteListe;
List<Tags> _searchedTags;
List<User> UserListe; // = IManager.LoadUserData(); /// Essai de load via Imanager
foreach (User us in UserListe) /// Test du stub
// load database
PersistenceManager manager = new(new Stub());
Database db = manager.LoadDatabaseData();
// initialization zone==============================================================================
int boucle = 0;
bool continuerboucle = false;
bool exceptionboucle = false;
bool connection=false, inscription=false;
// déclaration d'un user qui sera utiliser pour servir de personne connecté dans l'app
User u = new("", "", "");
User uvide = new("", "", "");
// déclaration d'une note qui sera utiliser pour servir de note selectionnée
Note n = new("","",uvide);
bool continuer()
{
Console.WriteLine("Coucou");
continuerboucle = false;
Console.WriteLine("Continuer la connection ? (O/n)\n");
switch (Console.ReadLine())
{
case "O":
return false;
case "":
return false;
case "o":
return false;
case "n":
return true;
default:
Console.WriteLine("Entrez un choix valide.\n");
continuerboucle = true;
return true;
}
}
return;
int boucle = 0;
while (boucle == 0)
{
Console.WriteLine("|--------------------------------------|");
Console.WriteLine("| |");
Console.WriteLine("| starting menu |");
Console.WriteLine("| |");
Console.WriteLine("|--------------------------------------|--------|");
Console.WriteLine("| |");
Console.WriteLine("| 1 / - connection - |");
Console.WriteLine("| 2 / - inscription - |");
Console.WriteLine("| |");
Console.WriteLine("|-----------------------------------------------|");
switch (Console.ReadLine())
{
case "1": ///Connexion
connection = true; break;
case "2":///Creer un compte
inscription = true; break;
default:
Console.WriteLine("Entrez un choix valide.\n");
break;
}
//connection
while (connection == true)
{
while (exceptionboucle != true)
{
exceptionboucle = true;
Console.WriteLine("Entrez votre nom : \n");
string? nom = Console.ReadLine();
Console.WriteLine("Entrez votre password : \n");
string? password = Console.ReadLine();
try
{
u = db.GetUser(nom);
}
catch (AlreadyUsedException ex)
{
Console.WriteLine(ex.Message);
exceptionboucle = false;
}
if (exceptionboucle == true)
{
if (Database.ComparePassword(u, password))
{
u.SetIsConnected(true);
}
else
{
Console.WriteLine("Wrong PassWord !");
exceptionboucle = false;
continuerboucle = true;
u = uvide;
}
}
while (continuerboucle == true) { exceptionboucle = continuer(); }
}
}
//inscription
while (inscription == true)
{
Console.WriteLine("Entrez un nom : \n");
string? nom = Console.ReadLine();
Console.WriteLine("Entrez un password : \n");
string? password = Console.ReadLine();
try
{
u = db.GetUser(nom);
}
catch (AlreadyUsedException ex)
{
u = new User(nom, "", password);
db.AddUser(u);
db.GetUser(nom).SetIsConnected(true);
break;
}
Console.WriteLine(" Nom d'utilisateur déjà utilisé. \n")
while (continuerboucle == true) { exceptionboucle = continuer(); }
}
//une fois connecté ou inscription fait
while (u.GetIsConnected() == true)
{
Console.WriteLine("|--------------------------------------|");
Console.WriteLine("| |");
Console.WriteLine("| menu |");
Console.WriteLine("| |");
Console.WriteLine("|--------------------------------------|--------|");
Console.WriteLine("| |");
Console.WriteLine("| 1 / - connection - |");
Console.WriteLine("| 2 / - inscription - |");
Console.WriteLine("| |");
Console.WriteLine("|-----------------------------------------------|");
}
Console.WriteLine("|--------------------------------------|");
Console.WriteLine("| |");
Console.WriteLine("| Menu pour lister les fonctionnalités |");

@ -8,12 +8,18 @@ using System.Threading.Tasks;
namespace Notus_Persistance
{
internal class Stub : IManager
public class Stub : IManager
{
void IManager.SaveDatabaseData(Database database)
{
throw new NotImplementedException();
}
void IManager.SaveUserData(User user)
{
throw new NotImplementedException();
}
Database IManager.LoadDatabaseData()
{
@ -25,11 +31,6 @@ namespace Notus_Persistance
return database;
}
void IManager.SaveUserData(User user)
{
throw new NotImplementedException();
}
List <User> IManager.LoadUserData()
{
List<User> users = new List<User>();

Loading…
Cancel
Save