From 426bccee4ee6b1758dc29de6484baef493d4eb61 Mon Sep 17 00:00:00 2001 From: thchazot1 Date: Tue, 10 May 2022 17:32:29 +0200 Subject: [PATCH] Class Personne, Utilisateur, Expert (Des classes super classes) --- Modèle/Expert.cs | 68 ++++++++++++++++++++++++++++++++++++++++++ Modèle/Personne.cs | 23 ++++++++++++++ Modèle/Requin.cs | 50 +++++++++++++++++++++++++------ Modèle/Utilisateur.cs | 45 ++++++++++++++++++++++++++++ test_requin/Program.cs | 39 +++++++++++++++++++++++- 5 files changed, 215 insertions(+), 10 deletions(-) create mode 100644 Modèle/Expert.cs create mode 100644 Modèle/Personne.cs create mode 100644 Modèle/Utilisateur.cs diff --git a/Modèle/Expert.cs b/Modèle/Expert.cs new file mode 100644 index 0000000..1637eae --- /dev/null +++ b/Modèle/Expert.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Modèle +{ + public class Expert : Personne + { + public DateTime DateD { get; private set; } + public string Surnom { get; private set; } + + public Expert(string email, string mdp, string surnom) : base(email, mdp) + { + Surnom = surnom; + DateD = DateTime.Now; + } + + public Expert(string email, string mdp, string surnom, DateTime date) : base(email, mdp) + { + Surnom = surnom; + DateD = date; + } + + public override void changerInfo(string nvEmail, string nvMdp) + { + Email = nvEmail; + MotDePasse = nvMdp; + } + + public override string ToString() + { + return Email + " " + MotDePasse + " " + Surnom + " " + DateD; + } + + public int ValiderSubmit(List lBdFinie, List lBdPasFinie) + { + int i=0; + string rep; + List nv = new List(); + foreach (Requin r in lBdPasFinie) + { + nv.Add(r); + } + foreach (Requin r in nv) + { + Console.WriteLine(r); + Console.WriteLine("Voulez vous ajoutez ce requin à la base de données des requins ? (y/n)"); + rep = Console.ReadLine(); + while (rep!="n" && rep != "y") + { + Console.WriteLine("Erreur de saisie (y/n)"); + rep = Console.ReadLine(); + } + if (rep == "y") + { + lBdFinie.Add(r); + i++; + } + lBdPasFinie.Remove(r); + + } + return i; + } + + } +} diff --git a/Modèle/Personne.cs b/Modèle/Personne.cs new file mode 100644 index 0000000..70c511f --- /dev/null +++ b/Modèle/Personne.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Modèle +{ + public abstract class Personne + { + public string Email { get; protected set; } + public string MotDePasse { get; protected set; } + + public Personne(string email, string mdp) + { + Email = email; + MotDePasse = mdp; + } + + public abstract void changerInfo(string nvEmail, string nvMdp); + public abstract override string ToString(); + } +} diff --git a/Modèle/Requin.cs b/Modèle/Requin.cs index bfd3017..a9a264a 100644 --- a/Modèle/Requin.cs +++ b/Modèle/Requin.cs @@ -8,15 +8,6 @@ namespace Modèle { public class Requin { - private string v1; - private string v2; - private string v3; - private string v4; - private string v5; - private Conservation cR; - private Zone aRCTIQUE; - private List randomFunFacts; - public string Nom { get; private set; } public string NomSci { get; private set; } public string Description { get; private set; } @@ -55,6 +46,47 @@ namespace Modèle FunFact = funFacts[num]; } + public override string ToString() + { + return Nom + " " + NomSci + " " + Description + " " + StatutCons + " " + FunFact + " " + Photo; + } + + + public void ModiferRequin(string description, string photo, string video, string photoCarte, Conservation statutCons, List repartition, string funFact) + { + if (description != "") + { + Description = description; + } + if(photo != "") + { + Photo = photo; + } + if(video != "") + { + Video = video; + } + if (photoCarte != "") + { + Photo = photoCarte; + } + if (statutCons != Conservation.NE) + { + StatutCons = statutCons; + } + if (funFact != "") + { + FunFact = funFact; + } + if (repartition.Count()!= 0){ + Repartition.Clear(); + foreach(Zone z in repartition) + { + Repartition.Add(z); + } + } + } + } } diff --git a/Modèle/Utilisateur.cs b/Modèle/Utilisateur.cs new file mode 100644 index 0000000..fc571fc --- /dev/null +++ b/Modèle/Utilisateur.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Modèle +{ + public class Utilisateur : Personne + { + public int NbSubmit { get; private set; } + public Utilisateur(string mail, string mdp): base(mail, mdp) + { + NbSubmit = 0; + } + public Utilisateur(string mail, string mdp, int nbSubmit): base(mail, mdp) + { + NbSubmit = nbSubmit; + } + + public override void changerInfo(string nvEmail, string nvMdp) + { + Email = nvEmail; + MotDePasse = nvMdp; + } + + public override string ToString() + { + return Email + " " + MotDePasse + " " + NbSubmit; + } + public int FaireUnSubmit(string nom, string nomSci, string desc, string photo, string video, string photoCarte, Conservation cons, List rep, string funFact, List lBdPasFinie) + { + Requin petitNouveau = new Requin(nom, nomSci, desc, photo, video, photoCarte, cons, rep, funFact); + lBdPasFinie.Add(petitNouveau); + NbSubmit++; + return 1; + } + + public void FaireUnChangement(Requin req, string desc, string photo, string video, string photoCarte, Conservation cons, List rep, string funFact, List lBdPasFinie){ + req.ModiferRequin(desc, photo, video, photoCarte, cons, rep, funFact); + lBdPasFinie.Add(req); + NbSubmit++; + } + } +} diff --git a/test_requin/Program.cs b/test_requin/Program.cs index aa3bfe5..33d58e6 100644 --- a/test_requin/Program.cs +++ b/test_requin/Program.cs @@ -13,11 +13,48 @@ namespace test_requin List RandomFunFacts = new List { "askip les requins c'est cool", "le requin mexicain possède un groin", "le requin scie est sympa comme tout il me coupe du bois l'hiver" }; Requin requin = new Requin("Bob", "leRequin", "Les requins c'est trop cool", "LaPhoto", "LaVidéo", "laPhoto", Conservation.EX, zones, "askip un requin c'est rigolo"); ; Requin requin2 = new Requin("nom", "nomSci", "des", "photo", "video", "photoCarte", Conservation.CR, zones, RandomFunFacts); + List bdd = new List { requin, requin2 }; foreach (Zone zone in requin2.Repartition) { Console.WriteLine(zone); } + Console.Write("------------------------------------------------------------------------------------\n"); + + + + + + Console.WriteLine("Test Personnes :"); + DateTime d = new DateTime(2020, 12, 12); + List finie= new List(); + Utilisateur u1= new Utilisateur("bobpoutou@yahoo.com", "vivepoutou"); + Utilisateur u2 = new Utilisateur("jeancarotte@gamil.com", "miamlescarottes", 48); + Expert e1 = new Expert("AlexPert@gmail.com", "lesRequins", "Le Gros BG",d); + Expert e2 = new Expert("Blabla@gmail.com", "lesPoissons", "Le débutant"); + u1.FaireUnSubmit("Bob", "leRequin", "Les requins c'est trop cool", "LaPhoto", "LaVidéo", "laPhoto", Conservation.EX, zones, "askip un requin c'est rigolo", bdd); + e1.ValiderSubmit(finie, bdd); + Console.WriteLine(u1); + Console.WriteLine(u2); - } + foreach (Requin r in bdd) + { + Console.WriteLine(r); + } + Console.Write("------------------------------------------------------------------------------------\n"); + foreach (Requin r in finie) + { + Console.WriteLine(r); + } + Console.WriteLine(e1); + Console.WriteLine(e2); + + List z = new List(); + Console.WriteLine("----------------------------------------------------------------------------------\n"); + u1.FaireUnChangement(requin, "lalalilalou", "", "", "", Conservation.NE, z, "hahahahaha", bdd); + foreach(Requin r in bdd) + { + Console.WriteLine(r); + } + } } }