diff --git a/EPAServeur/Services/DemandeFormationService.cs b/EPAServeur/Services/DemandeFormationService.cs index 1da2421..33f345b 100644 --- a/EPAServeur/Services/DemandeFormationService.cs +++ b/EPAServeur/Services/DemandeFormationService.cs @@ -120,6 +120,7 @@ namespace EPAServeur.Services .Include(demandeFormation => demandeFormation.ParticipationFormation) .ThenInclude(participationFormation => participationFormation.Formation); + query = StatutEpFilter(query); query = EtatsDemandeFilter(query, etatsDemande); query = IdBUsFilter(query, idBUs); query = DateFilter(query, dateDebut, dateFin); @@ -159,6 +160,7 @@ namespace EPAServeur.Services .Include(demandeFormation => demandeFormation.ParticipationFormation) .ThenInclude(participationFormation => participationFormation.Formation); + query = StatutEpFilter(query); query = EtatsDemandeFilter(query, etatsDemande); query = IdBUsFilter(query, idBUs); query = DateFilter(query, dateDebut, dateFin); @@ -486,6 +488,19 @@ namespace EPAServeur.Services return query.OrderByDescending(p => p.Collaborateur.Nom); } + /// + /// Ajouter un filtre pour récupérer les demandes de formation en fonction du statut de l'EP. + /// + /// + /// + /// + private IQueryable StatutEpFilter(IQueryable query) + { + IEnumerable statutsEp = Enum.GetValues(typeof(StatutEp)).Cast().Where(statut => statut == StatutEp.Cree || EstEpEnCours(statut)); + + return query.Where(demandeFormation => statutsEp.Contains(demandeFormation.Ep.Statut)); + } + /// /// Ajouter un filtre pour récupérer les demandes de formation en fonction de plusieurs états de demande. ///