diff --git a/API_SQLuedo/API/Controllers/LessonsController.cs b/API_SQLuedo/API/Controllers/LessonsController.cs index eaaec1b..3f92a8f 100644 --- a/API_SQLuedo/API/Controllers/LessonsController.cs +++ b/API_SQLuedo/API/Controllers/LessonsController.cs @@ -13,29 +13,29 @@ namespace API.Controllers [ApiController] public class LessonsController : Controller { - private ILessonService _lessonDataService; + private IdataService _dataService; private readonly ILogger _logger; - public LessonsController(ILessonService lessonDataService, ILogger logger) + public LessonsController(IdataService dataService, ILogger logger) { - _lessonDataService = lessonDataService; + _dataService = dataService; _logger = logger; } [HttpGet("lessons/{page}/{number}/{orderCriteria}")] [ProducesResponseType(typeof(LessonDTO), 200)] [ProducesResponseType(typeof(string), 204)] - public IActionResult GetLessons(int page, int number, LessonOrderCriteria orderCriteria) + public async Task GetLessons(int page, int number, LessonOrderCriteria orderCriteria) { - var nbLesson = _lessonDataService.GetLessons(page, number, orderCriteria).Count(); + var nbLesson = (await _dataService.lessonService.GetItems(page, number, orderCriteria)).Count(); if (nbLesson == 0) { _logger.LogError("[ERREUR] Aucune leçon trouvée."); return StatusCode(204); } _logger.LogInformation("[INFORMATION] {nb} Leçon(s) trouvée(s)", nbLesson); - return Ok(_lessonDataService.GetLessons(page, number, orderCriteria)); + return Ok(_dataService.lessonService.GetLessons(page, number, orderCriteria)); } [HttpGet("lesson/{id:int}")] @@ -46,7 +46,7 @@ namespace API.Controllers try { _logger.LogInformation("[INFORMATION] La leçon avec l'id {id} a été trouvé.", id); - return Ok(_lessonDataService.GetLessonById(id)); + return Ok(_dataService.lessonService.GetLessonById(id)); } catch (ArgumentException) { @@ -63,7 +63,7 @@ namespace API.Controllers try { _logger.LogInformation("[INFORMATION] La leçon avec le titre {title} a été trouvé.", title); - return Ok(_lessonDataService.GetLessonByTitle(title)); + return Ok(_dataService.lessonService.GetLessonByTitle(title)); } catch (ArgumentException) { @@ -77,11 +77,11 @@ namespace API.Controllers [ProducesResponseType(typeof(string), 404)] public IActionResult DeleteLesson(int id) { - var success = _lessonDataService.DeleteLesson(id); + var success = _dataService.lessonService.DeleteLesson(id); if (success) { _logger.LogInformation("[INFORMATION] La leçon avec l'id {id} a été supprimé.", id); - return Ok(_lessonDataService.DeleteLesson(id)); + return Ok(_dataService.lessonService.DeleteLesson(id)); } else { @@ -101,7 +101,7 @@ namespace API.Controllers return BadRequest(); } _logger.LogInformation("[INFORMATION] Une leçon a été créé : title - {title}, lastPublisher - {publisher}, lastEdit - {lastEdit}", dto.Title, dto.LastPublisher, dto.LastEdit); - return Created(nameof(GetLessons), _lessonDataService.CreateLesson(dto.Title, dto.LastPublisher, dto.LastEdit)); + return Created(nameof(GetLessons), _dataService.lessonService.CreateLesson(dto.Title, dto.LastPublisher, dto.LastEdit)); } [HttpPut("lesson/{id}")] @@ -123,7 +123,7 @@ namespace API.Controllers if (lessonDTO != null) { _logger.LogInformation("[INFORMATION] La mise à jour de la leçon avec l'id {id} a été effectuée", id); - return Ok(_lessonDataService.UpdateLesson(id, lessonDTO)); + return Ok(_dataService.lessonService.UpdateLesson(id, lessonDTO)); } _logger.LogError("[ERREUR] Aucune leçon trouvée avec l'id {id}.", id); return NotFound(); diff --git a/API_SQLuedo/API/Service/LessonDataServiceAPI.cs b/API_SQLuedo/API/Service/LessonDataServiceAPI.cs index 7b26363..9ce2999 100644 --- a/API_SQLuedo/API/Service/LessonDataServiceAPI.cs +++ b/API_SQLuedo/API/Service/LessonDataServiceAPI.cs @@ -23,4 +23,24 @@ public class LessonDataServiceApi(ILessonService lessonService) : public LessonEntity CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) => lessonService.CreateLesson(title, lastPublisher, lastEdit); + + public Task AddItem(LessonEntity? item) + { + return lessonService.AddItem(item); + } + + public Task DeleteItem(int id) + { + return lessonService.DeleteItem(id); + } + + public Task UpdateItem(int? id, TDto? newItem) where TDto : class + { + return lessonService.UpdateItem(id, newItem); + } + + public Task> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null) + { + return lessonService.GetItems(page, count, orderCriteria, filter, valueFilter); + } } \ No newline at end of file