Implémentation de la possibilité de ne récupérer que les EP obligatoires

develop
Yanaël GRETTE 4 years ago
parent f8ba6c6237
commit fdda245aad
  1. 8
      EPAServeur/Controllers/EpApi.cs
  2. 4
      EPAServeur/IServices/IEpInformationService.cs
  3. 10
      EPAServeur/Services/EpInformationService.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<IActionResult> GetEPEnCours([FromQuery]List<long?> 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<IActionResult> GetEPEnCours([FromQuery]List<long?> 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<EpInformationDTO> 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&#x27;utilisateur souhaitant accéder à la ressource n&#x27;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<IActionResult> GetEPEnCoursCount([FromQuery]List<long?> idBUs, [FromQuery]string texte, [FromQuery]DateTime? dateDebut, [FromQuery]DateTime? dateFin)
public virtual async Task<IActionResult> GetEPEnCoursCount([FromQuery]List<long?> 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)
{

@ -8,8 +8,8 @@ namespace EPAServeur.IServices
{
public interface IEpInformationService
{
Task<IEnumerable<EpInformationDTO>> GetEPEnCours(List<long?> idBUs, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin);
Task<int> GetEPEnCoursCount(List<long?> idBUs, string texte, DateTime? dateDebut, DateTime? dateFin);
Task<IEnumerable<EpInformationDTO>> GetEPEnCours(List<long?> idBUs, bool? asc, int? numPage, int? parPage, string texte, bool? epObligatoire, string tri, DateTime? dateDebut, DateTime? dateFin);
Task<int> GetEPEnCoursCount(List<long?> idBUs, string texte, bool? epObligatoire, DateTime? dateDebut, DateTime? dateFin);
Task<IEnumerable<EpInformationDTO>> GetEPEnCoursCollaborateurParticipant(Guid? idCollaborateur);

@ -55,20 +55,22 @@ namespace EPAServeur.Services
#region Services async
public async Task<IEnumerable<EpInformationDTO>> GetEPEnCours(List<long?> idBUs, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin)
public async Task<IEnumerable<EpInformationDTO>> GetEPEnCours(List<long?> idBUs, bool? asc, int? numPage, int? parPage, string texte, bool? epObligatoire, string tri, DateTime? dateDebut, DateTime? dateFin)
{
IEnumerable<Ep> 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<int> GetEPEnCoursCount(List<long?> idBUs, string texte, DateTime? dateDebut, DateTime? dateFin)
public async Task<int> GetEPEnCoursCount(List<long?> idBUs, string texte, bool? epObligatoire, DateTime? dateDebut, DateTime? dateFin)
{
IEnumerable<Ep> 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);
}

Loading…
Cancel
Save