From b4efdbc871f130fafbb9bec7e50c6523a25e0675 Mon Sep 17 00:00:00 2001 From: Matheo HERSAN Date: Fri, 9 Jun 2023 15:04:38 +0200 Subject: [PATCH 1/3] Enhancement code --- src/DataContractPersistance/DataContractJSON.cs | 2 +- src/DataContractPersistance/DataContractXML.cs | 2 +- src/MangaMap/App.xaml.cs | 8 ++++---- src/Models/Admin.cs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/DataContractPersistance/DataContractJSON.cs b/src/DataContractPersistance/DataContractJSON.cs index acbe907..381204a 100644 --- a/src/DataContractPersistance/DataContractJSON.cs +++ b/src/DataContractPersistance/DataContractJSON.cs @@ -13,7 +13,7 @@ namespace DataContractPersistance /// /// Implémentation de l'interface IPersistanceManager utilisant la sérialisation avec DataContract. /// - public class DataContractJSON : IPersistanceManager + public class DataContractJson : IPersistanceManager { /// /// Obtient ou définit le nom du fichier de sauvegarde JSON. diff --git a/src/DataContractPersistance/DataContractXML.cs b/src/DataContractPersistance/DataContractXML.cs index 9917896..7418881 100644 --- a/src/DataContractPersistance/DataContractXML.cs +++ b/src/DataContractPersistance/DataContractXML.cs @@ -14,7 +14,7 @@ namespace DataContractPersistance /// /// Implémentation de l'interface IPersistanceManager utilisant la sérialisation avec DataContract. /// - public class DataContractXML : IPersistanceManager + public class DataContractXml : IPersistanceManager { /// /// Obtient ou définit le nom du fichier de sauvegarde XML. diff --git a/src/MangaMap/App.xaml.cs b/src/MangaMap/App.xaml.cs index fcfac7e..3c44157 100644 --- a/src/MangaMap/App.xaml.cs +++ b/src/MangaMap/App.xaml.cs @@ -39,8 +39,8 @@ public partial class App : Application if (File.Exists(Path.Combine(FilePath, FileName))) { - MyManager = new Manager(new DataContractPersistance.DataContractXML()); // Utilise le DataContract comme moyen de persistance. - //MyManager = new Manager(new Stub.DataContractJSON()); // Utilise le DataContract comme moyen de persistance. + MyManager = new Manager(new DataContractPersistance.DataContractXml()); // Utilise le DataContract comme moyen de persistance. + //MyManager = new Manager(new Stub.DataContractJson()); // Utilise le DataContract comme moyen de persistance. } MyManager.charger(); @@ -50,8 +50,8 @@ public partial class App : Application if (!File.Exists(Path.Combine(FilePath, FileName))) { - MyManager.Persistance = new DataContractPersistance.DataContractXML(); // Utilise le Stub comme moyen de persistance. - //MyManager = new Manager(new Stub.DataContractJSON()); + MyManager.Persistance = new DataContractPersistance.DataContractXml(); // Utilise le Stub comme moyen de persistance. + //MyManager = new Manager(new Stub.DataContractJson()); } MyManager.sauvegarder(); diff --git a/src/Models/Admin.cs b/src/Models/Admin.cs index 56f0154..4bb3c74 100644 --- a/src/Models/Admin.cs +++ b/src/Models/Admin.cs @@ -27,11 +27,11 @@ namespace Models /// /// Méthode permettant d'ajouter un anime. /// - public void ajouterAnime() { } + static void ajouterAnime() { } /// /// Méthode permettant de supprimer un anime. /// - public void supprimerAnime() { } + static void supprimerAnime() { } } } From d770568d593425dd0c209329155ddafb116c1e87 Mon Sep 17 00:00:00 2001 From: Matheo HERSAN Date: Fri, 9 Jun 2023 15:16:04 +0200 Subject: [PATCH 2/3] Enhancement code --- src/DataContractPersistance/DataContractJSON.cs | 2 +- src/MangaMap/App.xaml.cs | 1 - src/Models/Manager.cs | 10 +++++++--- src/Models/Personne.cs | 6 +++--- src/Stub/Stub.cs | 2 -- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/DataContractPersistance/DataContractJSON.cs b/src/DataContractPersistance/DataContractJSON.cs index 381204a..e14d97c 100644 --- a/src/DataContractPersistance/DataContractJSON.cs +++ b/src/DataContractPersistance/DataContractJSON.cs @@ -40,7 +40,7 @@ namespace DataContractPersistance data = jsonSerializer.ReadObject(stream2) as DataToPersist; } - return (data.Oeuvres, data.Utilisateurs); + return (data!.Oeuvres, data.Utilisateurs); } /// diff --git a/src/MangaMap/App.xaml.cs b/src/MangaMap/App.xaml.cs index 3c44157..c7f67a5 100644 --- a/src/MangaMap/App.xaml.cs +++ b/src/MangaMap/App.xaml.cs @@ -51,7 +51,6 @@ public partial class App : Application if (!File.Exists(Path.Combine(FilePath, FileName))) { MyManager.Persistance = new DataContractPersistance.DataContractXml(); // Utilise le Stub comme moyen de persistance. - //MyManager = new Manager(new Stub.DataContractJson()); } MyManager.sauvegarder(); diff --git a/src/Models/Manager.cs b/src/Models/Manager.cs index e3b508f..c49dcd7 100644 --- a/src/Models/Manager.cs +++ b/src/Models/Manager.cs @@ -17,7 +17,7 @@ namespace Models /// /// Obtient ou définit le gestionnaire de persistance utilisé pour charger et sauvegarder les données. /// - public IPersistanceManager Persistance { get; set; } + public IPersistanceManager ?Persistance { get; set; } /// /// Obtient la liste des administrateurs de l'application. @@ -29,7 +29,7 @@ namespace Models /// public List Utilisateurs { get; private set; } - private ObservableCollection oeuvres; + private ObservableCollection ?oeuvres; /// /// Obtient ou définit la collection observable des oeuvres de l'application. @@ -94,12 +94,16 @@ namespace Models /// public void charger() { + var donne = Persistance.chargeDonne(); + foreach (var item in donne.Item1) { Oeuvres.Add(item); } Utilisateurs.AddRange(donne.Item2); + + } /// @@ -107,7 +111,7 @@ namespace Models /// public void sauvegarder() { - Persistance.sauvegarder(Oeuvres, Utilisateurs); + Persistance?.sauvegarder(Oeuvres, Utilisateurs); } } } diff --git a/src/Models/Personne.cs b/src/Models/Personne.cs index bc7c1da..0c9d090 100644 --- a/src/Models/Personne.cs +++ b/src/Models/Personne.cs @@ -38,7 +38,7 @@ namespace Models /// True si la modification a réussi, False sinon. public bool MofifierMotDePasse(string MotDePasse) { - string test = ""; + string ?test = ""; test = Console.ReadLine(); if (test == this.MotDePasse) @@ -57,7 +57,7 @@ namespace Models /// True si la modification a réussi, False sinon. public bool MofifierEmail(string Email) { - string test = ""; + string ?test = ""; test = Console.ReadLine(); if (test == this.MotDePasse) @@ -76,7 +76,7 @@ namespace Models /// True si la modification a réussi, False sinon. public bool MofifierPseudo(string Pseudo) { - string test = ""; + string ?test = ""; test = Console.ReadLine(); if (test == this.MotDePasse) diff --git a/src/Stub/Stub.cs b/src/Stub/Stub.cs index e552f59..e46ef16 100644 --- a/src/Stub/Stub.cs +++ b/src/Stub/Stub.cs @@ -38,8 +38,6 @@ namespace Stub l1.Add(o1); l1.Add(o2); l1.Add(o3); l1.Add(o4); l1.Add(o5); l1.Add(o6); l2.Add(u1); l2.Add(u2); l2.Add(u3); - //u1.ListeOeuvreEnVisionnage.Add(o1); - return (l1, l2); } From ec9db207aa833161f4b668e69f3db3c4f4826747 Mon Sep 17 00:00:00 2001 From: Matheo HERSAN Date: Fri, 9 Jun 2023 15:36:44 +0200 Subject: [PATCH 3/3] Better code in Manager.cs --- .../DataContractXML.cs | 4 +++- src/Models/Manager.cs | 19 +++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/DataContractPersistance/DataContractXML.cs b/src/DataContractPersistance/DataContractXML.cs index 7418881..86dde9a 100644 --- a/src/DataContractPersistance/DataContractXML.cs +++ b/src/DataContractPersistance/DataContractXML.cs @@ -47,7 +47,9 @@ namespace DataContractPersistance data = new DataToPersist(); // Si le fichier n'existe pas, créez une nouvelle liste } - return (data.Oeuvres, data.Utilisateurs); + + return (data!.Oeuvres, data.Utilisateurs); + } /// diff --git a/src/Models/Manager.cs b/src/Models/Manager.cs index c49dcd7..fc1ebed 100644 --- a/src/Models/Manager.cs +++ b/src/Models/Manager.cs @@ -38,7 +38,7 @@ namespace Models { get { - return oeuvres; + return oeuvres ??= new ObservableCollection(); } set { @@ -46,7 +46,7 @@ namespace Models OnPropertyChanged(); } } - + public event PropertyChangedEventHandler? PropertyChanged; void OnPropertyChanged([CallerMemberName] string? propertyName = null) @@ -94,14 +94,17 @@ namespace Models /// public void charger() { - - var donne = Persistance.chargeDonne(); - - foreach (var item in donne.Item1) + if (Persistance != null) { - Oeuvres.Add(item); + + var donne = Persistance.chargeDonne(); + + foreach (var item in donne.Item1) + { + Oeuvres.Add(item); + } + Utilisateurs.AddRange(donne.Item2); } - Utilisateurs.AddRange(donne.Item2); }