diff --git a/EPAServeur/Controllers/EpApi.cs b/EPAServeur/Controllers/EpApi.cs index 5b07b0a..79501a7 100644 --- a/EPAServeur/Controllers/EpApi.cs +++ b/EPAServeur/Controllers/EpApi.cs @@ -189,12 +189,12 @@ namespace IO.Swagger.Controllers [SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")] [SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")] [SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")] - public virtual async Task GetEPEnCours([FromQuery]List idBUs, [FromQuery]bool? asc, [FromQuery]int? numPage, [FromQuery][Range(5, 100)]int? parPage, [FromQuery]string texte, [FromQuery]string tri, [FromQuery]DateTime? dateDebut, [FromQuery]DateTime? dateFin) + public virtual async Task GetEPEnCours([FromQuery]List idBUs, [FromQuery]bool? asc, [FromQuery]int? numPage, [FromQuery][Range(5, 100)]int? parPage, [FromQuery]string texte, [FromQuery] bool? epObligatoire, [FromQuery]string tri, [FromQuery]DateTime? dateDebut, [FromQuery]DateTime? dateFin) { IEnumerable epEnCours; try { - epEnCours = await epInformationService.GetEPEnCours(idBUs, asc, numPage, parPage, texte, tri, dateDebut, dateFin); + epEnCours = await epInformationService.GetEPEnCours(idBUs, asc, numPage, parPage, texte, epObligatoire, tri, dateDebut, dateFin); } catch (ApiException e) { @@ -351,12 +351,12 @@ namespace IO.Swagger.Controllers [SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")] [SwaggerResponse(statusCode: 403, type: typeof(ErreurDTO), description: "L’utilisateur souhaitant accéder à la ressource n’a pas les droits d’accès suffisants")] [SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")] - public virtual async Task GetEPEnCoursCount([FromQuery]List idBUs, [FromQuery]string texte, [FromQuery]DateTime? dateDebut, [FromQuery]DateTime? dateFin) + public virtual async Task GetEPEnCoursCount([FromQuery]List idBUs, [FromQuery]string texte, [FromQuery]bool? epObligatoire, [FromQuery]DateTime? dateDebut, [FromQuery]DateTime? dateFin) { int nbEpEnCours; try { - nbEpEnCours = await epInformationService.GetEPEnCoursCount(idBUs, texte, dateDebut, dateFin); + nbEpEnCours = await epInformationService.GetEPEnCoursCount(idBUs, texte, epObligatoire, dateDebut, dateFin); } catch (ApiException e) { diff --git a/EPAServeur/IServices/IEpInformationService.cs b/EPAServeur/IServices/IEpInformationService.cs index bbc854e..1b163f2 100644 --- a/EPAServeur/IServices/IEpInformationService.cs +++ b/EPAServeur/IServices/IEpInformationService.cs @@ -8,8 +8,8 @@ namespace EPAServeur.IServices { public interface IEpInformationService { - Task> GetEPEnCours(List idBUs, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); - Task GetEPEnCoursCount(List idBUs, string texte, DateTime? dateDebut, DateTime? dateFin); + Task> GetEPEnCours(List idBUs, bool? asc, int? numPage, int? parPage, string texte, bool? epObligatoire, string tri, DateTime? dateDebut, DateTime? dateFin); + Task GetEPEnCoursCount(List idBUs, string texte, bool? epObligatoire, DateTime? dateDebut, DateTime? dateFin); Task> GetEPEnCoursCollaborateurParticipant(Guid? idCollaborateur); diff --git a/EPAServeur/Services/EpInformationService.cs b/EPAServeur/Services/EpInformationService.cs index d243893..79c52d8 100644 --- a/EPAServeur/Services/EpInformationService.cs +++ b/EPAServeur/Services/EpInformationService.cs @@ -55,20 +55,22 @@ namespace EPAServeur.Services #region Services async - public async Task> GetEPEnCours(List idBUs, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) + public async Task> GetEPEnCours(List idBUs, bool? asc, int? numPage, int? parPage, string texte, bool? epObligatoire, string tri, DateTime? dateDebut, DateTime? dateFin) { IEnumerable eps = context.Ep.Where(ep => idBUs.Contains(ep.IdBu)).AsEnumerable().Where(ep => EstEpEnCours(ep.Statut)); - + if (epObligatoire.HasValue && epObligatoire.Value) + eps = eps.Where(ep => ep.Obligatoire); return await GetEpInformationDTOs(eps, asc, numPage, parPage, texte, tri, dateDebut, dateFin); } - public async Task GetEPEnCoursCount(List idBUs, string texte, DateTime? dateDebut, DateTime? dateFin) + public async Task GetEPEnCoursCount(List idBUs, string texte, bool? epObligatoire, DateTime? dateDebut, DateTime? dateFin) { IEnumerable eps = context.Ep.Where(ep => idBUs.Contains(ep.IdBu)).AsEnumerable().Where(ep => EstEpEnCours(ep.Statut)); - + if (epObligatoire.HasValue && epObligatoire.Value) + eps = eps.Where(ep => ep.Obligatoire); return await GetEpInformationDTOsCount(eps, texte, dateDebut, dateFin); }