using CoreLibrary.Joueurs; using System.Runtime.Serialization.Json; using System.Text; using System.Text.Json; namespace CoreLibrary.Persistance { public class Persistance : IPersistance { public List joueurs = new List(); public List parties = new List(); public string ancienRepertoire = Directory.GetCurrentDirectory(); public List ChargerJoueurs() { DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List)); using (FileStream s = File.OpenRead("joueurs.json")) { joueurs = jsonSerializer.ReadObject(s) as List; } return joueurs; } public List ChargerParties() { DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List)); using (FileStream s = File.OpenRead("parties.json")) { parties = jsonSerializer.ReadObject(s) as List; } return parties; } public void EnregistrerJoueurs(List joueurs) { DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List)); using (FileStream s = File.Create("joueurs.json")) { using (var writer = JsonReaderWriterFactory.CreateJsonWriter( s, Encoding.UTF8, false, true)) { jsonSerializer.WriteObject(writer, joueurs); } } Directory.SetCurrentDirectory(ancienRepertoire); } public void EnregistrerParties(List parties) { DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List)); using (FileStream s = File.Create("parties.json")) { using (var writer = JsonReaderWriterFactory.CreateJsonWriter( s, Encoding.UTF8, false, true)) { jsonSerializer.WriteObject(writer, parties); } } Directory.SetCurrentDirectory(ancienRepertoire); } } }