|
|
|
@ -1,21 +1,22 @@
|
|
|
|
|
/*!
|
|
|
|
|
/*/*!
|
|
|
|
|
* \file BookDataServiceAPI.cs
|
|
|
|
|
* \author HeartTeam
|
|
|
|
|
* \brief Fichier contenant la classe BookDataServiceAPI.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using Dto;
|
|
|
|
|
using Model.Repository;
|
|
|
|
|
using Shared;
|
|
|
|
|
using APIMappers;
|
|
|
|
|
using Dto.Tiny;
|
|
|
|
|
using Model;
|
|
|
|
|
|
|
|
|
|
namespace WebAPIConsoleTests;
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Implémentation de l'interface IActivityRepository pour récupérer des activités via un service HTTP.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
{
|
|
|
|
|
private HttpRequest<ActivityDto> myRequest = new HttpRequest<ActivityDto>();
|
|
|
|
@ -23,7 +24,7 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Constructeur de la classe ActivityServiceAPI.
|
|
|
|
|
* Initialise l'adresse de base du client HTTP.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public ActivityServiceAPI()
|
|
|
|
|
{
|
|
|
|
|
myRequest.HttpClient.BaseAddress = new Uri("http://localhost:5030/api/v1/Activity/");
|
|
|
|
@ -32,7 +33,7 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Récupère toutes les Activités de manière asynchrone.
|
|
|
|
|
* \return Une tâche représentant l'opération asynchrone qui retourne une liste d'Activity.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public async Task<IEnumerable<Model.Activity>?> GetActivities(int index, int count, ActivityOrderCriteria criteria, bool descending = false)
|
|
|
|
|
{
|
|
|
|
|
var activityDtos = await myRequest.GetAllAsync();
|
|
|
|
@ -44,7 +45,7 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
* \param index L'index de départ pour la pagination.
|
|
|
|
|
* \param count Le nombre d'éléments à récupérer.
|
|
|
|
|
* \return Une tâche représentant l'opération asynchrone qui retourne une liste d'Activity.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public async Task<List<Model.Activity>> GetBooksAsync(ActivityOrderCriteria criteria, bool descending, int index, int count)
|
|
|
|
|
{
|
|
|
|
|
var activityDtos = await myRequest.GetAsync(criteria, descending, index, count);
|
|
|
|
@ -55,7 +56,12 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
* \brief Récupère une activité par son identifiant de manière asynchrone.
|
|
|
|
|
* \param id L'identifiant du livre à récupérer.
|
|
|
|
|
* \return Une tâche représentant l'opération asynchrone qui retourne une liste d'Activity.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
async Task<IEnumerable<ActivityTinyDto>?> IActivityRepository.GetActivities(int index, int count, ActivityOrderCriteria criteria, bool descending)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<Model.Activity?> GetActivityByIdAsync(int id)
|
|
|
|
|
{
|
|
|
|
|
var activityDtos = await myRequest.GetByIdAsync(id);
|
|
|
|
@ -66,18 +72,28 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
* \brief Ajoute une activité de manière asynchrone.
|
|
|
|
|
* \param activity L'Activity à ajouter.
|
|
|
|
|
* \return Une tâche représentant l'opération asynchrone qui retourne l'activité ajouté (Activity).
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public async Task<Model.Activity?> AddActivity(Model.Activity activity)
|
|
|
|
|
{
|
|
|
|
|
return (await myRequest.PostAsync(activity.ToDto())).ToModel();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ResponseActivityDto?> AddActivity(NewActivityDto activity)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ResponseActivityDto?> UpdateActivity(int id, ActivityTinyDto activity)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Met à jour une activité de manière asynchrone.
|
|
|
|
|
* \param id L'identifiant de l'activité à mettre à jour.
|
|
|
|
|
* \param activity Les nouvelles données de l'activité à mettre à jour.
|
|
|
|
|
* \return Une tâche représentant l'opération asynchrone qui retourne l'activité mis à jour (Activity).
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public async Task<Model.Activity?> UpdateActivity(int id, Model.Activity activity)
|
|
|
|
|
{
|
|
|
|
|
var activityDto = activity.ToDto();
|
|
|
|
@ -89,7 +105,7 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
* \brief Supprime une activité de manière asynchrone.
|
|
|
|
|
* \param id L'identifiant de l'activité à supprimer.
|
|
|
|
|
* \return Une tâche représentant l'opération asynchrone.
|
|
|
|
|
*/
|
|
|
|
|
#1#
|
|
|
|
|
public async Task<bool> DeleteActivity(int id)
|
|
|
|
|
{
|
|
|
|
|
await myRequest.DeleteAsync(id);
|
|
|
|
@ -110,4 +126,4 @@ public class ActivityServiceAPI : IActivityRepository
|
|
|
|
|
{
|
|
|
|
|
return myRequest.GetNbActivitiesByUser(userId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}*/
|