Implémentation de la récupération des commentaires assistants (sans le nom et le prénom de l'assistant encore)

develop
Yanaël GRETTE 4 years ago
parent b48458e2d0
commit 2fbd2076cd
  1. 22
      EPAServeur.Tests/Services/EpDetailsServiceTests.cs
  2. 25
      EPAServeur/Context/DataSeeder.cs
  3. 2
      EPAServeur/IServices/ITransformDTO.cs
  4. 3
      EPAServeur/Services/EpDetailsService.cs
  5. 25
      EPAServeur/Services/TransformDTO.cs

@ -128,14 +128,32 @@ namespace EPAServeur.Tests.Services
} }
#endregion #endregion
#region Récupérer EP avec CommentaireAssistant
[TestCase(2, 2)]
[TestCase(4, 0)]
[TestCase(16, 1)]
public async Task GetEpById_GetCommentairesAssistant(long idEP, int count)
{
IEpDetailsService epDetailsService = new EpDetailsService(context, transformDTO, collaborateurService);
EpDTO epDTO = await epDetailsService.GetEp(idEP);
if (count == 0)
{
Assert.IsNull(epDTO.CommentairesAssistant);
}
else
{
Assert.IsNotNull(epDTO.CommentairesAssistant);
Assert.AreEqual(count, epDTO.CommentairesAssistant.Count);
}
}
#endregion
#region Récupérer EP avec RDV entretiens #region Récupérer EP avec RDV entretiens
#endregion #endregion
#region Récupérer EP avec type entretien #region Récupérer EP avec type entretien
#endregion #endregion
#region Récupérer EP avec CommentaireAssistant
#endregion
#region Récupérer EP avec demandes de délégation #region Récupérer EP avec demandes de délégation
#endregion #endregion

@ -86,7 +86,7 @@ namespace EPAServeur.Context
{ {
Engagement eg1, eg2, eg3, eg4; Engagement eg1, eg2, eg3, eg4;
ParticipationEP p1, p2, p3, p4, p5; ParticipationEP p1, p2, p3, p4, p5;
CommentaireAssistant ca1, ca2, ca3;
//Ep en cours //Ep en cours
Ep epEnCours1, epEnCours2, epEnCours3, epEnCours4, epEnCours5, epEnCours6, epEnCours7, epEnCours8, epEnCours9; Ep epEnCours1, epEnCours2, epEnCours3, epEnCours4, epEnCours5, epEnCours6, epEnCours7, epEnCours8, epEnCours9;
@ -118,6 +118,19 @@ namespace EPAServeur.Context
IdCollaborateur = new Guid("e7820f92-eab1-42f5-ae96-5c16e71ff1e6"), IdCollaborateur = new Guid("e7820f92-eab1-42f5-ae96-5c16e71ff1e6"),
Obligatoire = false, Obligatoire = false,
}; };
ca1 = new CommentaireAssistant()
{
Commentaire = "Commentaire assistant",
IdAssistant = new Guid("a43b6f4f-f199-4dd0-93b6-a1cb2c0a0d14"),
Ep = epEnCours2
};
ca2 = new CommentaireAssistant()
{
Commentaire = "Commentaire assistant",
IdAssistant = new Guid("a29d707c-5d82-4c48-bed1-a6d1c1710047"),
Ep = epEnCours2
};
epEnCours2.CommentairesAssistant = new List<CommentaireAssistant>(new[] { ca1, ca2 });
epContext.Ep.Add(epEnCours2); epContext.Ep.Add(epEnCours2);
@ -133,6 +146,7 @@ namespace EPAServeur.Context
IdCollaborateur = new Guid("b5254c6c-7caa-435f-a4bb-e0cf92559832"), IdCollaborateur = new Guid("b5254c6c-7caa-435f-a4bb-e0cf92559832"),
Obligatoire = false, Obligatoire = false,
}; };
p1 = new ParticipationEP() p1 = new ParticipationEP()
{ {
Ep = epEnCours3, Ep = epEnCours3,
@ -269,6 +283,7 @@ namespace EPAServeur.Context
IdCollaborateur = new Guid("13fbe621-1bc9-4f04-afde-b54ca076e239"), IdCollaborateur = new Guid("13fbe621-1bc9-4f04-afde-b54ca076e239"),
Obligatoire = true, Obligatoire = true,
}; };
epContext.Ep.Add(epEnCours9); epContext.Ep.Add(epEnCours9);
@ -398,6 +413,14 @@ namespace EPAServeur.Context
IdCollaborateur = new Guid("13fbe621-1bc9-4f04-afde-b54ca076e239"), IdCollaborateur = new Guid("13fbe621-1bc9-4f04-afde-b54ca076e239"),
Obligatoire = false, Obligatoire = false,
}; };
ca3 = new CommentaireAssistant()
{
Commentaire = "Commentaire assistant",
IdAssistant = new Guid("e6255f16-bcaf-48ac-b00b-97de83677ad8"),
Ep = epSigne7
};
epSigne7.CommentairesAssistant = new List<CommentaireAssistant>();
epSigne7.CommentairesAssistant.Add(ca3);
epContext.Ep.Add(epSigne7); epContext.Ep.Add(epSigne7);
epSigne8 = new Ep() epSigne8 = new Ep()

@ -74,6 +74,7 @@ namespace EPAServeur.IServices
EpDTO EpToEpDetails(Ep ep, IEnumerable<CollaborateurDTO> collaborateurDTOs); EpDTO EpToEpDetails(Ep ep, IEnumerable<CollaborateurDTO> collaborateurDTOs);
List<EngagementDTO> GetEngagementDTOs(List<Engagement> engagements); List<EngagementDTO> GetEngagementDTOs(List<Engagement> engagements);
List<ParticipationEPDTO> GetParticipantsDTO(List<ParticipationEP> participants, IEnumerable<CollaborateurDTO> collaborateurDTOs); List<ParticipationEPDTO> GetParticipantsDTO(List<ParticipationEP> participants, IEnumerable<CollaborateurDTO> collaborateurDTOs);
List<CommentaireAssistantDTO> GetCommentaireAssistant(List<CommentaireAssistant> commentaireAssistant, IEnumerable<CollaborateurDTO> collaborateurDTOs);
DemandeEPIDTO GetDemandeEPIDTO(DemandeEPI demande, IEnumerable<CollaborateurDTO> collaborateurDTOs); DemandeEPIDTO GetDemandeEPIDTO(DemandeEPI demande, IEnumerable<CollaborateurDTO> collaborateurDTOs);
AugmentationSalaireDTO GetAugmentationSalaireDTO(AugmentationSalaire augmentation); AugmentationSalaireDTO GetAugmentationSalaireDTO(AugmentationSalaire augmentation);
DemandeDelegationDTO GetDemandeDelegationDTO(DemandeDelegation demandeDelegation, IEnumerable<CollaborateurDTO> collaborateurDTOs); DemandeDelegationDTO GetDemandeDelegationDTO(DemandeDelegation demandeDelegation, IEnumerable<CollaborateurDTO> collaborateurDTOs);
@ -83,7 +84,6 @@ namespace EPAServeur.IServices
DocumentDTO GetDocumentDTO(Document document); DocumentDTO GetDocumentDTO(Document document);
ObjectifDTO GetObjectifDTO(Objectif objectif); ObjectifDTO GetObjectifDTO(Objectif objectif);
ObjectifPrecedentDTO GetObjectifPrecedentDTO(ObjectifPrecedent objectifPrecedent); ObjectifPrecedentDTO GetObjectifPrecedentDTO(ObjectifPrecedent objectifPrecedent);
CommentaireAssistant GetCommentaireAssistant(CommentaireAssistant commentaireAssistant);

@ -29,6 +29,7 @@ namespace EPAServeur.Services
Ep ep = await context.Ep Ep ep = await context.Ep
.Include(ep => ep.Engagements) .Include(ep => ep.Engagements)
.Include(ep => ep.Participants) .Include(ep => ep.Participants)
.Include(ep => ep.CommentairesAssistant)
.FirstOrDefaultAsync(ep => ep.IdEP.Equals(id)); .FirstOrDefaultAsync(ep => ep.IdEP.Equals(id));
if (ep == null) if (ep == null)
throw new EpNotFoundException(); throw new EpNotFoundException();
@ -40,6 +41,8 @@ namespace EPAServeur.Services
guids.Add(ep.IdCollaborateur); guids.Add(ep.IdCollaborateur);
if (ep.Participants != null && ep.Participants.Any()) if (ep.Participants != null && ep.Participants.Any())
guids.AddRange(ep.Participants.SelectMany(p => new[] { (Guid?)p.IdParticipant })); guids.AddRange(ep.Participants.SelectMany(p => new[] { (Guid?)p.IdParticipant }));
if (ep.CommentairesAssistant != null && ep.CommentairesAssistant.Any())
guids.AddRange(ep.CommentairesAssistant.SelectMany(p => new[] { (Guid?)p.IdAssistant }));
IEnumerable<CollaborateurDTO> collaborateurDTOs = await collaborateurService.GetCollaborateurDTOsAsync(guids); IEnumerable<CollaborateurDTO> collaborateurDTOs = await collaborateurService.GetCollaborateurDTOsAsync(guids);

@ -62,7 +62,8 @@ namespace EPAServeur.Services
Type = ep.TypeEP, Type = ep.TypeEP,
Cv = ep.CV, Cv = ep.CV,
Engagements = GetEngagementDTOs(ep.Engagements), Engagements = GetEngagementDTOs(ep.Engagements),
Participants = GetParticipantsDTO(ep.Participants, collaborateurDTOs) Participants = GetParticipantsDTO(ep.Participants, collaborateurDTOs),
CommentairesAssistant = GetCommentaireAssistant(ep.CommentairesAssistant, collaborateurDTOs)
}; };
} }
@ -205,11 +206,27 @@ namespace EPAServeur.Services
/// <summary> /// <summary>
/// Transformer un commentaire assistante en objet DTO /// Transformer un commentaire assistante en objet DTO
/// </summary> /// </summary>
/// <param name="commentaireAssistant">Le commentaire a transformé en DTO</param> /// <param name="commentaireAssistant">Les commentaire a transformé en DTO</param>
/// <returns>Le commentaire assistant transformé en DTO</returns> /// <returns>Le commentaire assistant transformé en DTO</returns>
public CommentaireAssistant GetCommentaireAssistant(CommentaireAssistant commentaireAssistant) public List<CommentaireAssistantDTO> GetCommentaireAssistant(List<CommentaireAssistant> commentairesAssistant, IEnumerable<CollaborateurDTO> collaborateurDTOs)
{ {
throw new NotImplementedException(); if (commentairesAssistant == null || !commentairesAssistant.Any())
return null;
List<CommentaireAssistantDTO> commentaireAssistantDTO = new List<CommentaireAssistantDTO>();
foreach(CommentaireAssistant ca in commentairesAssistant)
{
CollaborateurDTO c = collaborateurDTOs.FirstOrDefault(collaborateur => collaborateur.Id.Equals(ca.IdAssistant));
if(c != null)
{
commentaireAssistantDTO.Add(new CommentaireAssistantDTO()
{
Commentaire = ca.Commentaire,
Id = ca.IdCommentaireAssistant,
IdAssistante = ca.IdAssistant
});
}
}
return commentaireAssistantDTO.Any() ? commentaireAssistantDTO : null;
} }

Loading…
Cancel
Save