diff --git a/Services/CollaborateurService.cs b/Services/CollaborateurService.cs index f098c48..c7bccce 100644 --- a/Services/CollaborateurService.cs +++ b/Services/CollaborateurService.cs @@ -12,16 +12,31 @@ using System.Threading.Tasks; namespace EPAServeur.Services { + /// + /// Service permettant de récupérer les informations collaborateurs. + /// public class CollaborateurService : ICollaborateurService { + #region Variables + /// + /// API pour accéder aux données collaborateur en passant par le service collaborateur + /// private readonly ICollaborateurApi collaborateurApi; + #endregion + #region Constructeurs public CollaborateurService(ICollaborateurApi _collaborateurApi) { collaborateurApi = _collaborateurApi; } + #endregion - + #region Services + /// + /// Récupérer un collaborateur en fonction d'un id + /// + /// Identifiant du collaborateur à renvoyer + /// Le collaborateur corresponant à l'id en paramètre public CollaborateurDTO GetCollaborateurById(Guid? id) { Collaborateur collaborateur = collaborateurApi.ChercherCollabId(id); @@ -30,6 +45,11 @@ namespace EPAServeur.Services return GetCollaborateurDTO(collaborateur); } + /// + /// Récupérer un collaborateur en fonction d'un mail + /// + /// Mail du collaborateur à renvoyer + /// Le collaborateur correspondant au mail en paramètre public CollaborateurDTO GetCollaborateurByMail(string mail) { Collaborateur collaborateur = collaborateurApi.ChercherCollabMail(mail); @@ -38,7 +58,24 @@ namespace EPAServeur.Services return GetCollaborateurDTO(collaborateur); } - + /// + /// Récupérer la liste de tous les collaborateurs + /// + /// + /// Précise si la liste est trié dans l'ordre croissant ou décroissant + /// Numéro de la page qui est affiché du côté front + /// Nombre de collaborateurs à renvoyer + /// Liste des fonctions + /// id de l'agence à laquelle appartient les collaborateurs à récupérer + /// + /// permet de récupérer les collaborateurs dont le nom + prénom ou le prénom + nom contient le texte + /// Choisir l'attribut par lequel est trié la liste + /// + /// idBU est à prendre en compte avant l'idAgence + /// idAgence n'est à prendre en compte que si idBU est nul + /// + /// + /// Renvoie la liste des collaborateurs en fonction des paramètres public IEnumerable GetCollaborateurs(bool? asc, int? numPage, int? parPage, List fonctions, long? idAgence, long? idBU, string texte, string tri) { if (texte == null) @@ -64,15 +101,26 @@ namespace EPAServeur.Services return collaborateursDTO; } + /// + /// Récupérer les collaborateurs d'un référent + /// + /// id du référent des collaborateurs à récupérer + /// Précise si la liste est trié dans l'ordre croissant ou décroissant + /// Numéro de la page qui est affiché du côté front + /// Nombre de collaborateurs à renvoyer + /// permet de récupérer les collaborateurs dont le nom + prénom ou le prénom + nom contient le texte + /// Choisir l'attribut par lequel est trié la liste + /// Renvoyer les collaborateurs du référent dont l'id est passé en paramètre public IEnumerable GetCollaborateursByReferent(Guid? idReferent, bool? asc, int? numPage, int? parPage, string texte, string tri) { + Collaborateur referent = collaborateurApi.ChercherCollabId(idReferent); + if (referent == null) + return null; + if (texte == null) texte = ""; else texte = texte.ToLower(); - Collaborateur referent = collaborateurApi.ChercherCollabId(idReferent); - if (referent == null) - return null; IEnumerable collaborateurs = collaborateurApi.ChercherCollabRef(idReferent); int skip = (numPage.Value - 1) * parPage.Value; int take = parPage.Value; @@ -82,6 +130,11 @@ namespace EPAServeur.Services return collaborateursDTO; } + /// + /// Récupérer le profil d'un collaborateur par mail + /// + /// mail du collaborateur dont on cherche le profil + /// Renvoie le profil correspondant au mail passé en paramètre public ProfilDTO GetProfilByMail(string mail) { Collaborateur collaborateur = collaborateurApi.ChercherCollabMail(mail); @@ -90,6 +143,11 @@ namespace EPAServeur.Services return GetProfilDTO(collaborateur); } + /// + /// Récupérer un profil d'un collaborateur par l'id + /// + /// id du collaborateur dont on cherche le profil + /// Renvoie le profil correspondant à l'id passé en paramètre public ProfilDTO GetProfilById(Guid? idCollaborateur) { Collaborateur collaborateur = collaborateurApi.ChercherCollabId(idCollaborateur); @@ -97,8 +155,15 @@ namespace EPAServeur.Services return null; return GetProfilDTO(collaborateur); } + #endregion - //Object to DTO + #region DTO To Object + + /// + /// Transformer un objet collaborateur en ProfilDTO + /// + /// collaborateur a transformé en profilDTO + /// Renvoie le profil associé au collaborateur passé en paramètre private ProfilDTO GetProfilDTO(Collaborateur collaborateur) { ProfilDTO profilDTO = new ProfilDTO() @@ -113,7 +178,11 @@ namespace EPAServeur.Services return profilDTO; } - + /// + /// Transformer une agence en agenceDTO + /// + /// agence à transformer en agenceDTO + /// Retourne la transformation DTO de l'agence private AgenceDTO GetAgenceDTO(Agence agence) { if (agence == null) @@ -132,6 +201,11 @@ namespace EPAServeur.Services return agenceDTO; } + /// + /// Transforme une businessUnit en businessUnitDTO + /// + /// businessUnit à transformer en businessUnitDTO + /// Retourne la transformation DTO de la businessUnit private BusinessUnitDTO GetBusinessUnitDTO(BU businessUnit) { if (businessUnit == null) @@ -145,6 +219,11 @@ namespace EPAServeur.Services return businessUnitDTO; } + /// + /// Transforme un collaborateur en collaborateurDTO + /// + /// collaborateur à transformer en collaborateurDTO + /// Renvoie la transformation DTO du collaborateur private CollaborateurDTO GetCollaborateurDTO(Collaborateur collaborateur) { CollaborateurDTO collaborateurDTO = new CollaborateurDTO() @@ -161,6 +240,11 @@ namespace EPAServeur.Services return collaborateurDTO; } + /// + /// Transforme un referent en referentDTO + /// + /// referent à transformer en referentDTO + /// Renvoie la transformation DTO du referent private ReferentDTO GetReferentDTO(Referent referent) { if (referent == null) @@ -174,5 +258,6 @@ namespace EPAServeur.Services }; return referentDTO; } + #endregion } }