@ -13,29 +13,29 @@ namespace API.Controllers
[ApiController]
public class LessonsController : Controller
{
private I LessonService< LessonDTO > _lessonD ataService;
private I dataService< UserDTO , LessonDTO , InquiryDTO , ParagraphDTO , SuccessDTO > _d ataService;
private readonly ILogger < LessonsController > _logger ;
public LessonsController ( I LessonService< LessonDTO > lessonD ataService, ILogger < LessonsController > logger )
public LessonsController ( I dataService< UserDTO , LessonDTO , InquiryDTO , ParagraphDTO , SuccessDTO > d ataService, ILogger < LessonsController > logger )
{
_ lessonDataService = lessonD ataService;
_ dataService = d ataService;
_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 . GetLesson s( page , number , orderCriteria ) . Count ( ) ;
var nbLesson = ( await _dataService . lessonService . GetItem s( 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 ( _ lessonData Service. 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 ( _ lessonData Service. 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 ( _ lessonData Service. 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 = _ lessonData Service. 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 ( _ lessonData Service. 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 ) , _ lessonData Service. 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 ( _ lessonData Service. 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 ( ) ;