@ -18,15 +18,35 @@ using IO.Swagger.Attributes;
using IO.Swagger.Security ;
using IO.Swagger.Security ;
using Microsoft.AspNetCore.Authorization ;
using Microsoft.AspNetCore.Authorization ;
using IO.Swagger.DTO ;
using IO.Swagger.DTO ;
using System.ComponentModel ;
using EPAServeur.IServices ;
using Microsoft.Extensions.Logging ;
using System.Threading.Tasks ;
using EPAServeur.Exceptions ;
using Microsoft.EntityFrameworkCore ;
using Microsoft.AspNetCore.Hosting ;
using Microsoft.Extensions.Hosting ;
using Microsoft.AspNetCore.Http ;
namespace IO.Swagger.Controllers
namespace IO.Swagger.Controllers
{
{
/// <summary>
/// <summary>
///
///
/// </summary>
/// </summary>
[ApiController]
[ApiController]
public class FormationsApiController : ControllerBase
public class FormationsApiController : ControllerBase
{
{
private readonly IFormationService formationService ;
private readonly ILogger < FormationsApiController > logger ;
private readonly IWebHostEnvironment env ;
public FormationsApiController ( IFormationService _f ormationService , ILogger < FormationsApiController > _l ogger , IWebHostEnvironment _ env )
{
formationService = _f ormationService ;
logger = _l ogger ;
env = _ env ;
}
/// <summary>
/// <summary>
///
///
/// </summary>
/// </summary>
@ -47,29 +67,57 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 415, type: typeof(ErreurDTO), description: "L’opération ne peut pas être effectuée car certaines données sont manquantes")]
[SwaggerResponse(statusCode: 415, type: typeof(ErreurDTO), description: "L’opération ne peut pas être effectuée car certaines données sont manquantes")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult AddFormation ( [ FromBody ] FormationDTO body )
public virtual async Task < IActionResult > AddFormation ( [ FromBody ] FormationDTO body )
{
{
//TODO: Uncomment the next line to return response 201 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(201, default(FormationDTO));
logger . LogInformation ( "Ajout d'une nouvelle formation." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
try
// return StatusCode(401, default(ErreurDTO));
{
body = await formationService . AddFormationAsync ( body ) ;
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
}
// return StatusCode(403, default(ErreurDTO));
catch ( FormationInvalidException e )
{
//TODO: Uncomment the next line to return response 415 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(415, default(ErreurDTO));
logger . LogInformation ( e . Message ) ;
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
ErreurDTO erreur = new ErreurDTO ( )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
Code = StatusCodes . Status500InternalServerError ,
exampleJson = "{\n \"heure\" : 1,\n \"participations\" : [ {\n \"estEvaluee\" : true,\n \"dateCreation\" : \"2000-01-23T04:56:07.000+00:00\",\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 7,\n \"intitule\" : \"intitule\"\n }, {\n \"estEvaluee\" : true,\n \"dateCreation\" : \"2000-01-23T04:56:07.000+00:00\",\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 7,\n \"intitule\" : \"intitule\"\n } ],\n \"organisme\" : \"organisme\",\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 2\n },\n \"estCertifiee\" : true,\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"intitule\" : \"intitule\",\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 1\n },\n \"jour\" : 1,\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estRealisee\" : true,\n \"id\" : 3,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"idAgence\" : 7,\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 4\n }\n}" ;
Message = e . Message ,
} ;
var example = exampleJson ! = null
? JsonConvert . DeserializeObject < FormationDTO > ( exampleJson )
return StatusCode ( erreur . Code . Value , erreur . Message ) ;
: default ( FormationDTO ) ; //TODO: Change the data returned
}
return new ObjectResult ( example ) ;
catch ( DbUpdateException e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur est survenue sur le serveur lors de l'ajout de la formation." ,
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
catch ( Exception e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur inconnue est survenue sur le serveur." ,
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Nouvelle formation ajoutée." ) ;
return Created ( "" , body ) ;
}
}
/// <summary>
/// <summary>
@ -91,24 +139,69 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult DeleteFormation ( [ FromRoute ] [ Required ] long? idFormation )
public virtual async Task < IActionResult > DeleteFormation ( [ FromRoute ] [ Required ] long idFormation )
{
{
//TODO: Uncomment the next line to return response 204 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
try
// return StatusCode(204);
{
if ( env . IsDevelopment ( ) )
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
logger . LogInformation ( "Suppresion de la formation {idFormation}." , idFormation ) ;
// return StatusCode(401, default(ErreurDTO));
FormationDTO formation = await formationService . DeleteFormationByIdAsync ( idFormation ) ;
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
}
// return StatusCode(403, default(ErreurDTO));
catch ( FormationNotFoundException e )
{
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(404, default(ErreurDTO));
logger . LogInformation ( e . Message ) ;
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
ErreurDTO erreur = new ErreurDTO ( )
// return StatusCode(500, default(ErreurDTO));
{
Code = StatusCodes . Status404NotFound ,
throw new NotImplementedException ( ) ;
Message = e . Message
} ;
return NotFound ( erreur ) ;
}
catch ( DbUpdateConcurrencyException e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = string . Format ( "La formation {0} n'a pas pu être supprimée car elle est prise par une autre ressource." , idFormation )
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
catch ( DbUpdateException e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur est survenue sur le serveur lors de la suppression de la formation."
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
catch ( Exception e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur inconnue est survenue sur le serveur."
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Formation {idFormation} supprimée avec succès." , idFormation ) ;
return NoContent ( ) ;
}
}
/// <summary>
/// <summary>
@ -123,7 +216,7 @@ namespace IO.Swagger.Controllers
/// <response code="500">Une erreur est survenue sur le serveur</response>
/// <response code="500">Une erreur est survenue sur le serveur</response>
[HttpGet]
[HttpGet]
[Route("/api/formations/{idFormation}")]
[Route("/api/formations/{idFormation}")]
[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
// [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[ValidateModelState]
[SwaggerOperation("GetFormationById")]
[SwaggerOperation("GetFormationById")]
[SwaggerResponse(statusCode: 200, type: typeof(FormationDTO), description: "OK")]
[SwaggerResponse(statusCode: 200, type: typeof(FormationDTO), description: "OK")]
@ -131,29 +224,47 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetFormationById ( [ FromRoute ] [ Required ] long? idFormation )
public virtual async Task < IActionResult > GetFormationById ( [ FromRoute ] [ Required ] long idFormation )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(FormationDTO));
logger . LogInformation ( "Récupération de la formation {idFormation}." , idFormation ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
FormationDTO formationDTO ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
formationDTO = await formationService . GetFormationByIdAsync ( idFormation ) ;
}
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( FormationNotFoundException e )
// return StatusCode(404, default(ErreurDTO));
{
if ( env . IsDevelopment ( ) )
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
logger . LogInformation ( e . Message ) ;
// return StatusCode(500, default(ErreurDTO));
string exampleJson = null ;
ErreurDTO erreurDTO = new ErreurDTO ( )
exampleJson = "{\n \"heure\" : 1,\n \"participations\" : [ {\n \"estEvaluee\" : true,\n \"dateCreation\" : \"2000-01-23T04:56:07.000+00:00\",\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 7,\n \"intitule\" : \"intitule\"\n }, {\n \"estEvaluee\" : true,\n \"dateCreation\" : \"2000-01-23T04:56:07.000+00:00\",\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 7,\n \"intitule\" : \"intitule\"\n } ],\n \"organisme\" : \"organisme\",\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 2\n },\n \"estCertifiee\" : true,\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"intitule\" : \"intitule\",\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 1\n },\n \"jour\" : 1,\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estRealisee\" : true,\n \"id\" : 3,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"idAgence\" : 7,\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 4\n }\n}" ;
{
Code = StatusCodes . Status404NotFound ,
var example = exampleJson ! = null
Message = e . Message
? JsonConvert . DeserializeObject < FormationDTO > ( exampleJson )
} ;
: default ( FormationDTO ) ; //TODO: Change the data returned
return new ObjectResult ( example ) ;
return NotFound ( erreurDTO ) ;
}
catch ( Exception e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur inconnue est survenue sur le serveur."
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Formation {idFormation} récupérée." , idFormation ) ;
return Ok ( formationDTO ) ;
}
}
/// <summary>
/// <summary>
@ -182,26 +293,34 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetFormations ( [ FromQuery ] long? idAgence , [ FromQuery ] List < int? > idStatuts , [ FromQuery ] bool? asc , [ FromQuery ] int? numPage , [ FromQuery ] [ Range ( 5 , 1 0 0 ) ] int? parPAge , [ FromQuery ] string texte , [ FromQuery ] string tri , [ FromQuery ] DateTime ? dateDebut , [ FromQuery ] DateTime ? dateFin )
public virtual async Task < IActionResult > GetFormations ( [ FromQuery ] long? idAgence , [ FromQuery ] List < int? > idStatuts , [ FromQuery ] bool? asc , [ FromQuery ] int? numPage , [ FromQuery ] [ Range ( 5 , 1 0 0 ) ] [ DefaultValue ( 1 5 ) ] int? parPAge , [ FromQuery ] string texte , [ FromQuery ] string tri , [ FromQuery ] DateTime ? dateDebut , [ FromQuery ] DateTime ? dateFin )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(List<FormationDetailsDTO>));
logger . LogInformation ( "Récupération de la liste des formations." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
IEnumerable < FormationDetailsDTO > formations ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
formations = await formationService . GetFormationsAsync ( idAgence , idStatuts , asc , numPage , parPAge , texte , tri , dateDebut , dateFin ) ;
}
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( Exception e )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
logger . LogError ( e . Message ) ;
exampleJson = "[ {\n \"nbParticipations\" : 6,\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"organisme\" : \"organisme\",\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 2\n },\n \"estCertifiee\" : true,\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 4\n }\n}, {\n \"nbParticipations\" : 6,\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"organisme\" : \"organisme\",\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 2\n },\n \"estCertifiee\" : true,\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 4\n }\n} ]" ;
ErreurDTO erreur = new ErreurDTO ( )
var example = exampleJson ! = null
{
? JsonConvert . DeserializeObject < List < FormationDetailsDTO > > ( exampleJson )
Code = StatusCodes . Status500InternalServerError ,
: default ( List < FormationDetailsDTO > ) ; //TODO: Change the data returned
Message = "Une erreur inconnue est survenue sur le serveur."
return new ObjectResult ( example ) ;
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Liste des formations récupérée." ) ;
return Ok ( formations ) ;
}
}
/// <summary>
/// <summary>
@ -230,26 +349,35 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetFormationsCount ( [ FromQuery ] long? idAgence , [ FromQuery ] List < int? > idStatuts , [ FromQuery ] bool? asc , [ FromQuery ] int? numPage , [ FromQuery ] [ Range ( 5 , 1 0 0 ) ] int? parPAge , [ FromQuery ] string texte , [ FromQuery ] string tri , [ FromQuery ] DateTime ? dateDebut , [ FromQuery ] DateTime ? dateFin )
public virtual async Task < IActionResult > GetFormationsCount ( [ FromQuery ] long? idAgence , [ FromQuery ] List < int? > idStatuts , [ FromQuery ] int? numPage , [ FromQuery ] [ Range ( 5 , 1 0 0 ) ] [ DefaultValue ( 1 5 ) ] int? parPAge , [ FromQuery ] string texte , [ FromQuery ] DateTime ? dateDebut , [ FromQuery ] DateTime ? dateFin )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(long?));
logger . LogInformation ( "Récupération du nombre total de formations." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
long count ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
count = await formationService . GetFormationsCountAsync ( idAgence , idStatuts , numPage , parPAge , texte , dateDebut , dateFin ) ;
}
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( Exception e )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
logger . LogError ( e . Message ) ;
exampleJson = "0" ;
ErreurDTO erreur = new ErreurDTO ( )
var example = exampleJson ! = null
{
? JsonConvert . DeserializeObject < long? > ( exampleJson )
Code = StatusCodes . Status500InternalServerError ,
: default ( long? ) ; //TODO: Change the data returned
Message = "Une erreur inconnue est survenue sur le serveur."
return new ObjectResult ( example ) ;
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Nombre total de formations récupéré." ) ;
return Ok ( count ) ;
}
}
/// <summary>
/// <summary>
@ -269,26 +397,34 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetModesFormation ( )
public virtual async Task < IActionResult > GetModesFormation ( )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(List<ModeFormationDTO>));
logger . LogInformation ( "Récupération de la liste des modes de formation." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
IEnumerable < ModeFormationDTO > modeFormations ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
modeFormations = await formationService . GetModesFormationAsync ( ) ;
}
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( Exception e )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
logger . LogError ( e . Message ) ;
exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 1\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 1\n} ]" ;
ErreurDTO erreur = new ErreurDTO ( )
var example = exampleJson ! = null
{
? JsonConvert . DeserializeObject < List < ModeFormationDTO > > ( exampleJson )
Code = StatusCodes . Status500InternalServerError ,
: default ( List < ModeFormationDTO > ) ; //TODO: Change the data returned
Message = "Une erreur inconnue est survenue sur le serveur."
return new ObjectResult ( example ) ;
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Liste des modes de formation récupérée." ) ;
return Ok ( modeFormations ) ;
}
}
/// <summary>
/// <summary>
@ -308,26 +444,34 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetOriginesFormation ( )
public virtual async Task < IActionResult > GetOriginesFormation ( )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(List<OrigineFormationDTO>));
logger . LogInformation ( "Récupération de la liste des origines de formation." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
IEnumerable < OrigineFormationDTO > origineFormations ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
origineFormations = await formationService . GetOriginesFormationAsync ( ) ;
}
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( Exception e )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
logger . LogError ( e . Message ) ;
exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 2\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 2\n} ]" ;
ErreurDTO erreur = new ErreurDTO ( )
var example = exampleJson ! = null
{
? JsonConvert . DeserializeObject < List < OrigineFormationDTO > > ( exampleJson )
Code = StatusCodes . Status500InternalServerError ,
: default ( List < OrigineFormationDTO > ) ; //TODO: Change the data returned
Message = "Une erreur inconnue est survenue sur le serveur."
return new ObjectResult ( example ) ;
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Liste des origines de formation récupérée." ) ;
return Ok ( origineFormations ) ;
}
}
/// <summary>
/// <summary>
@ -347,26 +491,34 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetStatutsFormation ( )
public virtual async Task < IActionResult > GetStatutsFormation ( )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(List<StatutFormationDTO>));
logger . LogInformation ( "Récupération de la liste des statuts de formation." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
IEnumerable < StatutFormationDTO > statutFormations ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
statutFormations = await formationService . GetStatutsFormationAsync ( ) ;
}
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( Exception e )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
logger . LogError ( e . Message ) ;
exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 4\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 4\n} ]" ;
ErreurDTO erreur = new ErreurDTO ( )
var example = exampleJson ! = null
{
? JsonConvert . DeserializeObject < List < StatutFormationDTO > > ( exampleJson )
Code = StatusCodes . Status500InternalServerError ,
: default ( List < StatutFormationDTO > ) ; //TODO: Change the data returned
Message = "Une erreur inconnue est survenue sur le serveur."
return new ObjectResult ( example ) ;
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Liste des statuts de formation récupérée." ) ;
return Ok ( statutFormations ) ;
}
}
/// <summary>
/// <summary>
@ -386,26 +538,34 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult GetTypesFormation ( )
public virtual async Task < IActionResult > GetTypesFormation ( )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200, default(List<TypeFormationDTO>));
logger . LogInformation ( "Récupération de la liste des types de formation." ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
IEnumerable < TypeFormationDTO > typeFormations ;
// return StatusCode(401, default(ErreurDTO));
try
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
{
// return StatusCode(403, default(ErreurDTO));
typeFormations = await formationService . GetTypesFormationAsync ( ) ;
}
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
catch ( Exception e )
// return StatusCode(500, default(ErreurDTO));
{
string exampleJson = null ;
logger . LogError ( e . Message ) ;
exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n} ]" ;
ErreurDTO erreur = new ErreurDTO ( )
var example = exampleJson ! = null
{
? JsonConvert . DeserializeObject < List < TypeFormationDTO > > ( exampleJson )
Code = StatusCodes . Status500InternalServerError ,
: default ( List < TypeFormationDTO > ) ; //TODO: Change the data returned
Message = "Une erreur inconnue est survenue sur le serveur."
return new ObjectResult ( example ) ;
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Liste des types de formation récupérée." ) ;
return Ok ( typeFormations ) ;
}
}
/// <summary>
/// <summary>
@ -430,27 +590,95 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "La ressource n'a pas été trouvée")]
[SwaggerResponse(statusCode: 415, type: typeof(ErreurDTO), description: "L’opération ne peut pas être effectuée car certaines données sont manquantes")]
[SwaggerResponse(statusCode: 415, type: typeof(ErreurDTO), description: "L’opération ne peut pas être effectuée car certaines données sont manquantes")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult UpdateFormation ( [ FromBody ] FormationDTO body , [ FromRoute ] [ Required ] long? idFormation )
public virtual async Task < IActionResult > UpdateFormation ( [ FromBody ] FormationDTO body , [ FromRoute ] [ Required ] long idFormation )
{
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(200);
logger . LogInformation ( "Mise à jour de la formation d'id {idFormation}." , idFormation ) ;
//TODO: Uncomment the next line to return response 401 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
try
// return StatusCode(401, default(ErreurDTO));
{
body = await formationService . UpdateFormationAsync ( idFormation , body ) ;
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
}
// return StatusCode(403, default(ErreurDTO));
catch ( FormationIncompatibleIdException e )
{
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
if ( env . IsDevelopment ( ) )
// return StatusCode(404, default(ErreurDTO));
logger . LogInformation ( e . Message ) ;
//TODO: Uncomment the next line to return response 415 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
ErreurDTO erreur = new ErreurDTO ( )
// return StatusCode(415, default(ErreurDTO));
{
Code = StatusCodes . Status415UnsupportedMediaType ,
//TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
Message = e . Message ,
// return StatusCode(500, default(ErreurDTO));
} ;
throw new NotImplementedException ( ) ;
return StatusCode ( erreur . Code . Value , erreur . Message ) ;
}
catch ( FormationInvalidException e )
{
if ( env . IsDevelopment ( ) )
logger . LogInformation ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status415UnsupportedMediaType ,
Message = e . Message ,
} ;
return StatusCode ( erreur . Code . Value , erreur . Message ) ;
}
catch ( FormationNotFoundException e )
{
if ( env . IsDevelopment ( ) )
logger . LogInformation ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status404NotFound ,
Message = e . Message
} ;
return NotFound ( erreur ) ;
}
catch ( DbUpdateConcurrencyException e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = string . Format ( "La formation {0} n'a pas pu être supprimée car elle est prise par une autre ressource." , idFormation )
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
catch ( DbUpdateException e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur est survenue sur le serveur lors de la suppression de la formation."
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
catch ( Exception e )
{
logger . LogError ( e . Message ) ;
ErreurDTO erreur = new ErreurDTO ( )
{
Code = StatusCodes . Status500InternalServerError ,
Message = "Une erreur inconnue est survenue sur le serveur."
} ;
return StatusCode ( erreur . Code . Value , erreur ) ;
}
if ( env . IsDevelopment ( ) )
logger . LogInformation ( "Update effectué avec succès" ) ;
return Ok ( body ) ;
}
}
}
}
}
}