ajout début utilisation methodes d'extension pour lessons
continuous-integration/drone/push Build is failing Details

MethodeExtensions
Victor GABORIT 1 year ago
parent e3d510a9e1
commit 668baf4c85

@ -13,29 +13,29 @@ namespace API.Controllers
[ApiController]
public class LessonsController : Controller
{
private ILessonService<LessonDTO> _lessonDataService;
private IdataService<UserDTO, LessonDTO, InquiryDTO, ParagraphDTO, SuccessDTO> _dataService;
private readonly ILogger<LessonsController> _logger;
public LessonsController(ILessonService<LessonDTO> lessonDataService, ILogger<LessonsController> logger)
public LessonsController(IdataService<UserDTO, LessonDTO, InquiryDTO, ParagraphDTO, SuccessDTO> dataService, ILogger<LessonsController> 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<IActionResult> 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();

@ -23,4 +23,24 @@ public class LessonDataServiceApi(ILessonService<LessonEntity> lessonService) :
public LessonEntity CreateLesson(string title, string lastPublisher, DateOnly? lastEdit) =>
lessonService.CreateLesson(title, lastPublisher, lastEdit);
public Task<LessonEntity?> AddItem(LessonEntity? item)
{
return lessonService.AddItem(item);
}
public Task<bool> DeleteItem(int id)
{
return lessonService.DeleteItem(id);
}
public Task<LessonEntity> UpdateItem<TDto>(int? id, TDto? newItem) where TDto : class
{
return lessonService.UpdateItem(id, newItem);
}
public Task<IEnumerable<LessonEntity>> GetItems(int page, int count, object? orderCriteria = null, string? filter = null, object? valueFilter = null)
{
return lessonService.GetItems(page, count, orderCriteria, filter, valueFilter);
}
}
Loading…
Cancel
Save