From ac794f5c168255b3d2f930881ec43d19fd844a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20LAVERGNE?= Date: Mon, 3 Jun 2024 21:50:24 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9D=97=20Passage=20en=20ObservableCollection?= =?UTF-8?q?=20et=20changement=20du=20chemin=20d'acc=C3=A8s=20de=20la=20per?= =?UTF-8?q?sistance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Trek-12/DataContractPersistence/DataContractJson.cs | 7 ++++--- source/Trek-12/DataContractPersistence/DataContractXml.cs | 7 ++++--- source/Trek-12/DataContractPersistence/DataToPersist.cs | 8 ++++---- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/source/Trek-12/DataContractPersistence/DataContractJson.cs b/source/Trek-12/DataContractPersistence/DataContractJson.cs index 83f745a..2307f82 100644 --- a/source/Trek-12/DataContractPersistence/DataContractJson.cs +++ b/source/Trek-12/DataContractPersistence/DataContractJson.cs @@ -26,13 +26,13 @@ namespace DataContractPersistence /// /// Path (relative to the project) /// - public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory); + public string FilePath { get; set; } = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Trek_12"); /// /// Load all the data from JSON file /// /// A tuple with the lists of players, games, maps and best scores - public (List, List, List, List) LoadData() + public (ObservableCollection, ObservableCollection, ObservableCollection, ObservableCollection) LoadData() { var JsonSerializer = new DataContractJsonSerializer(typeof(DataToPersist)); DataToPersist? data = new DataToPersist(); @@ -52,8 +52,9 @@ namespace DataContractPersistence /// /// /// - public void SaveData(List players, List games, List maps, List bestScores) + public void SaveData(ObservableCollection players, ObservableCollection games, ObservableCollection maps, ObservableCollection bestScores) { + Debug.WriteLine("Saving data at " + Path.Combine(FilePath, FileName)); if (!Directory.Exists(FilePath)) { Debug.WriteLine("Directory created"); diff --git a/source/Trek-12/DataContractPersistence/DataContractXml.cs b/source/Trek-12/DataContractPersistence/DataContractXml.cs index e09489d..8255ecc 100644 --- a/source/Trek-12/DataContractPersistence/DataContractXml.cs +++ b/source/Trek-12/DataContractPersistence/DataContractXml.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Text; @@ -23,13 +24,13 @@ namespace DataContractPersistence /// /// Path (relative to the project) /// - public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory); + public string FilePath { get; set; } = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Trek_12"); /// /// Load all the data from XML file /// /// A tuple with the lists of players, games, maps and best scores - public (List, List, List, List) LoadData() + public (ObservableCollection, ObservableCollection, ObservableCollection, ObservableCollection) LoadData() { var serializer = new DataContractSerializer(typeof(DataToPersist)); DataToPersist? data = new DataToPersist(); @@ -49,7 +50,7 @@ namespace DataContractPersistence /// /// /// - public void SaveData(List players, List games, List maps, List bestScores) + public void SaveData(ObservableCollection players, ObservableCollection games, ObservableCollection maps, ObservableCollection bestScores) { if(!Directory.Exists(FilePath)) { diff --git a/source/Trek-12/DataContractPersistence/DataToPersist.cs b/source/Trek-12/DataContractPersistence/DataToPersist.cs index 8aca714..b78b204 100644 --- a/source/Trek-12/DataContractPersistence/DataToPersist.cs +++ b/source/Trek-12/DataContractPersistence/DataToPersist.cs @@ -8,21 +8,21 @@ namespace DataContractPersistence /// /// List of players /// - public List Players { get; set; } + public ObservableCollection Players { get; set; } /// /// List of games (with all the data in it to be able to recreate the game) /// - public List Games { get; set; } + public ObservableCollection Games { get; set; } /// /// List of maps with their boards /// - public List Maps { get; set; } + public ObservableCollection Maps { get; set; } /// /// List of best scores /// - public List BestScores { get; set; } + public ObservableCollection BestScores { get; set; } } } \ No newline at end of file