From c54d9fc48b927a0f0ada8ffa4c567f21ebe4392c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yana=C3=ABl=20GRETTE?= Date: Mon, 15 Mar 2021 15:06:57 +0100 Subject: [PATCH] =?UTF-8?q?Impl=C3=A9mentation=20de=20la=20r=C3=A9cup?= =?UTF-8?q?=C3=A9ration=20des=20objectifs=20et=20objectifs=20pr=C3=A9c?= =?UTF-8?q?=C3=A9dents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/EpDetailsServiceTests.cs | 26 +++++++++++-- EPAServeur/Context/DataSeeder.cs | 30 ++++++++++++++ EPAServeur/IServices/ITransformDTO.cs | 4 +- EPAServeur/Services/EpDetailsService.cs | 2 + EPAServeur/Services/TransformDTO.cs | 39 +++++++++++++------ 5 files changed, 85 insertions(+), 16 deletions(-) diff --git a/EPAServeur.Tests/Services/EpDetailsServiceTests.cs b/EPAServeur.Tests/Services/EpDetailsServiceTests.cs index ad182cf..423a97c 100644 --- a/EPAServeur.Tests/Services/EpDetailsServiceTests.cs +++ b/EPAServeur.Tests/Services/EpDetailsServiceTests.cs @@ -230,6 +230,29 @@ namespace EPAServeur.Tests.Services #endregion + #region Objectifs + [TestCase(3, true)] + [TestCase(7, false)] + [TestCase(10, true)] + public async Task GetEp_Objectifs_ObjectifsPrecedents(long idEp, bool possedeObjectifsPref) + { + IEpDetailsService epDetailsService = new EpDetailsService(context, transformDTO, collaborateurService); + EpDTO epDTO = await epDetailsService.GetEp(idEp); + Assert.IsNotNull(epDTO); + Assert.IsNotNull(epDTO.Objectifs); + Assert.AreEqual(3, epDTO.Objectifs.Count); + if (possedeObjectifsPref) + { + Assert.IsNotNull(epDTO.ObjectifsPrecedent); + Assert.AreEqual(3, epDTO.ObjectifsPrecedent.Count); + }else + { + Assert.IsNull(epDTO.ObjectifsPrecedent); + } + + } + #endregion + #region Récupérer EP avec demandes de formation #endregion @@ -247,8 +270,5 @@ namespace EPAServeur.Tests.Services #region #endregion - - #region - #endregion } } diff --git a/EPAServeur/Context/DataSeeder.cs b/EPAServeur/Context/DataSeeder.cs index 442cc2e..925e088 100644 --- a/EPAServeur/Context/DataSeeder.cs +++ b/EPAServeur/Context/DataSeeder.cs @@ -100,6 +100,10 @@ namespace EPAServeur.Context ChoixTypeEntretien choix1, choix2, choix3, choix4, choix5, choix6, choix7; + Objectif objectif1, objectif2, objectif3, objectif4, objectif5, objectif6, objectif7, objectif8, objectif9; + + ObjectifPrecedent objectifPrecedent1, objectifPrecedent2, objectifPrecedent3, objectifPrecedent4, objectifPrecedent5, objectifPrecedent6; + //Ep en cours Ep epEnCours1, epEnCours2, epEnCours3, epEnCours4, epEnCours5, epEnCours6, epEnCours7, epEnCours8, epEnCours9; @@ -237,6 +241,16 @@ namespace EPAServeur.Context }; epEnCours3.Participants = new List(new[] { p1, p2 }); + objectif1 = new Objectif() { Ep = epEnCours3, Libelle = "Objectif1" }; + objectif2 = new Objectif() { Ep = epEnCours3, Libelle = "Objectif2" }; + objectif3 = new Objectif() { Ep = epEnCours3, Libelle = "Objectif3" }; + + objectifPrecedent1 = new ObjectifPrecedent() { Ep = epEnCours3, Libelle = "ObjectifPrec1", Commentaire = "Commentaire", StatutObjectif = StatutObjectif.Atteint }; + objectifPrecedent2 = new ObjectifPrecedent() { Ep = epEnCours3, Libelle = "ObjectifPrec2", Commentaire = "Commentaire", StatutObjectif = StatutObjectif.Partiel }; + objectifPrecedent3 = new ObjectifPrecedent() { Ep = epEnCours3, Libelle = "ObjectifPrec3", Commentaire = "Commentaire", StatutObjectif = StatutObjectif.Partiel }; + epEnCours3.Objectifs = new List() { objectif1, objectif2, objectif3 }; + epEnCours3.ObjectifsPrecedents = new List() { objectifPrecedent1, objectifPrecedent2, objectifPrecedent3 }; + @@ -394,6 +408,11 @@ namespace EPAServeur.Context IdCollaborateur = new Guid("4f3fcd23-a1e4-4c9e-afa2-d06ca9216491"), Obligatoire = false, }; + objectif4 = new Objectif() { Ep = epEnCours7, Libelle = "Objectif4" }; + objectif5 = new Objectif() { Ep = epEnCours7, Libelle = "Objectif5" }; + objectif6 = new Objectif() { Ep = epEnCours7, Libelle = "Objectif6" }; + + epEnCours7.Objectifs = new List() { objectif4, objectif5, objectif6 }; epContext.Ep.Add(epEnCours7); epEnCours8 = new Ep() @@ -462,6 +481,17 @@ namespace EPAServeur.Context }; epSigne1.Engagements = new List(); epSigne1.Engagements.Add(eg4); + + objectif7 = new Objectif() { Ep = epSigne1, Libelle = "Objectif7" }; + objectif8 = new Objectif() { Ep = epSigne1, Libelle = "Objectif8" }; + objectif9 = new Objectif() { Ep = epSigne1, Libelle = "Objectif9" }; + + objectifPrecedent4 = new ObjectifPrecedent() { Ep = epSigne1, Libelle = "ObjectifPrec4", Commentaire = "Commentaire", StatutObjectif = StatutObjectif.NonAtteint }; + objectifPrecedent5 = new ObjectifPrecedent() { Ep = epSigne1, Libelle = "ObjectifPrec5", Commentaire = "Commentaire", StatutObjectif = StatutObjectif.NonAtteint }; + objectifPrecedent6 = new ObjectifPrecedent() { Ep = epSigne1, Libelle = "ObjectifPrec6", Commentaire = "Commentaire", StatutObjectif = StatutObjectif.Atteint }; + epSigne1.Objectifs = new List() { objectif7, objectif8, objectif9 }; + epSigne1.ObjectifsPrecedents = new List() { objectifPrecedent4, objectifPrecedent6, objectifPrecedent5 }; + epContext.Ep.Add(epSigne1); epSigne2 = new Ep() diff --git a/EPAServeur/IServices/ITransformDTO.cs b/EPAServeur/IServices/ITransformDTO.cs index 00be403..0e7ff86 100644 --- a/EPAServeur/IServices/ITransformDTO.cs +++ b/EPAServeur/IServices/ITransformDTO.cs @@ -83,8 +83,8 @@ namespace EPAServeur.IServices List GetRDVEntretienDTOs(List rdvEntretiens); List GetTypeEntretienDTOs(List choixTypeEntretiens); DocumentDTO GetDocumentDTO(Document document); - ObjectifDTO GetObjectifDTO(Objectif objectif); - ObjectifPrecedentDTO GetObjectifPrecedentDTO(ObjectifPrecedent objectifPrecedent); + List GetObjectifDTOs(List objectifs); + List GetObjectifPrecedentDTO(List objectifsPrecedents); diff --git a/EPAServeur/Services/EpDetailsService.cs b/EPAServeur/Services/EpDetailsService.cs index 313aa62..91abdb3 100644 --- a/EPAServeur/Services/EpDetailsService.cs +++ b/EPAServeur/Services/EpDetailsService.cs @@ -34,6 +34,8 @@ namespace EPAServeur.Services .Include(ep => ep.RdvEntretien).ThenInclude(rdv => rdv.TypeEntretien) .Include(ep => ep.PropositionsRDV).ThenInclude(rdv => rdv.TypeEntretien) .Include(ep => ep.ChoixTypeEntretien).ThenInclude( c => c.TypeEntretien) + .Include(ep => ep.Objectifs) + .Include(ep => ep.ObjectifsPrecedents) .FirstOrDefaultAsync(ep => ep.IdEP.Equals(id)); if (ep == null) throw new EpNotFoundException(); diff --git a/EPAServeur/Services/TransformDTO.cs b/EPAServeur/Services/TransformDTO.cs index 99cf8db..f29d3cd 100644 --- a/EPAServeur/Services/TransformDTO.cs +++ b/EPAServeur/Services/TransformDTO.cs @@ -67,7 +67,9 @@ namespace EPAServeur.Services DemandesDelegation = GetDemandeDelegationDTO(ep.DemandeDelegation, collaborateurDTOs), RdvEntretien = GetRDVEntretienDTO(ep.RdvEntretien), PropositionsEntretien = GetRDVEntretienDTOs(ep.PropositionsRDV), - ChoixTypeEntretien = GetTypeEntretienDTOs(ep.ChoixTypeEntretien) + ChoixTypeEntretien = GetTypeEntretienDTOs(ep.ChoixTypeEntretien), + Objectifs = GetObjectifDTOs(ep.Objectifs), + ObjectifsPrecedent = GetObjectifPrecedentDTO(ep.ObjectifsPrecedents) }; } @@ -530,15 +532,6 @@ namespace EPAServeur.Services return modeFormationDTO; } - public ObjectifDTO GetObjectifDTO(Objectif objectif) - { - throw new NotImplementedException(); - } - - public ObjectifPrecedentDTO GetObjectifPrecedentDTO(ObjectifPrecedent objectifPrecedent) - { - throw new NotImplementedException(); - } /// /// Transformer un objet OrigineFormationDTO en objet OrigineFormation. @@ -900,5 +893,29 @@ namespace EPAServeur.Services return engagement; } - } + + public List GetObjectifDTOs(List objectifs) + { + if (objectifs == null || !objectifs.Any()) + return null; + return objectifs.Select(o => new ObjectifDTO() + { + Id = o.IdObjectif, + Libelle = o.Libelle + }).ToList(); + } + + public List GetObjectifPrecedentDTO(List objectifsPrecedents) + { + if (objectifsPrecedents == null || !objectifsPrecedents.Any()) + return null; + return objectifsPrecedents.Select(o => new ObjectifPrecedentDTO() + { + Id = o.IdObjectif, + Libelle = o.Libelle, + StatutObjectif = o.StatutObjectif, + Commentaire = o.Commentaire + }).ToList(); + } + } }