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.
44 lines
1.5 KiB
44 lines
1.5 KiB
namespace Shared;
|
|
|
|
/// <summary>
|
|
/// Interface d'objet générique contenant les méthodes CRUD
|
|
/// </summary>
|
|
/// <typeparam name="TObject"> Objet Générique </typeparam>
|
|
public interface IDataServices<TObject>
|
|
{
|
|
/// <summary>
|
|
/// Récupère toutes les données
|
|
/// </summary>
|
|
/// <returns> un Enumerable d'objet générique </returns>
|
|
/// TODO : Ne pas passer par un tuple
|
|
public Task<IEnumerable<TObject?>> GetData();
|
|
|
|
/// <summary>
|
|
/// Récupère un objet en fonction de son identifiant
|
|
/// </summary>
|
|
/// <param name="id"> identifiant </param>
|
|
/// <returns> Un objet générique ou null si objet introuvable </returns>
|
|
public Task<TObject?> GetDataById(string id);
|
|
|
|
/// <summary>
|
|
/// Ajout d'un objet
|
|
/// </summary>
|
|
/// <param name="data"> information sur l'objet </param>
|
|
/// <returns> L'objet créé </returns>
|
|
public Task<TObject> CreateData(TObject data);
|
|
|
|
/// <summary>
|
|
/// Modifie un objet en fonction de son id
|
|
/// </summary>
|
|
/// <param name="data"> Information du nouvelle objet </param>
|
|
/// <param name="id"> identifiant de l'objet à modifier </param>
|
|
/// <returns> L'objet modifié ou null si id incorrect </returns>
|
|
public Task<TObject?> UpdateData(TObject data, string id);
|
|
|
|
/// <summary>
|
|
/// Supprime un objet en fonction de son identifiant
|
|
/// </summary>
|
|
/// <param name="id"> identifiant </param>
|
|
/// <returns> true si réussi sinon false </returns>
|
|
public Task<bool> DeleteObjectById(string id);
|
|
} |