From 186a73320fb68df06e8d0ac2d677bbafecd2f490 Mon Sep 17 00:00:00 2001 From: "Leana.besson" Date: Sat, 27 May 2023 23:45:42 +0200 Subject: [PATCH] Ajout de Entite et des classe pour Animal + lien avec Detail animal --- Sources/Console/Program.cs | 617 ++++++++++++---------------- Sources/Model/Animal.cs | 66 +++ Sources/Model/Chenil.cs | 18 + Sources/Model/Entite.cs | 98 +++++ Sources/Model/Espece.cs | 20 +- Sources/Model/MagasinAlimentaire.cs | 18 + Sources/Model/Petsitter.cs | 19 + Sources/Model/Provenance.cs | 18 + Sources/Model/Race.cs | 4 + Sources/Model/Stub.cs | 2 +- Sources/Model/Veterinaire.cs | 30 ++ Sources/Views/Animaux.xaml | 2 +- Sources/Views/DetailAnimal.xaml | 247 ++++++++++- Sources/Views/DetailAnimal.xaml.cs | 1 + 14 files changed, 792 insertions(+), 368 deletions(-) create mode 100644 Sources/Model/Chenil.cs create mode 100644 Sources/Model/Entite.cs create mode 100644 Sources/Model/MagasinAlimentaire.cs create mode 100644 Sources/Model/Petsitter.cs create mode 100644 Sources/Model/Provenance.cs create mode 100644 Sources/Model/Veterinaire.cs diff --git a/Sources/Console/Program.cs b/Sources/Console/Program.cs index 1dfec76..d3a3dad 100644 --- a/Sources/Console/Program.cs +++ b/Sources/Console/Program.cs @@ -1,4 +1,5 @@ using Model; +using System.Collections.ObjectModel; using System.IO; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -63,6 +64,7 @@ class Program break; case 2: Console.Clear(); + SelectionnerEspece(); break; case 9: Console.Clear(); @@ -74,6 +76,124 @@ class Program } } + static private void AfficherListeEspece() + { + Console.WriteLine("LISTE DES ESPECES : "); + foreach (Espece espece in Theque.ListeEspeces) + { + Console.WriteLine("\t" + espece.Nom + " (" + espece.NomScientifique + ")"); + } + Console.WriteLine("\n"); + } + + static private void SelectionnerEspece() + { + string choix = ""; + while (choix != "-1") + { + AfficherListeEspece(); + + Console.Write("\n\tEntrer le nom de l'espèce à sélectionner (-1 pour annuler) : "); + choix = Console.ReadLine(); + + Espece? espece = Theque.RechercherEspece(choix); + + if (espece != null) + { + AfficherEspece(espece); + } + else Console.WriteLine("\tChoix incorrect\n"); + } + } + + static private void AfficherEspece(Espece espece) + { + Console.WriteLine("\n" + espece.Nom); + Console.WriteLine("\tNom scientifique : " + espece.NomScientifique); + Console.WriteLine("\tEspérance de vie : " + espece.EsperanceVie); + Console.WriteLine("\tPoids moyen : " + espece.PoidsMoyen); + Console.WriteLine("\tTaille moyenne : " + espece.TailleMoyenne); + Console.WriteLine("\tComportement : " + espece.Comportement); + Console.WriteLine("\tSanté : " + espece.Sante); + Console.WriteLine("\tEducation : " + espece.Education); + Console.WriteLine("\tEntretien : " + espece.Entretien); + Console.WriteLine("\tCout : " + espece.Cout); + Console.WriteLine("\tConseil : " + espece.Conseil); + + AfficherListeRace(espece); + + while (true) + { + Console.WriteLine("\n\t1- Sélectionner une race"); + Console.WriteLine("\t9- Retour"); + + Console.Write("\n\tEntrer votre choix : "); + int decision = Convert.ToInt32(Console.ReadLine()); + + switch (decision) + { + case 1: + SelectionnerRace(espece); + break; + case 9: + return; + default: + Console.WriteLine("\tChoix incorrect\n"); + break; + } + } + } + + static private void AfficherListeRace(Espece espece) + { + Console.WriteLine("\nLISTE DES RACES : "); + if (espece.ListeRaces != null) + { + foreach (Race race in espece.ListeRaces) + { + Console.WriteLine("\t" + race.Nom + " (" + race.NomScientifique + ")"); + } + Console.WriteLine("\n"); + } + else Console.WriteLine("\tAucune race connue.\n"); + } + + static private void SelectionnerRace(Espece espece) + { + string choix = ""; + while (choix != "-1") + { + Console.Write("\n\tEntrer le nom de la race à sélectionner (-1 pour annuler) : "); + choix = Console.ReadLine(); + + if (choix != "-1") + { + Race? race = espece.RechercherRace(choix); + + if (race != null) + { + AfficherRace(race); + } + else Console.WriteLine("\tChoix incorrect\n"); + } + } + } + + static private void AfficherRace(Race race) + { + Console.WriteLine("\n " + race.Nom); + Console.WriteLine("\tNom scientifique : " + race.NomScientifique); + Console.WriteLine("\tEspérance de vie : " + race.EsperanceVie); + Console.WriteLine("\tPoids moyen : " + race.PoidsMoyen); + Console.WriteLine("\tTaille moyenne : " + race.TailleMoyenne); + Console.WriteLine("\tComportement : " + race.Comportement); + Console.WriteLine("\tSante : " + race.Sante); + Console.WriteLine("\tEducation : " + race.Education); + Console.WriteLine("\tEntretien : " + race.Entretien); + Console.WriteLine("\tCout : " + race.Cout); + Console.WriteLine("\tConseil : " + race.Conseil + "\n\n"); + } + static private void MenusAnimal() { while (true) @@ -95,8 +215,12 @@ class Program break; case 2: Console.Clear(); + Animal animal = Theque.AjouterAnimal(); + ModifierAnimal(animal, Theque.ListeEspeces); break; case 3: + Console.Clear(); + SelectionnerAnimal(); break; case 9: Console.Clear(); @@ -117,18 +241,7 @@ class Program } } - static private void AfficherListeEspece() - { - Console.WriteLine("LISTE DES ESPECES : "); - foreach (Espece espece in Theque.ListeEspeces) - { - Console.WriteLine("\t" + espece.Nom + " (" + espece.NomScientifique + ")"); - } - Console.WriteLine("\n"); - } -} - - /*public void SelectionnerAnimal() + static private void SelectionnerAnimal() { string choix = ""; while (choix != "-1") @@ -138,401 +251,189 @@ class Program Console.Write("\n\tEntrer le nom de l'animal à sélectionner (-1 pour annuler) : "); choix = Console.ReadLine(); - Animal animal = Theque.RechercherAnimal(choix); + Animal? animal = Theque.RechercherAnimal(choix); if (animal != null) { - animal.AfficherAnimal(Theque.ListeAnimaux); + AfficherAnimal(animal, Theque.ListeEspeces); } else Console.WriteLine("\tChoix incorrect\n"); } - }*/ - -/*public void SelectionnerEspece() -{ - string choix = ""; - while (choix != "-1") - { - AfficherListeEspece(); - - Console.Write("\n\tEntrer le nom de l'espèce à sélectionner (-1 pour annuler) : "); - choix = Console.ReadLine(); - - Espece espece = RechercherEspece(choix); - - if (espece != null) - { - espece.AfficherEspece(); - } - else Console.WriteLine("\tChoix incorrect\n"); } -}*/ -/*public void AfficherRace() -{ - Console.WriteLine("\n " + Nom); - Console.WriteLine("\tNom scientifique : " + NomScientifique); - Console.WriteLine("\tEspérance de vie : " + EsperanceVie); - Console.WriteLine("\tPoids moyen : " + PoidsMoyen); - Console.WriteLine("\tTaille moyenne : " + TailleMoyenne); - Console.WriteLine("\tComportement : " + Comportement); - Console.WriteLine("\tSante : " + Sante); - Console.WriteLine("\tEducation : " + Education); - Console.WriteLine("\tEntretien : " + Entretien); - Console.WriteLine("\tCout : " + Cout); - Console.WriteLine("\tConseil : " + Conseil + "\n\n"); -}*/ - -/*public void AfficherAnimal(Zootheque zootheque, Especetheque especetheque) -{ - Console.Clear(); - while (true) + static private void AfficherAnimal(Animal animal, List especetheque) { - 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("\t2- Supprimer"); - Console.WriteLine("\t9- Retour"); - - Console.Write("\n\tEntrer votre choix : "); - int decision = Convert.ToInt32(Console.ReadLine()); - - switch (decision) + Console.Clear(); + while (true) { - case 1: - ModifierAnimal(especetheque); - break; - case 2: - zootheque.SupprimerAnimal(this); - return; - case 9: - return; - default: - Console.WriteLine("\tChoix incorrect\n"); - break; - } - } -}*/ + Console.WriteLine("\n" + animal.Nom); + if (animal.Espece != null) Console.WriteLine("\tEspece : " + animal.Espece.Nom); + if (animal.Race != null) Console.WriteLine("\tRace : " + animal.Race.Nom); + Console.WriteLine("\tDate de naissance : " + animal.DateNaissance); + Console.WriteLine("\tSexe : " + animal.Sexe); + Console.WriteLine("\tDate d'adoption : " + animal.DateAdoption); + Console.WriteLine("\tTaille : " + animal.Taille); + Console.WriteLine("\tPoids : " + animal.Poids); + Console.WriteLine("\tAlimentation : " + animal.Alimentation); + + Console.WriteLine("\n\t1- Modifier"); + Console.WriteLine("\t2- Supprimer"); + Console.WriteLine("\t9- Retour"); -/*public void ModifierNom() -{ - while (Nom == "") - { - Console.Write("\tNom : "); - Nom = Console.ReadLine(); - } -}*/ + Console.Write("\n\tEntrer votre choix : "); + int decision = Convert.ToInt32(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"); + switch (decision) + { + case 1: + ModifierAnimal(animal, especetheque); + break; + case 2: + Theque.SupprimerAnimal(animal); + return; + case 9: + return; + default: + Console.WriteLine("\tChoix incorrect\n"); + break; + } } } - Espece = espece; -}*/ - -/*public void ModifierSexe() -{ - string sexe = "sexe"; - while (sexe != "Male" && sexe != "Femelle" && sexe != "") + static private void ModifierAnimal(Animal animal, List especetheque) { - 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(); - -}*/ + while (true) + { + Console.WriteLine("MODIFIER L'ANIMAL ", 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"); -/*public void ModifierRace() -{ - Console.Write("\tRace (appuyer sur entrer pour passer) : "); - string nomRace = Console.ReadLine(); - Race = Espece.RechercherRace(nomRace); -}*/ + Console.Write("\n\tEntrer votre choix : "); + int decision = Convert.ToInt32(Console.ReadLine()); -/*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"); - break; - } - } -}*/ -/*internal void AffficherListeRace() - { - Console.WriteLine("\nLISTE DES RACES : "); - if (ListeRaces != null) - { - foreach (Race race in ListeRaces) + switch (decision) { - Console.WriteLine("\t" + race.Nom + " (" + race.NomScientifique + ")"); + case 1: + ModifierNom(animal); + break; + case 2: + ModifierEspece(animal, especetheque); + break; + case 3: + ModifierRace(animal); + break; + case 4: + ModifierDateNaissance(animal); + break; + case 5: + ModifierSexe(animal); + break; + case 6: + ModifierDateAdoption(animal); + break; + case 7: + ModifierTaille(animal); + break; + case 8: + ModifierPoids(animal); + break; + case 9: + ModifierAlimentation(animal); + break; + case 19: + return; + default: + Console.WriteLine("\tChoix incorrect\n"); + break; } - Console.WriteLine("\n"); } - else Console.WriteLine("\tAucune race connue.\n"); - }*/ + } -/*public void AfficherEspece() -{ - Console.WriteLine("\n" + Nom); - Console.WriteLine("\tNom scientifique : " + NomScientifique); - Console.WriteLine("\tEspérance de vie : " + EsperanceVie); - Console.WriteLine("\tPoids moyen : " + PoidsMoyen); - Console.WriteLine("\tTaille moyenne : " + TailleMoyenne); - Console.WriteLine("\tComportement : " + Comportement); - Console.WriteLine("\tSanté : " + Sante); - Console.WriteLine("\tEducation : " + Education); - Console.WriteLine("\tEntretien : " + Entretien); - Console.WriteLine("\tCout : " + Cout); - Console.WriteLine("\tConseil : " + Conseil); - - AffficherListeRace(); - - while (true) + static private void ModifierNom(Animal animal) { - Console.WriteLine("\n\t1- Sélectionner une race"); - Console.WriteLine("\t9- Retour"); - - Console.Write("\n\tEntrer votre choix : "); - int decision = Convert.ToInt32(Console.ReadLine()); - - switch (decision) + while (animal.Nom == "") { - case 1: - SelectionnerRace(); - break; - case 9: - return; - default: - Console.WriteLine("\tChoix incorrect\n"); - break; + Console.Write("\tNom : "); + animal.Nom = Console.ReadLine(); } } -}*/ -/*public Race? RechercherRace(string choix) -{ - if (ListeRaces != null && choix != "") + static private void ModifierEspece(Animal animal, List especetheque) { - foreach (Race race in ListeRaces) + Espece? espece = null; + while (espece == null) { - if (race.Nom == choix) + Console.Write("\tEspèce : "); + string nomEspece = Console.ReadLine(); + espece = Theque.RechercherEspece(nomEspece); + if (espece == null) { - return race; + Console.WriteLine("Espece inconnue\n"); } } - Console.WriteLine("\n"); + + animal.Espece = espece; } - return null; -}*/ -/*public void SelectionnerRace () -{ - string choix = ""; - while (choix != "-1") + static private void ModifierSexe(Animal animal) { - Console.Write("\n\tEntrer le nom de la race à sélectionner (-1 pour annuler) : "); - choix = Console.ReadLine(); - - if (choix != "-1") + string sexe = "sexe"; + while (sexe != "Male" && sexe != "Femelle" && sexe != "") { - Race race = RechercherRace(choix); - - if (race != null) - { - race.AfficherRace(); - } - else Console.WriteLine("\tChoix incorrect\n"); + Console.Write("\tSexe [Male|Femelle|] (appuyer sur entrer pour passer) : "); + sexe = Console.ReadLine(); } + animal.Sexe = sexe; } -}*/ -/*internal void AffficherListeRace() -{ - Console.WriteLine("\nLISTE DES RACES : "); - if (ListeRaces != null) + + static private void ModifierTaille(Animal animal) { - foreach (Race race in ListeRaces) - { - Console.WriteLine("\t" + race.Nom + " (" + race.NomScientifique + ")"); - } - Console.WriteLine("\n"); + Console.Write("\tTaille (appuyer sur entrer pour passer) : "); + string taille = Console.ReadLine(); + if (taille == "") animal.Taille = null; + else animal.Taille = Single.Parse(taille); } - else Console.WriteLine("\tAucune race connue.\n"); -}*/ -/*public void AfficherEspece() -{ - Console.WriteLine("\n" + Nom); - Console.WriteLine("\tNom scientifique : " + NomScientifique); - Console.WriteLine("\tEspérance de vie : " + EsperanceVie); - Console.WriteLine("\tPoids moyen : " + PoidsMoyen); - Console.WriteLine("\tTaille moyenne : " + TailleMoyenne); - Console.WriteLine("\tComportement : " + Comportement); - Console.WriteLine("\tSanté : " + Sante); - Console.WriteLine("\tEducation : " + Education); - Console.WriteLine("\tEntretien : " + Entretien); - Console.WriteLine("\tCout : " + Cout); - Console.WriteLine("\tConseil : " + Conseil); - - AffficherListeRace(); - - while (true) + static private void ModifierPoids(Animal animal) { - Console.WriteLine("\n\t1- Sélectionner une race"); - Console.WriteLine("\t9- Retour"); - - Console.Write("\n\tEntrer votre choix : "); - int decision = Convert.ToInt32(Console.ReadLine()); - - switch (decision) - { - case 1: - SelectionnerRace(); - break; - case 9: - return; - default: - Console.WriteLine("\tChoix incorrect\n"); - break; - } + Console.Write("\tPoids (appuyer sur entrer pour passer) : "); + string poids = Console.ReadLine(); + if (poids == "") animal.Poids = null; + else animal.Poids = Single.Parse(poids); } -}*/ -/*public Race? RechercherRace(string choix) -{ - if (ListeRaces != null && choix != "") + static private void ModifierAlimentation(Animal animal) { - foreach (Race race in ListeRaces) - { - if (race.Nom == choix) - { - return race; - } - } - Console.WriteLine("\n"); + Console.Write("\tAlimentation (appuyer sur entrer pour passer) : "); + animal.Alimentation = Console.ReadLine(); } - return null; -} -}*/ -/*public void SelectionnerRace() -{ - string choix = ""; - while (choix != "-1") + static private void ModifierDateNaissance(Animal animal) { - Console.Write("\n\tEntrer le nom de la race à sélectionner (-1 pour annuler) : "); - choix = Console.ReadLine(); + Console.Write("\tDate de naissance (appuyer sur entrer pour passer) : "); + animal.DateNaissance = Console.ReadLine(); - if (choix != "-1") - { - Race race = RechercherRace(choix); + } + + static private void ModifierDateAdoption(Animal animal) + { + Console.Write("\tDate d'adoption (appuyer sur entrer pour passer) : "); + animal.DateAdoption = Console.ReadLine(); - if (race != null) - { - race.AfficherRace(); - } - else Console.WriteLine("\tChoix incorrect\n"); - } } -}*/ + static private void ModifierRace(Animal animal) + { + Console.Write("\tRace (appuyer sur entrer pour passer) : "); + string nomRace = Console.ReadLine(); + animal.Race = animal.Espece.RechercherRace(nomRace); + } +} \ No newline at end of file diff --git a/Sources/Model/Animal.cs b/Sources/Model/Animal.cs index 7c9ad9a..2dfd43d 100644 --- a/Sources/Model/Animal.cs +++ b/Sources/Model/Animal.cs @@ -127,6 +127,71 @@ namespace Model } private Race? race; + public Veterinaire? Veterinaire + { + get => veterinaire; + set + { + if(veterinaire == value) + return; + veterinaire = value; + OnPropertyChanged(nameof(Veterinaire)); + } + } + private Veterinaire? veterinaire = new Veterinaire(); + + public Chenil? Chenil + { + get => chenil; + set + { + if (chenil == value) + return; + chenil = value; + OnPropertyChanged(nameof(Chenil)); + } + } + private Chenil? chenil = new Chenil(); + + public MagasinAlimentaire? MagasinAlimentaire + { + get => magasinAlimentaire; + set + { + if (magasinAlimentaire == value) + return; + magasinAlimentaire = value; + OnPropertyChanged(nameof(MagasinAlimentaire)); + } + } + private MagasinAlimentaire? magasinAlimentaire = new MagasinAlimentaire(); + + public Provenance? Provenance + { + get => provenance; + set + { + if (provenance == value) + return; + provenance = value; + OnPropertyChanged(nameof(Petsitter)); + } + } + private Provenance? provenance = new Provenance(); + + public Petsitter? Petsitter + { + get => petsitter; + set + { + if (petsitter == value) + return; + petsitter = value; + OnPropertyChanged(nameof(Petsitter)); + } + } + private Petsitter? petsitter = new Petsitter(); + public Animal(string nom = "", string dateNaissance = "Inconnue", string sexe = "Inconnu", string dateAdpotion = "Inconnue", float? taille = null, float? poids = null, string alimentation = "Inconnue", Race? race = null) { Nom = nom; @@ -137,6 +202,7 @@ namespace Model Poids = poids; Alimentation = alimentation; Race = race; + Petsitter = petsitter; } void OnPropertyChanged(string propertyName) diff --git a/Sources/Model/Chenil.cs b/Sources/Model/Chenil.cs new file mode 100644 index 0000000..175ace1 --- /dev/null +++ b/Sources/Model/Chenil.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class Chenil : Entite + { + public Entite Entite { get; set; } + + public Chenil() + { + Entite = new Entite(); + } + } +} diff --git a/Sources/Model/Entite.cs b/Sources/Model/Entite.cs new file mode 100644 index 0000000..fc4c663 --- /dev/null +++ b/Sources/Model/Entite.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations.Schema; +using System.IO.Pipes; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class Entite : INotifyPropertyChanged + { + public event PropertyChangedEventHandler? PropertyChanged; + + public string Nom + { + get => nom; + set + { + if (nom == value) + return; + nom = value; + OnPropertyChanged(nameof(Nom)); + } + } + private string nom; + + public string Adresse + { + get => adresse; + set + { + if (adresse == value) + return; + adresse = value; + OnPropertyChanged(nameof(Adresse)); + } + } + private string adresse; + + public int? CodePostal + { + get => codePostal; + set + { + if (codePostal == value) + return; + codePostal = value; + OnPropertyChanged(nameof(CodePostal)); + } + } + private int? codePostal; + + public string Ville + { + get => ville; + set + { + if (ville == value) + return; + ville = value; + OnPropertyChanged(nameof(Ville)); + } + } + private string ville; + + public int? NumTel + { + get => numTel; + set + { + if(numTel == value) + return; + numTel = value; + OnPropertyChanged(nameof(NumTel)); + } + } + private int? numTel; + + public Entite(string nom = "", string adresse = "", int? codePostal = null, string ville = "", int? numTel = null) + { + Nom = nom; + Adresse = adresse; + CodePostal = codePostal; + Ville = ville; + NumTel = numTel; + } + + void OnPropertyChanged(string propertyName) + { + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } +} diff --git a/Sources/Model/Espece.cs b/Sources/Model/Espece.cs index e6099fa..b12740b 100644 --- a/Sources/Model/Espece.cs +++ b/Sources/Model/Espece.cs @@ -16,7 +16,7 @@ namespace Model public string EsperanceVie { get; } public string PoidsMoyen { get; } public string TailleMoyenne { get; } - public HashSet? ListeRaces { get; } = new HashSet(); + public List? ListeRaces { get; } = new List(); public string Comportement { get; } public string Sante { get; } public string Education { get; } @@ -24,7 +24,7 @@ namespace Model public string Cout { get; } public string Conseil { get; } - public Espece(string nom = "", string nomScientifique = "", string image = "", string esperanceVie = "", string poidsMoyen = "", string tailleMoyenne = "", HashSet? races = null, string comportement = "", string sante = "", string education = "", string entretien = "", string cout = "", string conseil = "") + public Espece(string nom = "", string nomScientifique = "", string image = "", string esperanceVie = "", string poidsMoyen = "", string tailleMoyenne = "", List? races = null, string comportement = "", string sante = "", string education = "", string entretien = "", string cout = "", string conseil = "") { Nom = nom; NomScientifique = nomScientifique; @@ -45,5 +45,21 @@ namespace Model { return Nom; } + + public Race? RechercherRace(string choix) + { + if (ListeRaces != null && choix != "") + { + foreach (Race race in ListeRaces) + { + if (race.Nom == choix) + { + return race; + } + } + Console.WriteLine("\n"); + } + return null; + } } } diff --git a/Sources/Model/MagasinAlimentaire.cs b/Sources/Model/MagasinAlimentaire.cs new file mode 100644 index 0000000..d808f77 --- /dev/null +++ b/Sources/Model/MagasinAlimentaire.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class MagasinAlimentaire : Entite + { + public Entite Entite { get; set; } + + public MagasinAlimentaire() + { + Entite = new Entite(); + } + } +} diff --git a/Sources/Model/Petsitter.cs b/Sources/Model/Petsitter.cs new file mode 100644 index 0000000..96d6630 --- /dev/null +++ b/Sources/Model/Petsitter.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class Petsitter : Entite + { + public Entite Entite { get; set; } + + public Petsitter() + { + Entite = new Entite(); + } + } +} diff --git a/Sources/Model/Provenance.cs b/Sources/Model/Provenance.cs new file mode 100644 index 0000000..aefce2f --- /dev/null +++ b/Sources/Model/Provenance.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class Provenance : Entite + { + public Entite Entite { get; set; } + + public Provenance() + { + Entite = new Entite(); + } + } +} diff --git a/Sources/Model/Race.cs b/Sources/Model/Race.cs index ad00e0a..d456481 100644 --- a/Sources/Model/Race.cs +++ b/Sources/Model/Race.cs @@ -34,5 +34,9 @@ namespace Model Cout = cout; Conseil = conseil; } + public override string ToString() + { + return Nom; + } } } diff --git a/Sources/Model/Stub.cs b/Sources/Model/Stub.cs index 8dda9fd..fae9ce6 100644 --- a/Sources/Model/Stub.cs +++ b/Sources/Model/Stub.cs @@ -11,7 +11,7 @@ namespace Model public static List LoadEspecetheque() { List ListeEspeces = new List(); - HashSet Races = new HashSet(); + List Races = new List(); Races.Add(new("Abyssin")); Races.Add(new("American curl")); diff --git a/Sources/Model/Veterinaire.cs b/Sources/Model/Veterinaire.cs new file mode 100644 index 0000000..562cc2a --- /dev/null +++ b/Sources/Model/Veterinaire.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Model +{ + public class Veterinaire : Entite + { + public Entite Entite { get; set; } + //public string Clinique + //{ + // get => clinique; + //set + //{ + // if(clinique == value) + // return; + // clinique = value; + //} + // } + private string clinique; + + public Veterinaire() + { + Entite = new Entite(); + } + } +} diff --git a/Sources/Views/Animaux.xaml b/Sources/Views/Animaux.xaml index 733601f..09a233d 100644 --- a/Sources/Views/Animaux.xaml +++ b/Sources/Views/Animaux.xaml @@ -43,7 +43,7 @@ diff --git a/Sources/Views/DetailAnimal.xaml b/Sources/Views/DetailAnimal.xaml index 75e8138..d1e4624 100644 --- a/Sources/Views/DetailAnimal.xaml +++ b/Sources/Views/DetailAnimal.xaml @@ -35,21 +35,21 @@