From ae2fa75b0157d1919bcbdad372e74997af5b68aa Mon Sep 17 00:00:00 2001 From: "Leana.besson" Date: Fri, 2 Jun 2023 22:45:55 +0200 Subject: [PATCH] Transformation string to DateTime --- Sources/Model/Animal.cs | 12 ++- Sources/Persistance/DataSerializer.cs | 21 +++-- Sources/Views/App.xaml.cs | 9 +- Sources/Views/New_DetailAnimal.xaml | 16 ++-- Sources/Views/New_DetailAnimal.xaml.cs | 118 +++++++++++++------------ Sources/Views/Views.csproj | 1 + 6 files changed, 94 insertions(+), 83 deletions(-) diff --git a/Sources/Model/Animal.cs b/Sources/Model/Animal.cs index e80817e..246b500 100644 --- a/Sources/Model/Animal.cs +++ b/Sources/Model/Animal.cs @@ -44,7 +44,7 @@ namespace Model private bool nomIsValid; [DataMember(Name = "naissance")] - public string DateNaissance + public DateTime DateNaissance { get => dateNaissance; set @@ -55,7 +55,7 @@ namespace Model OnPropertyChanged(nameof(DateNaissance)); } } - private string dateNaissance; + private DateTime dateNaissance; [DataMember(Name = "sexe")] public string Sexe @@ -71,7 +71,7 @@ namespace Model private string sexe; [DataMember(Name = "adoption")] - public string DateAdoption + public DateTime DateAdoption { get => dateAdoption; set @@ -82,7 +82,7 @@ namespace Model OnPropertyChanged(nameof(DateAdoption)); } } - private string dateAdoption; + private DateTime dateAdoption; [DataMember(Name = "taille")] public float? Taille @@ -238,12 +238,10 @@ namespace Model } private string image; - public Animal(string nom = "", string dateNaissance = "Inconnue", string sexe = "Inconnu", string dateAdpotion = "Inconnue", float? taille = null, float? poids = null, string alimentation = "Inconnue") + public Animal(string nom = "", string sexe = "Inconnu", float? taille = null, float? poids = null, string alimentation = "Inconnue") { Nom = nom; - DateNaissance = dateNaissance; Sexe = sexe; - DateAdoption = dateAdpotion; Taille = taille; Poids = poids; Alimentation = alimentation; diff --git a/Sources/Persistance/DataSerializer.cs b/Sources/Persistance/DataSerializer.cs index cd3216f..3e7195c 100644 --- a/Sources/Persistance/DataSerializer.cs +++ b/Sources/Persistance/DataSerializer.cs @@ -12,11 +12,11 @@ namespace Persistance { public class DataSerializer { - public void Serializer() + public static void Serializer(String path) { Theque theque = new Theque(); - Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory())); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), path)); string xmlFile = "theque.xml"; var serializer = new DataContractSerializer(typeof(Theque)); @@ -27,20 +27,25 @@ namespace Persistance } } - public Theque Deserializer() + public static Theque Deserializer(String path) { - string path = FileSystem. - Directory.SetCurrentDirectory(); + Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory())); string xmlFile = "theque.xml"; var serializer = new DataContractSerializer(typeof(Theque)); Theque theque = new Theque(); - using (Stream s = File.OpenRead(xmlFile)) + if(File.Exists(xmlFile)) + { + using (Stream s = File.OpenRead(xmlFile)) + { + theque = serializer.ReadObject(s) as Theque; + } + } + else { - theque = serializer.ReadObject(s) as Theque; + theque = Stub.LoadTheque(); } - return theque; } } diff --git a/Sources/Views/App.xaml.cs b/Sources/Views/App.xaml.cs index abc4431..ad2c0f1 100644 --- a/Sources/Views/App.xaml.cs +++ b/Sources/Views/App.xaml.cs @@ -1,4 +1,5 @@ using Model; +using Persistance; using System.ComponentModel; using System.Runtime.CompilerServices; @@ -6,8 +7,9 @@ namespace Views { public partial class App : Application, INotifyPropertyChanged { - string path = FileSystem.Current.AppDataDirectory; - public Theque Theque { get; set; } = Stub.LoadTheque(); + public string SerializationPath = FileSystem.Current.AppDataDirectory; + static private string serializationPath = FileSystem.Current.AppDataDirectory; + public Theque Theque { get; set; } = DataSerializer.Deserializer(serializationPath); public Animal AnimalSelectionner { get => animalSelectionner; @@ -17,8 +19,9 @@ namespace Views OnPropertyChanged(nameof(AnimalSelectionner)); } } - public New_DetailAnimal PageDeSaisie { get; set; } private Animal animalSelectionner; + + public New_DetailAnimal PageDeSaisie { get; set; } public Espece EspeceSelectionner { get; set; } public Race RaceSelectionner { get; set; } diff --git a/Sources/Views/New_DetailAnimal.xaml b/Sources/Views/New_DetailAnimal.xaml index b15af7b..5f803db 100644 --- a/Sources/Views/New_DetailAnimal.xaml +++ b/Sources/Views/New_DetailAnimal.xaml @@ -54,9 +54,10 @@ RowSpacing="8">