You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.5 KiB
76 lines
2.5 KiB
using CoreLibrary.Joueurs;
|
|
using System.Runtime.Serialization.Json;
|
|
using System.Text;
|
|
using System.Text.Json;
|
|
|
|
namespace CoreLibrary.Persistance
|
|
{
|
|
public class Persistance : IPersistance
|
|
{
|
|
public List<Joueur> joueurs = new List<Joueur>();
|
|
public List<Partie> parties = new List<Partie>();
|
|
|
|
public string ancienRepertoire = Directory.GetCurrentDirectory();
|
|
|
|
public List<Joueur> ChargerJoueurs()
|
|
{
|
|
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List<Joueur>));
|
|
|
|
using (FileStream s = File.OpenRead("joueurs.json"))
|
|
{
|
|
joueurs = jsonSerializer.ReadObject(s) as List<Joueur>;
|
|
}
|
|
|
|
return joueurs;
|
|
}
|
|
|
|
public List<Partie> ChargerParties()
|
|
{
|
|
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List<Partie>));
|
|
|
|
using (FileStream s = File.OpenRead("parties.json"))
|
|
{
|
|
parties = jsonSerializer.ReadObject(s) as List<Partie>;
|
|
}
|
|
|
|
return parties;
|
|
}
|
|
|
|
public void EnregistrerJoueurs(List<Joueur> joueurs)
|
|
{
|
|
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List<Joueur>));
|
|
|
|
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<Partie> parties)
|
|
{
|
|
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List<Partie>));
|
|
|
|
using (FileStream s = File.Create("parties.json"))
|
|
{
|
|
using (var writer = JsonReaderWriterFactory.CreateJsonWriter(
|
|
s,
|
|
Encoding.UTF8,
|
|
false,
|
|
true))
|
|
{
|
|
jsonSerializer.WriteObject(writer, parties);
|
|
}
|
|
}
|
|
Directory.SetCurrentDirectory(ancienRepertoire);
|
|
}
|
|
}
|
|
}
|