|
|
@ -4,18 +4,39 @@ using System.Xml;
|
|
|
|
|
|
|
|
|
|
|
|
namespace CoreLibrary.Persistance
|
|
|
|
namespace CoreLibrary.Persistance
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Classe PersistanceJSON, implémentant l'interface IPersistance.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
public class PersistanceJSON : IPersistance
|
|
|
|
public class PersistanceJSON : IPersistance
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Chaîne de caractères représentant le nom du dossier pour sauvegarder et charger.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
private readonly string nomDossier = "Fichiers";
|
|
|
|
private readonly string nomDossier = "Fichiers";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Chaîne de caractères représentant le nom du doissier à la racine.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
private readonly string nomRacine = "Sources";
|
|
|
|
private readonly string nomRacine = "Sources";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Chaîne de caractères représentant le nom du dossier courant.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
private readonly string dossier = AppDomain.CurrentDomain.BaseDirectory;
|
|
|
|
private readonly string dossier = AppDomain.CurrentDomain.BaseDirectory;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Constructeur de PersistanceJSON.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
public PersistanceJSON()
|
|
|
|
public PersistanceJSON()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
while (new DirectoryInfo(dossier).Name != nomRacine)
|
|
|
|
while (new DirectoryInfo(dossier).Name != nomRacine)
|
|
|
|
dossier = Path.GetFullPath(Path.Combine(dossier, @"../"));
|
|
|
|
dossier = Path.GetFullPath(Path.Combine(dossier, @"../"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Charge les données trouvés dans le fichier de sauvegarde.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
/// <returns>Renvoie un tableau de tous les éléments chargés.</returns>
|
|
|
|
public T[] Charger<T>() where T : IEstPersistant
|
|
|
|
public T[] Charger<T>() where T : IEstPersistant
|
|
|
|
{
|
|
|
|
{
|
|
|
|
string fichier = $"{typeof(T).Name.ToLower()}s.json";
|
|
|
|
string fichier = $"{typeof(T).Name.ToLower()}s.json";
|
|
|
@ -41,6 +62,10 @@ namespace CoreLibrary.Persistance
|
|
|
|
return elements;
|
|
|
|
return elements;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Enragistre dans le fichier de sauvegarde, les éléments spécifiés.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
/// <param name="elements">Elements à enregistrer dans le fichier de sauvegarde.</param>
|
|
|
|
public void Enregistrer<T>(T[] elements) where T : IEstPersistant
|
|
|
|
public void Enregistrer<T>(T[] elements) where T : IEstPersistant
|
|
|
|
{
|
|
|
|
{
|
|
|
|
string fichier = $"{typeof(T).Name.ToLower()}s.json";
|
|
|
|
string fichier = $"{typeof(T).Name.ToLower()}s.json";
|
|
|
|