Ajout des loggers, et try catch pour la partie collaborateurs

develop
Yanaël GRETTE 4 years ago
parent f9205b0a5e
commit 2f3e202450
  1. 96
      Controllers/CollaborateursApi.cs
  2. 11
      Services/CollaborateurService.cs

@ -20,6 +20,9 @@ using Microsoft.AspNetCore.Authorization;
using IO.Swagger.DTO; using IO.Swagger.DTO;
using EPAServeur.IServices; using EPAServeur.IServices;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using EPAServeur.Exceptions;
using IO.Swagger.ClientCollaborateur;
using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace IO.Swagger.Controllers namespace IO.Swagger.Controllers
{ {
@ -57,17 +60,29 @@ namespace IO.Swagger.Controllers
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... //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)); // return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération du collaborateur d'ID {idCollaborateur}", idCollaborateur); logger.LogInformation("Récupération du collaborateur d'ID {idCollaborateur}", idCollaborateur);
CollaborateurDTO collaborateurDTO = collaborateurService.GetCollaborateurById(idCollaborateur); CollaborateurDTO collaborateurDTO = null;
if( collaborateurDTO == null) try
{ {
logger.LogWarning("Le ccollaborateur {id} est introuvable", idCollaborateur); collaborateurDTO = collaborateurService.GetCollaborateurById(idCollaborateur);
}
catch (ApiException)
{
logger.LogError("Une erreur est survenue lors de la communication avec le service Collaborateur pour récupérer le collaborateur par son id {idCollaborateur}", idCollaborateur);
}
catch (CollaborateurNotFoundException)
{
logger.LogError("Le ccollaborateur {id} est introuvable", idCollaborateur);
ErreurDTO erreurDTO = new ErreurDTO() ErreurDTO erreurDTO = new ErreurDTO()
{ {
Code = "404", Code = "404",
Message = "Le collaborateur n'existe pas", Message = "Le collaborateur n'existe pas",
}; };
return NotFound(erreurDTO); return NotFound(erreurDTO);
} }
catch(Exception)
{
logger.LogError("Une erreur inconnue est survenue lors de la récupération du collaborateur {idCollaborateur}", idCollaborateur);
}
logger.LogInformation("Collaborateur {id} trouvée", idCollaborateur); logger.LogInformation("Collaborateur {id} trouvée", idCollaborateur);
return Ok(collaborateurDTO); return Ok(collaborateurDTO);
} }
@ -93,20 +108,31 @@ namespace IO.Swagger.Controllers
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... //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)); // return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération d'un collaborateur par le mail {mail}", mail); logger.LogInformation("Récupération d'un collaborateur par le mail {mail}", mail);
CollaborateurDTO collaborateurDTO = collaborateurService.GetCollaborateurByMail(mail); CollaborateurDTO collaborateurDTO = null;
if (collaborateurDTO == null) try
{
collaborateurDTO = collaborateurService.GetCollaborateurByMail(mail);
}
catch (CollaborateurNotFoundException)
{ {
logger.LogWarning("Le collaborateur {mail} est introuvable", mail); logger.LogError("Le ccollaborateur {mail} est introuvable", mail);
ErreurDTO erreurDTO = new ErreurDTO() ErreurDTO erreurDTO = new ErreurDTO()
{ {
Code = "404", Code = "404",
Message = "Aucun collaborateur n'est lié au mail "+mail, Message = "Aucun collaborateur n'est lié au mail " + mail,
}; };
return NotFound(erreurDTO); return NotFound(erreurDTO);
} }
catch (ApiException)
{
logger.LogError("Une erreur est survenue lors de la communication avec le service Collaborateur pour récupérer le collaborateur par son mail {mail}", mail);
}
catch (Exception)
{
logger.LogError("Une erreur inconnue est survenue lors de la récupération du collaborateur {mail}", mail);
}
logger.LogInformation("Collaborateur {mail} trouvée", mail); logger.LogInformation("Collaborateur {mail} trouvée", mail);
return Ok(collaborateurDTO); return Ok(collaborateurDTO);
} }
/// <summary> /// <summary>
@ -135,7 +161,21 @@ namespace IO.Swagger.Controllers
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... //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)); // return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération de la liste des collaborateurs"); logger.LogInformation("Récupération de la liste des collaborateurs");
return Ok(collaborateurService.GetCollaborateurs(asc, numPage, parPAge, fonctions, idAgence, idBU, texte, tri)); IEnumerable<CollaborateurDTO> collaborateurs = null;
try
{
collaborateurs = collaborateurService.GetCollaborateurs(asc, numPage, parPAge, fonctions, idAgence, idBU, texte, tri);
}
catch(ApiException)
{
logger.LogError("Une erreur est survenue lors de la discussion avec le service Collaborateur pour récupérer la liste des collaborateurs");
}
catch(Exception)
{
logger.LogError("Une erreur inconnue est survenue lors de la récupération de la liste des collaborateurs");
}
logger.LogInformation("Liste des collaborateurs récupérée");
return Ok(collaborateurs);
} }
@ -164,8 +204,17 @@ namespace IO.Swagger.Controllers
{ {
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... //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)); // return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération de la liste des collaborateurs du référent {idReferent}",idReferent);
IEnumerable<CollaborateurDTO> collaborateurs = collaborateurService.GetCollaborateursByReferent(idReferent, asc, numPage, parPAge, texte, tri); IEnumerable<CollaborateurDTO> collaborateurs = collaborateurService.GetCollaborateursByReferent(idReferent, asc, numPage, parPAge, texte, tri);
if(collaborateurs == null) try
{
collaborateurs = collaborateurService.GetCollaborateursByReferent(idReferent, asc, numPage, parPAge, texte, tri);
}
catch (ApiException)
{
logger.LogError("Une erreur est survenue lors de la communication avec le service collaborateur lors de la récupération de la liste des collaborateurs du référent {idReferent}", idReferent);
}
catch (ReferentNotFoundException)
{ {
ErreurDTO erreurDTO = new ErreurDTO() ErreurDTO erreurDTO = new ErreurDTO()
{ {
@ -174,6 +223,11 @@ namespace IO.Swagger.Controllers
}; };
return NotFound(erreurDTO); return NotFound(erreurDTO);
} }
catch (Exception)
{
logger.LogError("Uner erreur inconnue est survenue lors de la récupération des collaborateurs du référent {idReferent}", idReferent);
}
logger.LogInformation("Liste des collaborateurs du référent {idReferent} récupérée", idReferent);
return Ok(collaborateurs); return Ok(collaborateurs);
} }
@ -197,10 +251,19 @@ namespace IO.Swagger.Controllers
{ {
//TODO: Uncomment the next line to return response 403 or use other options such as return this.NotFound(), return this.BadRequest(..), ... //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)); // return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération du profil par la mail {mail}", mail);
ProfilDTO collaborateurDTO = collaborateurService.GetProfilByMail(mail); ProfilDTO collaborateurDTO = null;
if (collaborateurDTO == null) try
{
collaborateurDTO = collaborateurService.GetProfilByMail(mail);
}
catch (ApiException)
{
logger.LogError("Une erreur est survenue lors de la communication avec le service collaborateur lors de la récupération du profil par le mail {mail}", mail);
}
catch (CollaborateurNotFoundException)
{ {
logger.LogError("Aucun collaborateur n'est lié au mail {mail}", mail);
ErreurDTO erreurDTO = new ErreurDTO() ErreurDTO erreurDTO = new ErreurDTO()
{ {
Code = "404", Code = "404",
@ -208,6 +271,11 @@ namespace IO.Swagger.Controllers
}; };
return NotFound(erreurDTO); return NotFound(erreurDTO);
} }
catch (Exception)
{
logger.LogError("Une erreur inconnue est survenue lors de la récupération du profil d'un collaborateur par le mail {mail}", mail);
}
logger.LogInformation("Profil du mail {mail} récupéré", mail);
return Ok(collaborateurDTO); return Ok(collaborateurDTO);
} }
} }

@ -1,4 +1,5 @@
using EPAServeur.Context; using EPAServeur.Context;
using EPAServeur.Exceptions;
using EPAServeur.IServices; using EPAServeur.IServices;
using IO.Swagger.ApiCollaborateur; using IO.Swagger.ApiCollaborateur;
using IO.Swagger.DTO; using IO.Swagger.DTO;
@ -42,7 +43,7 @@ namespace EPAServeur.Services
{ {
Collaborateur collaborateur = collaborateurApi.ChercherCollabId(id); Collaborateur collaborateur = collaborateurApi.ChercherCollabId(id);
if (collaborateur == null) if (collaborateur == null)
return null; throw new CollaborateurNotFoundException();
return GetCollaborateurDTO(collaborateur); return GetCollaborateurDTO(collaborateur);
} }
@ -55,7 +56,7 @@ namespace EPAServeur.Services
{ {
Collaborateur collaborateur = collaborateurApi.ChercherCollabMail(mail); Collaborateur collaborateur = collaborateurApi.ChercherCollabMail(mail);
if (collaborateur == null) if (collaborateur == null)
return null; throw new CollaborateurNotFoundException();
return GetCollaborateurDTO(collaborateur); return GetCollaborateurDTO(collaborateur);
} }
@ -125,7 +126,7 @@ namespace EPAServeur.Services
*/ */
Collaborateur referent = collaborateurApi.ChercherCollabId(idReferent); Collaborateur referent = collaborateurApi.ChercherCollabId(idReferent);
if (referent == null) if (referent == null)
return null; throw new ReferentNotFoundException();
if (texte == null) if (texte == null)
texte = ""; texte = "";
@ -149,7 +150,7 @@ namespace EPAServeur.Services
{ {
Collaborateur collaborateur = collaborateurApi.ChercherCollabMail(mail); Collaborateur collaborateur = collaborateurApi.ChercherCollabMail(mail);
if (collaborateur == null) if (collaborateur == null)
return null; throw new CollaborateurNotFoundException();
return GetProfilDTO(collaborateur); return GetProfilDTO(collaborateur);
} }
@ -170,7 +171,7 @@ namespace EPAServeur.Services
//Console.WriteLine("Durée d'exécution numéro 1: {0}", stopwatch.Elapsed.TotalSeconds); //Console.WriteLine("Durée d'exécution numéro 1: {0}", stopwatch.Elapsed.TotalSeconds);
if (collaborateur == null) if (collaborateur == null)
return null; throw new CollaborateurNotFoundException();
return GetProfilDTO(collaborateur); return GetProfilDTO(collaborateur);
} }
#endregion #endregion

Loading…
Cancel
Save