diff --git a/EPAServeur.Tests/Controllers/EpInformationApiTests.cs b/EPAServeur.Tests/Controllers/EpInformationApiTests.cs index 3c6e637..9d2f85a 100644 --- a/EPAServeur.Tests/Controllers/EpInformationApiTests.cs +++ b/EPAServeur.Tests/Controllers/EpInformationApiTests.cs @@ -60,7 +60,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEpEnCours() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPEnCours(new List() { 1, 2 }, true, 1, 15, "", true, "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -70,7 +70,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEpEnCoursCount() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPEnCoursCount(new List() { 1, 2 }, "", true, null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -80,7 +80,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEpEnSignes() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPSignes(new List() { 1, 2 }, true, 1, 15, "", "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -91,7 +91,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEpEnSignesCount() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPSignesCount(new List() { 1, 2 }, "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -101,7 +101,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEPSignesCollaborateur() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPSignesCollaborateur(new Guid("a0f40e2a-cc03-4032-a627-5389e1281c64")); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -111,7 +111,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetProchainEPCollaborateur() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetProchainEPCollaborateur(new Guid("a0f40e2a-cc03-4032-a627-5389e1281c64")); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -121,7 +121,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEPSignesReferent() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPSignesReferent(new Guid("01ee85ff-d7f3-494b-b1de-26ced8fbfa0d"), true, 1, 15, "", "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -131,7 +131,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEPSignesReferentCount() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPSignesReferentCount(new Guid("01ee85ff-d7f3-494b-b1de-26ced8fbfa0d"), "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -141,7 +141,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEPEnCoursReferent() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPEnCoursReferent(new Guid("eb8b0f33-f529-4985-861e-1207f3312bb5"), true, 1, 15, "", "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); @@ -151,7 +151,7 @@ namespace EPAServeur.Tests.Controllers [Test] public async Task GetEPEnCoursReferentCount() { - EpApiController epApiController = new EpApiController(epInformationService, logger); + EpApiController epApiController = new EpApiController(epInformationService, logger, null); Task task = epApiController.GetEPEnCoursReferentCount(new Guid("eb8b0f33-f529-4985-861e-1207f3312bb5"), "", null, null); OkObjectResult result = task.Result as OkObjectResult; Assert.AreEqual(200, result.StatusCode); diff --git a/EPAServeur/Controllers/EpApi.cs b/EPAServeur/Controllers/EpApi.cs index 79501a7..8f1eed5 100644 --- a/EPAServeur/Controllers/EpApi.cs +++ b/EPAServeur/Controllers/EpApi.cs @@ -23,6 +23,7 @@ using Microsoft.Extensions.Logging; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using IO.Swagger.ClientCollaborateur; +using EPAServeur.Exceptions; namespace IO.Swagger.Controllers { @@ -34,12 +35,15 @@ namespace IO.Swagger.Controllers { private IEpInformationService epInformationService; private ILogger logger; + private IEpDetailsService epDetailsService; - public EpApiController(IEpInformationService epInformationService, ILogger logger) + public EpApiController(IEpInformationService epInformationService, ILogger logger, IEpDetailsService epDetailsService) { this.epInformationService = epInformationService; this.logger = logger; - } + this.epDetailsService = epDetailsService; + + } /// /// @@ -139,8 +143,44 @@ 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: 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")] - public virtual IActionResult GetEPById([FromRoute][Required]long? idEP) - { + public virtual async Task GetEPById([FromRoute][Required]long? idEP) + { + EpDTO ep; + try + { + ep = await epDetailsService.GetEp(idEP); + } + catch (ApiException e) + { + logger.LogError(e.Message); + ErreurDTO erreur = new ErreurDTO() + { + Code = 500, + Message = "Une erreur est survenue lors de la récupération des données collaborateurs" + }; + return StatusCode(500, erreur); + } + catch (EpNotFoundException e) + { + logger.LogError(e.Message); + ErreurDTO erreur = new ErreurDTO + { + Code = 404, + Message = "L'Ep recharché n'a pas été trouvé", + }; + return StatusCode(erreur.Code.Value, erreur); + } + catch (Exception e) + { + logger.LogError(e.Message); + ErreurDTO erreur = new ErreurDTO + { + Code = 500, + Message = "Une erreur inconnue est survenue sur le serveur", + }; + return StatusCode(erreur.Code.Value, erreur); + } + return Ok(ep); //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(EpDTO)); @@ -155,13 +195,6 @@ namespace IO.Swagger.Controllers //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(500, default(ErreurDTO)); - string exampleJson = null; - exampleJson = "{\n \"dateSignatureReferent\" : \"2000-01-23T04:56:07.000+00:00\",\n \"dateSaisie\" : \"2000-01-23T04:56:07.000+00:00\",\n \"documents\" : [ {\n \"typeDocument\" : \"EPS\",\n \"id\" : 9,\n \"saisies\" : [ {\n \"note\" : 6,\n \"texte\" : \"texte\",\n \"id\" : \"id\",\n \"champ\" : {\n \"ordre\" : 6,\n \"texte\" : \"texte\",\n \"section\" : \"section\",\n \"soussection\" : \"soussection\",\n \"id\" : 3,\n \"typeSaisie\" : \"Commentaire\"\n }\n }, {\n \"note\" : 6,\n \"texte\" : \"texte\",\n \"id\" : \"id\",\n \"champ\" : {\n \"ordre\" : 6,\n \"texte\" : \"texte\",\n \"section\" : \"section\",\n \"soussection\" : \"soussection\",\n \"id\" : 3,\n \"typeSaisie\" : \"Commentaire\"\n }\n } ]\n }, {\n \"typeDocument\" : \"EPS\",\n \"id\" : 9,\n \"saisies\" : [ {\n \"note\" : 6,\n \"texte\" : \"texte\",\n \"id\" : \"id\",\n \"champ\" : {\n \"ordre\" : 6,\n \"texte\" : \"texte\",\n \"section\" : \"section\",\n \"soussection\" : \"soussection\",\n \"id\" : 3,\n \"typeSaisie\" : \"Commentaire\"\n }\n }, {\n \"note\" : 6,\n \"texte\" : \"texte\",\n \"id\" : \"id\",\n \"champ\" : {\n \"ordre\" : 6,\n \"texte\" : \"texte\",\n \"section\" : \"section\",\n \"soussection\" : \"soussection\",\n \"id\" : 3,\n \"typeSaisie\" : \"Commentaire\"\n }\n } ]\n } ],\n \"commentairesAssistant\" : [ {\n \"id\" : 1,\n \"idAssistante\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"commentaire\" : \"commentaire\"\n }, {\n \"id\" : 1,\n \"idAssistante\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"commentaire\" : \"commentaire\"\n } ],\n \"dateDisponibilite\" : \"2000-01-23T04:56:07.000+00:00\",\n \"demandesFormation\" : [ {\n \"commentaireRefus\" : \"commentaireRefus\",\n \"libelle\" : \"libelle\",\n \"description\" : \"description\",\n \"dateDerniereReponse\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 2,\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 7\n },\n \"ep\" : {\n \"obligatoire\" : true,\n \"dateDisponibilite\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 9,\n \"datePrevisionnelle\" : \"2000-01-23T04:56:07.000+00:00\"\n },\n \"formation\" : {\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 },\n \"demandeRH\" : false,\n \"dateDemande\" : \"2000-01-23T04:56:07.000+00:00\",\n \"etatDemande\" : \"EnAttente\"\n }, {\n \"commentaireRefus\" : \"commentaireRefus\",\n \"libelle\" : \"libelle\",\n \"description\" : \"description\",\n \"dateDerniereReponse\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 2,\n \"origine\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 7\n },\n \"ep\" : {\n \"obligatoire\" : true,\n \"dateDisponibilite\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 9,\n \"datePrevisionnelle\" : \"2000-01-23T04:56:07.000+00:00\"\n },\n \"formation\" : {\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 },\n \"demandeRH\" : false,\n \"dateDemande\" : \"2000-01-23T04:56:07.000+00:00\",\n \"etatDemande\" : \"EnAttente\"\n } ],\n \"type\" : \"EPS\",\n \"collaborateur\" : {\n \"businessUnit\" : {\n \"agence\" : {\n \"bu\" : [ null, null ],\n \"id\" : 6,\n \"nom\" : \"nom\"\n },\n \"id\" : 0,\n \"nom\" : \"nom\"\n },\n \"mailApside\" : \"\",\n \"dateArrivee\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"dateDepart\" : \"2000-01-23T04:56:07.000+00:00\",\n \"nom\" : \"nom\",\n \"prenom\" : \"prenom\"\n },\n \"engagements\" : [ {\n \"action\" : \"action\",\n \"id\" : 4,\n \"dispositif\" : \"dispositif\",\n \"modalite\" : \"modalite\",\n \"dateLimite\" : \"2000-01-23T04:56:07.000+00:00\",\n \"etatEngagement\" : \"EnAttente\",\n \"raisonNonRealisable\" : \"raisonNonRealisable\"\n }, {\n \"action\" : \"action\",\n \"id\" : 4,\n \"dispositif\" : \"dispositif\",\n \"modalite\" : \"modalite\",\n \"dateLimite\" : \"2000-01-23T04:56:07.000+00:00\",\n \"etatEngagement\" : \"EnAttente\",\n \"raisonNonRealisable\" : \"raisonNonRealisable\"\n } ],\n \"id\" : 0,\n \"datePrevisionnelle\" : \"2000-01-23T04:56:07.000+00:00\",\n \"participants\" : [ {\n \"idParticipant\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"id\" : 1,\n \"estPermanente\" : true,\n \"participant\" : \"participant\"\n }, {\n \"idParticipant\" : \"046b6c7f-0b8a-43b9-b35d-6489e6daee91\",\n \"id\" : 1,\n \"estPermanente\" : true,\n \"participant\" : \"participant\"\n } ],\n \"dateSignatureCollaborateur\" : \"2000-01-23T04:56:07.000+00:00\",\n \"objectifs\" : [ {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n }, {\n \"libelle\" : \"libelle\",\n \"id\" : 5\n } ],\n \"augmentationSalaire\" : {\n \"augmentationPrimeMission\" : 9.36931,\n \"id\" : 5,\n \"augmentation\" : 9.965781,\n \"message\" : \"message\"\n },\n \"propositionsEntretien\" : [ {\n \"typeEntretien\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 1\n },\n \"dateEntretien\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 6\n }, {\n \"typeEntretien\" : {\n \"libelle\" : \"libelle\",\n \"id\" : 1\n },\n \"dateEntretien\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 6\n } ],\n \"obligatoire\" : true,\n \"demandesDelegation\" : [ {\n \"raisonDemande\" : \"raisonDemande\",\n \"raisonRefus\" : \"raisonRefus\",\n \"dateReponse\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 6,\n \"dateDemande\" : \"2000-01-23T04:56:07.000+00:00\"\n }, {\n \"raisonDemande\" : \"raisonDemande\",\n \"raisonRefus\" : \"raisonRefus\",\n \"dateReponse\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 6,\n \"dateDemande\" : \"2000-01-23T04:56:07.000+00:00\"\n } ],\n \"cv\" : \"cv\",\n \"demandeEPI\" : {\n \"raisonRefus\" : \"raisonRefus\",\n \"dateReponse\" : \"2000-01-23T04:56:07.000+00:00\",\n \"id\" : 8,\n \"dateDemande\" : \"2000-01-23T04:56:07.000+00:00\"\n },\n \"objectifsPrecedent\" : [ {\n \"libelle\" : \"libelle\",\n \"id\" : 5,\n \"statutObjectif\" : \"Atteint\",\n \"commentaire\" : \"commentaire\"\n }, {\n \"libelle\" : \"libelle\",\n \"id\" : 5,\n \"statutObjectif\" : \"Atteint\",\n \"commentaire\" : \"commentaire\"\n } ],\n \"statut\" : \"Cree\"\n}"; - - var example = exampleJson != null - ? JsonConvert.DeserializeObject(exampleJson) - : default(EpDTO); //TODO: Change the data returned - return new ObjectResult(example); } /// diff --git a/EPAServeur/IServices/IEpDetailsService.cs b/EPAServeur/IServices/IEpDetailsService.cs index 0fd49e2..a243ddd 100644 --- a/EPAServeur/IServices/IEpDetailsService.cs +++ b/EPAServeur/IServices/IEpDetailsService.cs @@ -9,13 +9,13 @@ namespace EPAServeur.IServices public interface IEpDetailsService { void SupprimerDonneesEPCollaborateur(Guid? idCollaborateur); - Task GetEp(long id); - Task UpdateEP(long idEp, EpDTO ep); - void SupprimerEP(long idEp); - void RappelSignature(long idEp); - Task UpdateSaisie(long idEp, EpDTO ep); + Task GetEp(long? id); + Task UpdateEP(long? idEp, EpDTO ep); + void SupprimerEP(long? idEp); + void RappelSignature(long? idEp); + Task UpdateSaisie(long? idEp, EpDTO ep); Task SaisirEPCollaborateur(Guid? idCollaborateur); - Task SaisirEPReferent(long idEp); + Task SaisirEPReferent(long? idEp); } } diff --git a/EPAServeur/Services/EpDetailsService.cs b/EPAServeur/Services/EpDetailsService.cs index 55663f7..5eb2ff9 100644 --- a/EPAServeur/Services/EpDetailsService.cs +++ b/EPAServeur/Services/EpDetailsService.cs @@ -24,7 +24,7 @@ namespace EPAServeur.Services this.collaborateurService = collaborateurService; } - public async Task GetEp(long id) + public async Task GetEp(long? id) { Ep ep = await context.Ep .Include(ep => ep.Engagements) @@ -64,7 +64,7 @@ namespace EPAServeur.Services return epDTO; } - public void RappelSignature(long idEp) + public void RappelSignature(long? idEp) { throw new NotImplementedException(); } @@ -74,7 +74,7 @@ namespace EPAServeur.Services throw new NotImplementedException(); } - public Task SaisirEPReferent(long idEp) + public Task SaisirEPReferent(long? idEp) { throw new NotImplementedException(); } @@ -84,17 +84,17 @@ namespace EPAServeur.Services throw new NotImplementedException(); } - public void SupprimerEP(long idEp) + public void SupprimerEP(long? idEp) { throw new NotImplementedException(); } - public Task UpdateEP(long idEp, EpDTO ep) + public Task UpdateEP(long? idEp, EpDTO ep) { throw new NotImplementedException(); } - public Task UpdateSaisie(long idEp, EpDTO ep) + public Task UpdateSaisie(long? idEp, EpDTO ep) { throw new NotImplementedException(); }