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