diff --git a/Controllers/FormationsApi.cs b/Controllers/FormationsApi.cs
index 5278644..561eb2e 100644
--- a/Controllers/FormationsApi.cs
+++ b/Controllers/FormationsApi.cs
@@ -19,9 +19,11 @@ using IO.Swagger.Security;
using Microsoft.AspNetCore.Authorization;
using IO.Swagger.DTO;
using EPAServeur.IServices;
+using System.Reflection.Metadata.Ecma335;
+using System.Runtime.InteropServices.WindowsRuntime;
namespace IO.Swagger.Controllers
-{
+{
///
///
///
@@ -48,17 +50,19 @@ namespace IO.Swagger.Controllers
[ValidateModelState]
[SwaggerOperation("AjouterFormation")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
- public virtual IActionResult AjouterFormation([FromBody]FormationDTO body)
+ public virtual IActionResult AjouterFormation([FromBody] FormationDTO body)
{
- switch (formationService.AddFormation(body))
- {
- case 0:
- return StatusCode(201);
- case 1:
- return Forbid();
- default:
- return NotFound();
- }
+ FormationDTO nouvelleFormation = formationService.AddFormation(body);
+
+ return Created("", nouvelleFormation);
+ //if (body.Id != null && body.Id > 0)
+ //{
+ // return StatusCode(201, body);
+ //}
+ //else
+ //{
+ // return NotFound();
+ //}
}
///
@@ -74,33 +78,18 @@ namespace IO.Swagger.Controllers
[ValidateModelState]
[SwaggerOperation("DeleteFormation")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
- public virtual IActionResult DeleteFormation([FromRoute][Required]decimal? idFormation)
- {
- int id = 0;
-
- try
- {
- id = Convert.ToInt32(idFormation);
- }
- catch (Exception ex)
+ public virtual IActionResult DeleteFormation([FromRoute][Required] decimal? idFormation)
+ {
+ if (!formationService.DeleteFormationById(idFormation))
{
- ErreurDTO erreurDTO = new ErreurDTO()
+ ErreurDTO erreur = new ErreurDTO()
{
- Code = "403",
- Message = "Impossible de convertir le paramètre idFormation en int. " + ex.Message
+ Code = "404",
+ Message = "Aucune formation trouvée"
};
- return StatusCode(403, erreurDTO);
- }
-
- switch (formationService.DeleteFormationById(id))
- {
- case 0:
- return NoContent();
- case 1:
- return Forbid();
- default:
- return NotFound();
+ return NotFound(erreur);
}
+ return NoContent();
}
///
@@ -124,23 +113,21 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "Ressource n'a pas été trouvée")]
- public virtual IActionResult GetFormationAnnulees([FromQuery][Required()]bool? asc, [FromQuery][Required()]int? numPage, [FromQuery][Required()]int? parPAge, [FromQuery]int? idAgence, [FromQuery]string texte, [FromQuery]string tri)
+ public virtual IActionResult GetFormationAnnulees([FromQuery][Required()] bool? asc, [FromQuery][Required()] int? numPage, [FromQuery][Required()] int? parPAge, [FromQuery] int? idAgence, [FromQuery] string texte, [FromQuery] string tri)
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetFormationAnnulees());
-
- //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));
-
- //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(404, default(ErreurDTO));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n}, {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n} ]";
+ IEnumerable formations = formationService.GetFormationAnnulees(asc, numPage, parPAge, idAgence, texte, tri);
+ if (formations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucune formation annulée"
+ };
+ return NotFound(erreur);
+ }
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(formations);
}
///
@@ -159,33 +146,19 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(FormationDTO), description: "OK")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "Ressource n'a pas été trouvée")]
- public virtual IActionResult GetFormationById([FromRoute][Required]decimal? idFormation)
+ public virtual IActionResult GetFormationById([FromRoute][Required] decimal? idFormation)
{
- //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(200, default(FormationDTO));
-
- //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 formationDTO = formationService.GetFormationById(Convert.ToInt32(idFormation));
if (formationDTO == null)
{
ErreurDTO erreurDTO = new ErreurDTO()
{
Code = "404",
- Message = "Le formateur n'existe pas",
+ Message = "La formation n'existe pas",
};
return NotFound(erreurDTO);
}
return Ok(formationDTO);
-
- //string exampleJson = null;
- //exampleJson = "{\n \"heure\" : 1.4658129805029452,\n \"participantsFormation\" : [ {\n \"date\" : \"2000-01-23T04:56:07.000+00:00\",\n \"idCollaborateur\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"estEvaluee\" : true,\n \"dateCreation\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 5,\n \"formation\" : \"formation\",\n \"collaborateur\" : \"collaborateur\",\n \"statut\" : \"statut\"\n }, {\n \"date\" : \"2000-01-23T04:56:07.000+00:00\",\n \"idCollaborateur\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"estEvaluee\" : true,\n \"dateCreation\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 5,\n \"formation\" : \"formation\",\n \"collaborateur\" : \"collaborateur\",\n \"statut\" : \"statut\"\n } ],\n \"organisme\" : \"organisme\",\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"jour\" : 5.962133916683182,\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n }\n}";
-
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject(exampleJson)
- // : default(FormationDTO); //TODO: Change the data returned
- //return new ObjectResult(example);
}
///
@@ -209,25 +182,24 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "Ressource n'a pas été trouvée")]
- public virtual IActionResult GetFormationRealisee([FromQuery][Required()]bool? asc, [FromQuery][Required()]int? numPage, [FromQuery][Required()]int? parPAge, [FromQuery]int? idAgence, [FromQuery]string texte, [FromQuery]string tri)
+ public virtual IActionResult GetFormationRealisee([FromQuery][Required()] bool? asc, [FromQuery][Required()] int? numPage, [FromQuery][Required()] int? parPAge, [FromQuery] int? idAgence, [FromQuery] string texte, [FromQuery] string tri)
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetFormationRealisee());
-
- //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));
-
- //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(404, default(ErreurDTO));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n}, {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n} ]";
+ IEnumerable formations = formationService.GetFormationRealisee(asc, numPage, parPAge, idAgence, texte, tri);
+ if (formations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucune formation réalisée"
+ };
+ return NotFound(erreur);
+ }
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(formations);
}
+
///
///
///
@@ -248,20 +220,21 @@ namespace IO.Swagger.Controllers
[SwaggerOperation("GetFormations")]
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
- public virtual IActionResult GetFormations()//[FromQuery][Required()]bool? asc, [FromQuery][Required()]int? numPage, [FromQuery][Required()]int? parPAge, [FromQuery]int? idAgence, [FromQuery]int? statutFormation, [FromQuery]string texte, [FromQuery]string tri)
+ public virtual IActionResult GetFormations([FromQuery][Required()]bool? asc, [FromQuery][Required()]int? numPage, [FromQuery][Required()]int? parPAge, [FromQuery]int? idAgence, [FromQuery]int? statutFormation, [FromQuery]string texte, [FromQuery]string tri)
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetFormations());
+ IEnumerable formations = formationService.GetFormations(asc, numPage, parPAge, idAgence, texte, tri);
+ if (formations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucune formation"
+ };
+ return NotFound(erreur);
+ }
- //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));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n}, {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n} ]";
-
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(formations);
}
///
@@ -280,17 +253,18 @@ namespace IO.Swagger.Controllers
public virtual IActionResult GetModesFormation()
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetModesFormation());
-
- //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));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n} ]";
+ IEnumerable modeFormations = formationService.GetModesFormation();
+ if (modeFormations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucun mode de formation"
+ };
+ return NotFound(erreur);
+ }
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(modeFormations);
}
///
@@ -309,17 +283,18 @@ namespace IO.Swagger.Controllers
public virtual IActionResult GetOriginesFormation()
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetOriginesFormation());
-
- //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));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n} ]";
+ IEnumerable origineFormations = formationService.GetOriginesFormation();
+ if (origineFormations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucune origine de formation"
+ };
+ return NotFound(erreur);
+ }
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(origineFormations);
}
///
@@ -343,23 +318,21 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
[SwaggerResponse(statusCode: 404, type: typeof(ErreurDTO), description: "Ressource n'a pas été trouvée")]
- public virtual IActionResult GetProchainesFormation([FromQuery][Required()]bool? asc, [FromQuery][Required()]int? numPage, [FromQuery][Required()]int? parPAge, [FromQuery]int? idAgence, [FromQuery]string texte, [FromQuery]string tri)
- {
+ public virtual IActionResult GetProchainesFormation([FromQuery][Required()] bool? asc, [FromQuery][Required()] int? numPage, [FromQuery][Required()] int? parPAge, [FromQuery] int? idAgence, [FromQuery] string texte, [FromQuery] string tri)
+ {
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(200, default(List));
-
- //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));
+ IEnumerable formations = formationService.GetProchainesFormation(asc, numPage, parPAge, idAgence, texte, tri);
+ if (formations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucune prochaine formation"
+ };
+ return NotFound(erreur);
+ }
- //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(404, default(ErreurDTO));
- string exampleJson = null;
- exampleJson = "[ {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n}, {\n \"mode\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"dateDebut\" : \"2000-01-23T04:56:07.000+00:00\",\n \"estCertifie\" : true,\n \"id\" : 0,\n \"dateFin\" : \"2000-01-23T04:56:07.000+00:00\",\n \"type\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n },\n \"intitule\" : \"intitule\",\n \"statut\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n },\n \"nbPartitipants\" : 1\n} ]";
-
- var example = exampleJson != null
- ? JsonConvert.DeserializeObject>(exampleJson)
- : default(List); //TODO: Change the data returned
- return new ObjectResult(example);
+ return Ok(formations);
}
///
@@ -378,17 +351,18 @@ namespace IO.Swagger.Controllers
public virtual IActionResult GetStatutsFormation()
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetStatutsFormation());
-
- //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));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 6\n} ]";
+ IEnumerable statutFormations = formationService.GetStatutsFormation();
+ if (statutFormations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucun statut de formation"
+ };
+ return NotFound(erreur);
+ }
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(statutFormations);
}
///
@@ -407,17 +381,18 @@ namespace IO.Swagger.Controllers
public virtual IActionResult GetTypesFormation()
{
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- return StatusCode(200, formationService.GetTypesFormation());
-
- //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));
- //string exampleJson = null;
- //exampleJson = "[ {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n}, {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n} ]";
+ IEnumerable typeFormations = formationService.GetTypesFormation();
+ if (typeFormations == null)
+ {
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = "404",
+ Message = "Aucun type de formation"
+ };
+ return NotFound(erreur);
+ }
- // var example = exampleJson != null
- // ? JsonConvert.DeserializeObject>(exampleJson)
- // : default(List); //TODO: Change the data returned
- //return new ObjectResult(example);
+ return Ok(typeFormations);
}
///
@@ -435,47 +410,28 @@ namespace IO.Swagger.Controllers
[ValidateModelState]
[SwaggerOperation("UpdateFormation")]
[SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "Acces interdit")]
- public virtual IActionResult UpdateFormation([FromBody]FormationDTO body, [FromRoute][Required]decimal? idFormation)
+ public virtual IActionResult UpdateFormation([FromBody] FormationDTO body, [FromRoute][Required] decimal? idFormation)
{
- //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(200);
-
- //TODO: Uncomment the next line to return response 201 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(201);
-
- //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));
- int id = 0;
- try
+ FormationDTO formation = formationService.UpdateFormation(body);
+ if (formation == null)
{
- id = Convert.ToInt32(idFormation);
+ formation = formationService.AddFormation(body);
+ return Created("", formation);
}
- catch (Exception ex)
- {
- ErreurDTO erreurDTO = new ErreurDTO()
- {
- Code = "403",
- Message = "Impossible de convertir le paramètre idFormation en int. " + ex.Message
- };
- return StatusCode(403, erreurDTO);
- }
-
-
- switch (formationService.DeleteFormationById(id))
- {
- case 0:
- return StatusCode(201);
- case 1:
- return StatusCode(200);
- case 2:
- return StatusCode(403);
- default:
- return NotFound();
- }
-
- //TODO: Uncomment the next line to return response 201 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- formationService.UpdateFormation(body);
- return StatusCode(201);
+ return Ok(formation);
+
+
+ //switch (formationService.UpdateFormation(body))
+ //{
+ // case 0:
+ // return Ok();
+ // case 1:
+ // return StatusCode(201);
+ // case 2:
+ // return Forbid();
+ // default:
+ // return NotFound();
+ //}
}
}
diff --git a/IServices/IFormationService.cs b/IServices/IFormationService.cs
index 34b7dc7..90f5cd7 100644
--- a/IServices/IFormationService.cs
+++ b/IServices/IFormationService.cs
@@ -10,19 +10,19 @@ namespace EPAServeur.IServices
{
public interface IFormationService
{
- FormationDTO GetFormationById(int? id);
+ FormationDTO GetFormationById(decimal? id);
- IEnumerable GetFormations();
- IEnumerable GetFormationAnnulees();
- IEnumerable GetFormationRealisee();
- IEnumerable GetProchainesFormation();
+ IEnumerable GetFormations(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri);
+ IEnumerable GetFormationAnnulees(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri);
+ IEnumerable GetFormationRealisee(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri);
+ IEnumerable GetProchainesFormation(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri);
IEnumerable GetModesFormation();
IEnumerable GetOriginesFormation();
IEnumerable GetStatutsFormation();
IEnumerable GetTypesFormation();
- byte AddFormation(FormationDTO formationDTO);
- byte UpdateFormation(FormationDTO formationDTO);
- byte DeleteFormationById(int? id);
+ FormationDTO AddFormation(FormationDTO formationDTO);
+ FormationDTO UpdateFormation(FormationDTO formationDTO);
+ bool DeleteFormationById(decimal? id);
}
}
diff --git a/Services/FormationService.cs b/Services/FormationService.cs
index e3b2233..edb6b6e 100644
--- a/Services/FormationService.cs
+++ b/Services/FormationService.cs
@@ -4,6 +4,7 @@ using EPAServeur.Models.Formation;
using IO.Swagger.ApiCollaborateur;
using IO.Swagger.DTO;
using IO.Swagger.ModelCollaborateur;
+using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using System;
using System.Collections.Generic;
@@ -22,9 +23,24 @@ namespace EPAServeur.Services
epContext = _epContext;
}
- public FormationDTO GetFormationById(int? id)
+ public FormationDTO GetFormationById(decimal? id)
{
- Formation formation = epContext.Formation.FirstOrDefault(formation => formation.Id == id);
+ int idFormation = 0;
+
+ try
+ {
+ idFormation = Convert.ToInt32(id);
+ }
+ catch (Exception ex)
+ {
+ return null;
+ }
+
+ Formation formation = epContext.Formation.Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation)
+ .FirstOrDefault(formation => formation.Id == idFormation);
if (formation == null)
return null;
@@ -32,36 +48,138 @@ namespace EPAServeur.Services
return GetFormationDTO(formation);
}
- public IEnumerable GetFormations()
+ public IEnumerable GetFormations(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri)
{
- IEnumerable formations = epContext.Formation;
- IEnumerable formationDTOs = formations.Select(formation => GetFormationDTO(formation));
+ IEnumerable formations;
+ IEnumerable formationDTOs;
+
+ if (texte == null)
+ texte = "";
+ else
+ texte = texte.ToLower();
+
+ int skip = (numPage.Value - 1) * parPAge.Value;
+ int take = parPAge.Value;
+
+ if (idAgence != null)
+ formations = epContext.Formation.Where(formation => formation.IdAgence == idAgence)
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+ else
+ formations = epContext.Formation.Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+
+ if (formations == null)
+ return new List();
+
+ formationDTOs = formations.Where(formation => formation.Intitule.ToLower().Contains(texte)).Select(formation => GetFormationDTO(formation));
return formationDTOs;
}
- public IEnumerable GetFormationAnnulees()
+ public IEnumerable GetFormationAnnulees(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri)
{
- IEnumerable formations = epContext.Formation;
- IEnumerable formationDTOs = formations.Where(formation => formation.Statut.Id == 4).Select(formation => GetFormationDTO(formation));
+ IEnumerable formations;
+ IEnumerable formationDTOs;
+
+ if (texte == null)
+ texte = "";
+ else
+ texte = texte.ToLower();
+
+ int skip = (numPage.Value - 1) * parPAge.Value;
+ int take = parPAge.Value;
+
+ if (idAgence != null)
+ formations = epContext.Formation.Where(formation => formation.IdAgence == idAgence && formation.Statut.Id == 4)
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+ else
+ formations = epContext.Formation.Where(formation => formation.Statut.Id == 4)
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+
+ if (formations == null)
+ return new List();
+
+ formationDTOs = formations.Where(formation => formation.Intitule.ToLower().Contains(texte)).Select(formation => GetFormationDTO(formation));
return formationDTOs;
}
- public IEnumerable GetFormationRealisee()
+ public IEnumerable GetFormationRealisee(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri)
{
- IEnumerable formations = epContext.Formation;
- IEnumerable formationDTOs = formations.Where(formation => formation.Statut.Id == 3).Select(formation => GetFormationDTO(formation));
+ IEnumerable formations;
+ IEnumerable formationDTOs;
+
+ if (texte == null)
+ texte = "";
+ else
+ texte = texte.ToLower();
+
+ int skip = (numPage.Value - 1) * parPAge.Value;
+ int take = parPAge.Value;
+
+ if (idAgence != null)
+ formations = epContext.Formation.Where(formation => formation.IdAgence == idAgence && formation.Statut.Id == 3)
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+ else
+ formations = epContext.Formation.Where(formation => formation.Statut.Id == 3)
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+
+ if (formations == null)
+ return new List();
+
+ formationDTOs = formations.Where(formation => formation.Intitule.ToLower().Contains(texte)).Select(formation => GetFormationDTO(formation));
return formationDTOs;
-
}
- public IEnumerable GetProchainesFormation()
+ public IEnumerable GetProchainesFormation(bool? asc, int? numPage, int? parPAge, int? idAgence, string texte, string tri)
{
- IEnumerable formations = epContext.Formation;
- IEnumerable formationDTOs = formations.Where(formation => formation.Statut.Id == 1 && formation.Statut.Id == 2).Select(formation => GetFormationDTO(formation)).OrderBy(formation => formation.DateDebut);
+ IEnumerable formations;
+ IEnumerable formationDTOs;
+
+ if (texte == null)
+ texte = "";
+ else
+ texte = texte.ToLower();
+
+ int skip = (numPage.Value - 1) * parPAge.Value;
+ int take = parPAge.Value;
+
+ if (idAgence != null)
+ formations = epContext.Formation.Where(formation => formation.IdAgence == idAgence && (formation.Statut.Id == 1 || formation.Statut.Id == 2))
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+ else
+ formations = epContext.Formation.Where(formation => (formation.Statut.Id == 1 || formation.Statut.Id == 2))
+ .Include(formation => formation.Statut)
+ .Include(formation => formation.ModeFormation)
+ .Include(formation => formation.Origine)
+ .Include(formation => formation.TypeFormation);
+
+ if (formations == null)
+ return new List();
+
+ formationDTOs = formations.Where(formation => formation.Intitule.ToLower().Contains(texte)).Select(formation => GetFormationDTO(formation));
return formationDTOs;
}
@@ -98,7 +216,7 @@ namespace EPAServeur.Services
return typeFormationDTOs;
}
- public byte AddFormation(FormationDTO formationDTO)
+ public FormationDTO AddFormation(FormationDTO formationDTO)
{
Formation formation = new Formation();
formation = SetFormation(formation, formationDTO);
@@ -119,51 +237,49 @@ namespace EPAServeur.Services
}
catch (Exception)
{
- return 1;
+ return null;
}
- return 0;
+ return GetFormationDTO(formation);
}
- public byte UpdateFormation(FormationDTO formationDTO)
+ public FormationDTO UpdateFormation(FormationDTO formationDTO)
{
Formation formation = epContext.Formation.FirstOrDefault(formation => formation.Id == formationDTO.Id);
if (formation == null)
- return 1;
-
- formation = SetFormation(formation, formationDTO);
- try
- {
- epContext.SaveChanges();
- }
- catch (Exception)
{
- return 2;
+ return null;
}
- return 0;
+ formation = SetFormation(formation, formationDTO);
+ epContext.SaveChanges();
+
+ return GetFormationDTO(formation);
}
- public byte DeleteFormationById(int? id)
+ public bool DeleteFormationById(decimal? id)
{
- Formation formation = epContext.Formation.FirstOrDefault(formation => formation.Id == id);
-
- if (formation == null)
- return 1;
+ int idFormation = 0;
try
{
- epContext.Remove(formation);
- epContext.SaveChanges();
+ idFormation = Convert.ToInt32(id);
}
- catch (Exception)
+ catch (Exception ex)
{
- return 2;
+ return false;
}
- return 0;
+ Formation formation = epContext.Formation.FirstOrDefault(formation => formation.Id == idFormation);
+ if (formation == null)
+ return false;
+
+
+ epContext.Remove(formation);
+ epContext.SaveChanges();
+ return true;
}
#region Object to DTO
@@ -265,7 +381,7 @@ namespace EPAServeur.Services
formation.Statut = GetStatutFormation(formationDTO.Statut);
formation.ModeFormation = GetModeFormation(formationDTO.Mode);
formation.TypeFormation = GetTypeFormation(formationDTO.Type);
-
+
//List participationFormationDTOs = epContext.ParticipationFormation.Where(participationFormation => participationFormation.Formation.Id == formation.Id)
// .Select(participationFormation => new ParticipationFormationDTO()