Ajout des loggers, et try catch pour la partie collaborateurs

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

@ -20,6 +20,9 @@ using Microsoft.AspNetCore.Authorization;
using IO.Swagger.DTO;
using EPAServeur.IServices;
using Microsoft.Extensions.Logging;
using EPAServeur.Exceptions;
using IO.Swagger.ClientCollaborateur;
using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace IO.Swagger.Controllers
{
@ -57,10 +60,18 @@ 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(..), ...
// return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération du collaborateur d'ID {idCollaborateur}", idCollaborateur);
CollaborateurDTO collaborateurDTO = collaborateurService.GetCollaborateurById(idCollaborateur);
if( collaborateurDTO == null)
CollaborateurDTO 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()
{
Code = "404",
@ -68,6 +79,10 @@ namespace IO.Swagger.Controllers
};
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);
return Ok(collaborateurDTO);
}
@ -93,10 +108,14 @@ 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(..), ...
// return StatusCode(403, default(ErreurDTO));
logger.LogInformation("Récupération d'un collaborateur par le mail {mail}", mail);
CollaborateurDTO collaborateurDTO = collaborateurService.GetCollaborateurByMail(mail);
if (collaborateurDTO == null)
CollaborateurDTO 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()
{
Code = "404",
@ -104,9 +123,16 @@ namespace IO.Swagger.Controllers
};
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);
return Ok(collaborateurDTO);
}
/// <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(..), ...
// return StatusCode(403, default(ErreurDTO));
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(..), ...
// 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);
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()
{
@ -174,6 +223,11 @@ namespace IO.Swagger.Controllers
};
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);
}
@ -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(..), ...
// return StatusCode(403, default(ErreurDTO));
ProfilDTO collaborateurDTO = collaborateurService.GetProfilByMail(mail);
if (collaborateurDTO == null)
logger.LogInformation("Récupération du profil par la mail {mail}", mail);
ProfilDTO 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()
{
Code = "404",
@ -208,6 +271,11 @@ namespace IO.Swagger.Controllers
};
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);
}
}

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

Loading…
Cancel
Save