diff --git a/Sources/Console/Program.cs b/Sources/Console/Program.cs index 47362a8..3a1def7 100644 --- a/Sources/Console/Program.cs +++ b/Sources/Console/Program.cs @@ -256,13 +256,13 @@ class Program if (animal != null) { - AfficherAnimal(animal, Theque.ListeEspeces); + AfficherAnimal(animal); } else Console.WriteLine("\tChoix incorrect\n"); } } - static private void AfficherAnimal(Animal animal, List especetheque) + static private void AfficherAnimal(Animal animal) { Console.Clear(); while (true) diff --git a/Sources/Model/Animal.cs b/Sources/Model/Animal.cs index db85eab..e80817e 100644 --- a/Sources/Model/Animal.cs +++ b/Sources/Model/Animal.cs @@ -169,7 +169,7 @@ namespace Model private Veterinaire? veterinaire = new Veterinaire(); [DataMember(Name = "chenil")] - public Chenil? Chenil + public Entite? Chenil { get => chenil; set @@ -180,10 +180,10 @@ namespace Model OnPropertyChanged(nameof(Chenil)); } } - private Chenil? chenil = new Chenil(); + private Entite? chenil = new Entite(); - [DataMember(Name = "magasinAlimentaire")] - public MagasinAlimentaire? MagasinAlimentaire + [DataMember(Name = "magasin")] + public Entite? MagasinAlimentaire { get => magasinAlimentaire; set @@ -194,10 +194,10 @@ namespace Model OnPropertyChanged(nameof(MagasinAlimentaire)); } } - private MagasinAlimentaire? magasinAlimentaire = new MagasinAlimentaire(); + private Entite? magasinAlimentaire = new Entite(); [DataMember(Name = "provenance")] - public Provenance? Provenance + public Entite? Provenance { get => provenance; set @@ -208,10 +208,10 @@ namespace Model OnPropertyChanged(nameof(Petsitter)); } } - private Provenance? provenance = new Provenance(); + private Entite? provenance = new Entite(); [DataMember(Name = "petsitter")] - public Petsitter? Petsitter + public Entite? Petsitter { get => petsitter; set @@ -222,7 +222,7 @@ namespace Model OnPropertyChanged(nameof(Petsitter)); } } - private Petsitter? petsitter = new Petsitter(); + private Entite? petsitter = new Entite(); [DataMember(Name = "image")] public string Image diff --git a/Sources/Model/Entite.cs b/Sources/Model/Entite.cs index e82e384..747597e 100644 --- a/Sources/Model/Entite.cs +++ b/Sources/Model/Entite.cs @@ -4,15 +4,18 @@ using System.ComponentModel; using System.ComponentModel.DataAnnotations.Schema; using System.IO.Pipes; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace Model { + [DataContract(Name = "entite")] public class Entite : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; + [DataMember(Name = "nom")] public string Nom { get => nom; @@ -26,6 +29,7 @@ namespace Model } private string nom; + [DataMember(Name = "adresse")] public string Adresse { get => adresse; @@ -39,6 +43,7 @@ namespace Model } private string adresse; + [DataMember(Name = "codePostal")] public int? CodePostal { get => codePostal; @@ -52,6 +57,7 @@ namespace Model } private int? codePostal; + [DataMember(Name = "ville")] public string Ville { get => ville; @@ -65,6 +71,7 @@ namespace Model } private string ville; + [DataMember(Name = "numTel")] public int? NumTel { get => numTel; diff --git a/Sources/Model/Espece.cs b/Sources/Model/Espece.cs index b12740b..f7bb060 100644 --- a/Sources/Model/Espece.cs +++ b/Sources/Model/Espece.cs @@ -2,26 +2,54 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; +using System.Xml.Linq; using static System.Runtime.InteropServices.JavaScript.JSType; namespace Model { + [DataContract(Name = "espece")] public class Espece { + [DataMember(Name = "nom")] public string Nom { get; } + + [DataMember(Name = "scientifique")] public string NomScientifique { get; } + + [DataMember(Name = "image")] public string Image { get; } + + [DataMember(Name = "esperance")] public string EsperanceVie { get; } + + [DataMember(Name = "poids")] public string PoidsMoyen { get; } + + [DataMember(Name = "taille")] public string TailleMoyenne { get; } + + [DataMember(Name = "races")] public List? ListeRaces { get; } = new List(); + + [DataMember(Name = "comportement")] public string Comportement { get; } + + [DataMember(Name = "sante")] public string Sante { get; } + + [DataMember(Name = "education")] public string Education { get; } + + [DataMember(Name = "entretien")] public string Entretien { get; } + + [DataMember(Name = "cout")] public string Cout { get; } + + [DataMember(Name = "conseil")] public string Conseil { get; } 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 = "") diff --git a/Sources/Model/Race.cs b/Sources/Model/Race.cs index aef0233..29e5bed 100644 --- a/Sources/Model/Race.cs +++ b/Sources/Model/Race.cs @@ -8,20 +8,43 @@ using System.Xml.Linq; namespace Model { + [DataContract(Name = "race")] public class Race { + [DataMember(Name = "nom")] public string Nom { get; } + + [DataMember(Name = "scientique")] public string NomScientifique { get; } + + [DataMember(Name = "esperance")] public string EsperanceVie { get; } + + [DataMember(Name = "poids")] public string PoidsMoyen { get; } + + [DataMember(Name = "taille")] public string TailleMoyenne { get; } + + [DataMember(Name = "comportement")] public string Comportement { get; } + + [DataMember(Name = "sante")] public string Sante { get; } + + [DataMember(Name = "education")] public string Education { get; } + + [DataMember(Name = "entretien")] public string Entretien { get; } + + [DataMember(Name = "cout")] public string Cout { get; } + + [DataMember(Name = "conseil")] public string Conseil { get; } + [DataMember(Name = "image")] public string Image { get; } public Race(string nom = "Inconnu", string nomScientifique = "Inconnu", string esperanceVie = "Inconnue", string poidsMoyen = "Inconnu", string tailleMoyenne = "Inconnu", string comportement = "Auncune information", string sante = "Aucune information", string education = "Auncune information", string entretien = "Aucune information", string cout = "Auncune information", string conseil = "Aucun conseil") diff --git a/Sources/Model/Theque.cs b/Sources/Model/Theque.cs index d629f81..4a6cee4 100644 --- a/Sources/Model/Theque.cs +++ b/Sources/Model/Theque.cs @@ -2,14 +2,20 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; +using System.Xml.Linq; namespace Model { + [DataContract(Name = "theque")] public class Theque { - public List ListeEspeces { get; set; } + [DataMember(Name = "especes")] + public List ListeEspeces { get; set; } + + [DataMember(Name = "animaux")] public ObservableCollection ListeAnimaux { get; set; } public Theque() diff --git a/Sources/Model/Veterinaire.cs b/Sources/Model/Veterinaire.cs index 637e8e4..3efc124 100644 --- a/Sources/Model/Veterinaire.cs +++ b/Sources/Model/Veterinaire.cs @@ -2,13 +2,16 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace Model { + [DataContract(Name = "veterinaire")] public class Veterinaire : Entite { + [DataMember(Name = "clinique")] public string Clinique { get => clinique; diff --git a/Sources/Persistance/DataContractSerializer.cs b/Sources/Persistance/DataContractSerializer.cs new file mode 100644 index 0000000..54cd379 --- /dev/null +++ b/Sources/Persistance/DataContractSerializer.cs @@ -0,0 +1,15 @@ +using System; +using System.IO; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Json; +using System.Xml; +using static System.Console; +using Model; + +namespace Persistance +{ + public class DataContractSerializer + { + + } +} \ No newline at end of file diff --git a/Sources/Persistance/Persistance.csproj b/Sources/Persistance/Persistance.csproj new file mode 100644 index 0000000..a96dc3f --- /dev/null +++ b/Sources/Persistance/Persistance.csproj @@ -0,0 +1,13 @@ + + + + net7.0 + enable + enable + + + + + + + diff --git a/Sources/Views/MainPage.xaml b/Sources/Views/MainPage.xaml index 23452b4..80f0ff9 100644 --- a/Sources/Views/MainPage.xaml +++ b/Sources/Views/MainPage.xaml @@ -4,5 +4,6 @@ xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit" xmlns:local="clr-namespace:Views" x:Class="Views.MainPage"> - + + diff --git a/Sources/Wikipet's.sln b/Sources/Wikipet's.sln index 4432748..e94d171 100644 --- a/Sources/Wikipet's.sln +++ b/Sources/Wikipet's.sln @@ -12,26 +12,112 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Views", "Views\Views.csproj {83309215-075B-406F-A72E-45E40AD47E43} = {83309215-075B-406F-A72E-45E40AD47E43} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Persistance", "Persistance\Persistance.csproj", "{E056C06A-C2FF-40FE-A8B2-CE581F415BB6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|ARM.ActiveCfg = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|ARM.Build.0 = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|ARM64.Build.0 = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|x64.ActiveCfg = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|x64.Build.0 = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|x86.ActiveCfg = Debug|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Debug|x86.Build.0 = Debug|Any CPU {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|Any CPU.ActiveCfg = Release|Any CPU {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|Any CPU.Build.0 = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|ARM.ActiveCfg = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|ARM.Build.0 = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|ARM64.ActiveCfg = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|ARM64.Build.0 = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|x64.ActiveCfg = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|x64.Build.0 = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|x86.ActiveCfg = Release|Any CPU + {66D1B4E7-A14F-4DCE-89D1-31CC53E5F3B9}.Release|x86.Build.0 = Release|Any CPU {83309215-075B-406F-A72E-45E40AD47E43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {83309215-075B-406F-A72E-45E40AD47E43}.Debug|Any CPU.Build.0 = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|ARM.ActiveCfg = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|ARM.Build.0 = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|ARM64.Build.0 = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|x64.ActiveCfg = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|x64.Build.0 = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|x86.ActiveCfg = Debug|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Debug|x86.Build.0 = Debug|Any CPU {83309215-075B-406F-A72E-45E40AD47E43}.Release|Any CPU.ActiveCfg = Release|Any CPU {83309215-075B-406F-A72E-45E40AD47E43}.Release|Any CPU.Build.0 = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|ARM.ActiveCfg = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|ARM.Build.0 = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|ARM64.ActiveCfg = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|ARM64.Build.0 = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|x64.ActiveCfg = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|x64.Build.0 = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|x86.ActiveCfg = Release|Any CPU + {83309215-075B-406F-A72E-45E40AD47E43}.Release|x86.Build.0 = Release|Any CPU {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|Any CPU.Build.0 = Debug|Any CPU {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|ARM.ActiveCfg = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|ARM.Build.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|ARM.Deploy.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|ARM64.Build.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|ARM64.Deploy.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|x64.ActiveCfg = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|x64.Build.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|x64.Deploy.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|x86.ActiveCfg = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|x86.Build.0 = Debug|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Debug|x86.Deploy.0 = Debug|Any CPU {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|Any CPU.ActiveCfg = Release|Any CPU {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|Any CPU.Build.0 = Release|Any CPU {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|Any CPU.Deploy.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|ARM.ActiveCfg = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|ARM.Build.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|ARM.Deploy.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|ARM64.ActiveCfg = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|ARM64.Build.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|ARM64.Deploy.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|x64.ActiveCfg = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|x64.Build.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|x64.Deploy.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|x86.ActiveCfg = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|x86.Build.0 = Release|Any CPU + {6FB34AC9-C9A0-4223-96A0-C8D3D7C3242F}.Release|x86.Deploy.0 = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|ARM.ActiveCfg = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|ARM.Build.0 = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|ARM64.Build.0 = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|x64.ActiveCfg = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|x64.Build.0 = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|x86.ActiveCfg = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Debug|x86.Build.0 = Debug|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|Any CPU.Build.0 = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|ARM.ActiveCfg = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|ARM.Build.0 = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|ARM64.ActiveCfg = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|ARM64.Build.0 = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|x64.ActiveCfg = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|x64.Build.0 = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|x86.ActiveCfg = Release|Any CPU + {E056C06A-C2FF-40FE-A8B2-CE581F415BB6}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE