diff --git a/Solution/Wikipet's/Console/Program.cs b/Solution/Wikipet's/Console/Program.cs index 5b00e57..af0efdf 100644 --- a/Solution/Wikipet's/Console/Program.cs +++ b/Solution/Wikipet's/Console/Program.cs @@ -101,7 +101,7 @@ class Program Zootheque.AjouterAnimal(Especetheque); break; case 3: - Zootheque.SelectionnerAnimal(); + Zootheque.SelectionnerAnimal(Especetheque); break; case 9: Console.Clear(); diff --git a/Solution/Wikipet's/Model/Animal.cs b/Solution/Wikipet's/Model/Animal.cs index a55288a..c40ce32 100644 --- a/Solution/Wikipet's/Model/Animal.cs +++ b/Solution/Wikipet's/Model/Animal.cs @@ -12,13 +12,13 @@ namespace Model public string DateNaissance { get; set; } public string Sexe { get; set; } public string DateAdoption { get; set; } - public string Taille { get; set; } - public string Poids { get; set; } + public float? Taille { get; set; } + public float? Poids { get; set; } public string Alimentation { get; set; } public Espece Espece { get; set; } public Race? Race { get; set; } - public Animal(Espece espece, string nom = "Inconnu", string dateNaissance = "Inconnue", string sexe = "Inconnu", string dateAdpotion = "Inconnue", string taille = "Inconnue", string poids = "Iconnu", string alimentation = "Inconnue", Race? race = null) + public Animal(Espece espece, string nom, string dateNaissance = "", string sexe = "", string dateAdpotion = "", float? taille = null, float? poids = null, string alimentation = "", Race? race = null) { Espece = espece; Nom = nom; @@ -31,22 +31,23 @@ namespace Model Race = race; } - public void AfficherAnimal(Zootheque zootheque) + public void AfficherAnimal(Zootheque zootheque, Especetheque especetheque) { - Console.WriteLine("\n" + Nom); - Console.WriteLine("\tDate de naissance : " + DateNaissance); - Console.WriteLine("\tSexe : " + Sexe); - Console.WriteLine("\tDate d'adoption : " + DateAdoption); - Console.WriteLine("\tTaille : " + Taille); - Console.WriteLine("\tPoids : " + Poids); - Console.WriteLine("\tAlimentation : " + Alimentation); - Console.WriteLine("\tEspece : " + Espece.Nom); - if(Race != null) Console.WriteLine("\tRace : " + Race.Nom); - + Console.Clear(); while (true) { + Console.WriteLine("\n" + Nom); + Console.WriteLine("\tEspece : " + Espece.Nom); + if (Race != null) Console.WriteLine("\tRace : " + Race.Nom); + Console.WriteLine("\tDate de naissance : " + DateNaissance); + Console.WriteLine("\tSexe : " + Sexe); + Console.WriteLine("\tDate d'adoption : " + DateAdoption); + Console.WriteLine("\tTaille : " + Taille); + Console.WriteLine("\tPoids : " + Poids); + Console.WriteLine("\tAlimentation : " + Alimentation); + Console.WriteLine("\n\t1- Modifier"); - Console.WriteLine("\n\t1- Supprimer"); + Console.WriteLine("\t2- Supprimer"); Console.WriteLine("\t9- Retour"); Console.Write("\n\tEntrer votre choix : "); @@ -55,11 +56,149 @@ namespace Model switch (decision) { case 1: + ModifierAnimal(especetheque); + break; + case 2: zootheque.SupprimerAnimal(this); + return; + case 9: + return; + default: + Console.WriteLine("\tChoix incorrect\n"); + break; + } + } + } + + public void ModifierNom() + { + while(Nom == "") + { + Console.Write("\tNom : "); + Nom = Console.ReadLine(); + } + } + + public void ModifierEspece(Especetheque especetheque) + { + Espece? espece = null; + while (espece == null) + { + Console.Write("\tEspèce : "); + string nomEspece = Console.ReadLine(); + espece = especetheque.RechercherEspece(nomEspece); + if (espece == null) + { + Console.WriteLine("Espece inconnue\n"); + } + } + + Espece = espece; + } + + public void ModifierSexe() + { + string sexe = "sexe"; + while(sexe != "Male" && sexe != "Femelle" && sexe != "") + { + Console.Write("\tSexe [Male|Femelle|] (appuyer sur entrer pour passer) : "); + sexe = Console.ReadLine(); + } + Sexe = sexe; + } + + public void ModifierTaille() + { + Console.Write("\tTaille (appuyer sur entrer pour passer) : "); + string taille = Console.ReadLine(); + if (taille == "") Taille = null; + else Taille = Single.Parse(taille); + } + + public void ModifierPoids() + { + Console.Write("\tPoids (appuyer sur entrer pour passer) : "); + string poids = Console.ReadLine(); + if (poids == "") Poids = null; + else Poids = Single.Parse(poids); + } + + public void ModifierAlimentation() + { + Console.Write("\tAlimentation (appuyer sur entrer pour passer) : "); + Alimentation = Console.ReadLine(); + } + + public void ModifierDateNaissance() + { + Console.Write("\tDate de naissance (appuyer sur entrer pour passer) : "); + DateNaissance = Console.ReadLine(); + + } + + public void ModifierDateAdoption() + { + Console.Write("\tDate d'adoption (appuyer sur entrer pour passer) : "); + DateAdoption = Console.ReadLine(); + + } + + public void ModifierRace() + { + Console.Write("\tRace (appuyer sur entrer pour passer) : "); + string nomRace = Console.ReadLine(); + Race = Espece.RechercherRace(nomRace); + } + + public void ModifierAnimal(Especetheque especetheque) + { + while (true) + { + Console.WriteLine("MODIFIER L'ANIMAL ", Nom); + Console.WriteLine("\t1- Nom"); + Console.WriteLine("\t2- Espece"); + Console.WriteLine("\t3- Race"); + Console.WriteLine("\t4- Date de naissance"); + Console.WriteLine("\t5- Sexe"); + Console.WriteLine("\t6- Date d'adoption"); + Console.WriteLine("\t7- Taille"); + Console.WriteLine("\t8- Poids"); + Console.WriteLine("\t9- Alimentation"); + Console.WriteLine("\t19- Retour"); + + Console.Write("\n\tEntrer votre choix : "); + int decision = Convert.ToInt32(Console.ReadLine()); + + switch (decision) + { + case 1: + ModifierNom(); break; case 2: + ModifierEspece(especetheque); + break; + case 3: + ModifierRace(); + break; + case 4: + ModifierDateNaissance(); + break; + case 5: + ModifierSexe(); + break; + case 6: + ModifierDateAdoption(); + break; + case 7: + ModifierTaille(); + break; + case 8: + ModifierPoids(); break; case 9: + ModifierAlimentation(); + break; + case 19: return; default: Console.WriteLine("\tChoix incorrect\n"); diff --git a/Solution/Wikipet's/Model/Espece.cs b/Solution/Wikipet's/Model/Espece.cs index 24ba4db..ea307fc 100644 --- a/Solution/Wikipet's/Model/Espece.cs +++ b/Solution/Wikipet's/Model/Espece.cs @@ -24,7 +24,7 @@ namespace Model public string Conseil { get; } - public Espece(string nom = "Inconnu", string nomScientifique = "Inconnu", string esperanceVie = "Inconnue", string poidsMoyen = "Inconnu", string tailleMoyenne = "Inconnue", HashSet? races = null, string comportement = "Inconnu", string sante = "Inconnue", string education = "Inconnue", string entretien = "Inconnu", string cout = "Inconnu", string conseil = "Aucun conseil") + public Espece(string nom = "", string nomScientifique = "", string esperanceVie = "", string poidsMoyen = "", string tailleMoyenne = "", HashSet? races = null, string comportement = "", string sante = "", string education = "", string entretien = "", string cout = "", string conseil = "") { Nom = nom; NomScientifique = nomScientifique; @@ -94,12 +94,16 @@ namespace Model public Race? RechercherRace(string choix) { - foreach (Race race in ListeRaces) + if (ListeRaces != null && choix != "") { - if (race.Nom == choix) + foreach (Race race in ListeRaces) { - return race; + if (race.Nom == choix) + { + return race; + } } + Console.WriteLine("\n"); } return null; } diff --git a/Solution/Wikipet's/Model/Zootheque.cs b/Solution/Wikipet's/Model/Zootheque.cs index 2742f29..9b370fd 100644 --- a/Solution/Wikipet's/Model/Zootheque.cs +++ b/Solution/Wikipet's/Model/Zootheque.cs @@ -25,40 +25,19 @@ namespace Model public void AjouterAnimal(Especetheque especetheque) { - Console.WriteLine("INFORMATION DE VOTRE ANIMAL"); - Console.Write("Entrer le nom (appuyer sur entrer pour passer) : "); - string nom = Console.ReadLine(); - Console.Write("Entrer la date de naissance (appuyer sur entrer pour passer) : "); - string dateNaissance = Console.ReadLine(); - Console.Write("Entrer le nouveau sexe (appuyer sur entrer pour passer) : "); - string sexe = Console.ReadLine(); - Console.Write("Entrer la date d'adoption (appuyer sur entrer pour passer) : "); - string dateAdoption = Console.ReadLine(); - Console.Write("Entrer la taille (appuyer sur entrer pour passer) : "); - string taille = Console.ReadLine(); - Console.Write("Entrer le poids (appuyer sur entrer pour passer) : "); - string poids = Console.ReadLine(); - Console.Write("Entrer la alimentation (appuyer sur entrer pour passer) : "); - string alimentation = Console.ReadLine(); + Console.WriteLine("AJOUT ANIMAL"); + Animal animal = new(new(""), ""); + animal.ModifierNom(); + animal.ModifierEspece(especetheque); + animal.ModifierRace(); + animal.ModifierDateNaissance(); + animal.ModifierSexe(); + animal.ModifierDateAdoption(); + animal.ModifierTaille(); + animal.ModifierPoids(); - Espece? espece = null; - while (espece == null) - { - Console.Write("Entrer le nom de l'espèce : "); - string nomEspece = Console.ReadLine(); - espece = especetheque.RechercherEspece(nomEspece); - if (espece == null) - { - Console.WriteLine("Espece inconnue\n"); - } - } - - Console.Write("Entrer le nom de la race : "); - string nomRace = Console.ReadLine(); - Race race = espece.RechercherRace(nomRace); - - - ListeAnimaux.Add(new(espece, nom, dateNaissance, sexe, dateAdoption, taille, poids, alimentation, race)); + ListeAnimaux.Add(animal); + Console.Clear(); } public Animal? RechercherAnimal(string choix) @@ -73,7 +52,7 @@ namespace Model return null; } - public void SelectionnerAnimal() + public void SelectionnerAnimal(Especetheque especetheque) { string choix = ""; while (choix != "-1") @@ -87,7 +66,7 @@ namespace Model if (animal != null) { - animal.AfficherAnimal(); + animal.AfficherAnimal(this, especetheque); } else Console.WriteLine("\tChoix incorrect\n"); }