Documentation Persistance

master
Pauline PRADY 11 months ago
parent ac8cb3902e
commit 9ec52a354d

@ -1,4 +1,7 @@
namespace CoreLibrary.Persistance namespace CoreLibrary.Persistance
{ {
/// <summary>
/// Interface IEstPersistant.
/// </summary>
public interface IEstPersistant; public interface IEstPersistant;
} }

@ -1,9 +1,20 @@
namespace CoreLibrary.Persistance namespace CoreLibrary.Persistance
{ {
/// <summary>
/// Interface IPersistance permettant de charger et d'enregistrer.
/// </summary>
public interface IPersistance public interface IPersistance
{ {
/// <summary>
/// Charge les objets qui lui sont donnés.
/// </summary>
/// <returns>Renvoie un tableau.</returns>
public T[] Charger<T>() where T : IEstPersistant; public T[] Charger<T>() where T : IEstPersistant;
/// <summary>
/// Enregistre les elements qui lui sont spécifiés.
/// </summary>
/// <param name="elements">Tableau d'élements à enregistrer.</param>
public void Enregistrer<T>(T[] elements) where T : IEstPersistant; public void Enregistrer<T>(T[] elements) where T : IEstPersistant;
} }
} }

@ -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";

Loading…
Cancel
Save