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.
OptifitWebService/Shared/IDataServices.cs

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);
}