diff --git a/EPAServeur/Controllers/DemandesFormationApi.cs b/EPAServeur/Controllers/DemandesFormationApi.cs
index 481eb87..8ee3a47 100644
--- a/EPAServeur/Controllers/DemandesFormationApi.cs
+++ b/EPAServeur/Controllers/DemandesFormationApi.cs
@@ -134,7 +134,7 @@ namespace IO.Swagger.Controllers
/// Une erreur est survenue sur le serveur
[HttpDelete]
[Route("/api/demandesformation/{idDemandeFormation}")]
- [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
+ //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[SwaggerOperation("DeleteDemandeFormation")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
@@ -226,6 +226,7 @@ namespace IO.Swagger.Controllers
/// Récupérer la liste des demandes de formation.
/// Liste des états des demandes à afficher
/// liste des ids des BU auxquelles les données sont rattachées
+ /// Liste des statuts d'EP auxquelles les données sont rattachées
/// Indique si les données sont récupérées dans l'ordre croissant ou non
/// Numéro de la page du tableau à afficher
/// Nombre d’élément maximum à afficher dans le tableau
@@ -239,14 +240,14 @@ namespace IO.Swagger.Controllers
/// Une erreur est survenue sur le serveur
[HttpGet]
[Route("/api/demandesformation")]
- [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
+ //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[SwaggerOperation("GetDemandesFormation")]
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
[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 GetDemandesFormation([FromQuery] List etatsDemande, [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 GetDemandesFormation([FromQuery] List etatsDemande, [FromQuery] List idBUs, [FromQuery] List statutsEp, [FromQuery] bool? asc, [FromQuery] int? numPage, [FromQuery][Range(5, 100)] int? parPAge, [FromQuery] string texte, [FromQuery] string tri, [FromQuery] DateTime? dateDebut, [FromQuery] DateTime? dateFin)
{
if (env.IsDevelopment())
logger.LogInformation("Récupération de la liste des demandes de formation.");
@@ -255,7 +256,7 @@ namespace IO.Swagger.Controllers
try
{
- demandeFormations = await demandeFormationService.GetDemandesFormationAsync(etatsDemande, idBUs, asc, numPage, parPAge, texte, tri, dateDebut, dateFin);
+ demandeFormations = await demandeFormationService.GetDemandesFormationAsync(etatsDemande, idBUs, statutsEp, asc, numPage, parPAge, texte, tri, dateDebut, dateFin);
}
catch (Exception e)
{
@@ -282,6 +283,7 @@ namespace IO.Swagger.Controllers
/// Récupérer le nombre total de demandes de formation.
/// Liste des états des demandes à afficher
/// liste des ids des BU auxquelles les données sont rattachées
+ /// Liste des statuts d'EP auxquelles les données sont rattachées
/// Texte permettant de filtrer les données
/// Date à partir de laquelle les données son récupérées
/// Date jusqu'à laquelle les données sont récupérées
@@ -291,14 +293,14 @@ namespace IO.Swagger.Controllers
/// Une erreur est survenue sur le serveur
[HttpGet]
[Route("/api/demandesformation/count")]
- [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
+ //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[SwaggerOperation("GetDemandesFormationCount")]
[SwaggerResponse(statusCode: 200, type: typeof(long?), description: "OK")]
[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 GetDemandesFormationCount([FromQuery] List etatsDemande, [FromQuery] List idBUs, [FromQuery] string texte, [FromQuery] DateTime? dateDebut, [FromQuery] DateTime? dateFin)
+ public virtual async Task GetDemandesFormationCount([FromQuery] List etatsDemande, [FromQuery] List idBUs, [FromQuery] List statutsEp, [FromQuery] string texte, [FromQuery] DateTime? dateDebut, [FromQuery] DateTime? dateFin)
{
if (env.IsDevelopment())
logger.LogInformation("Récupération du nombre total de demandes de formation.");
@@ -307,7 +309,7 @@ namespace IO.Swagger.Controllers
try
{
- count = await demandeFormationService.GetDemandesFormationCountAsync(etatsDemande, idBUs, texte, dateDebut, dateFin);
+ count = await demandeFormationService.GetDemandesFormationCountAsync(etatsDemande, idBUs, statutsEp, texte, dateDebut, dateFin);
}
catch (Exception e)
{
@@ -338,7 +340,7 @@ namespace IO.Swagger.Controllers
/// Une erreur est survenue sur le serveur
[HttpGet]
[Route("/api/originesdemandeformation")]
- [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
+ //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[SwaggerOperation("GetOriginesDemandeFormation")]
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
@@ -389,7 +391,7 @@ namespace IO.Swagger.Controllers
/// Une erreur est survenue sur le serveur
[HttpPut]
[Route("/api/demandesformation/{idDemandeFormation}")]
- [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
+ //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[SwaggerOperation("UpdateDemandeFormation")]
[SwaggerResponse(statusCode: 200, type: typeof(DemandeFormationDTO), description: "demande formation mise à jour")]
diff --git a/EPAServeur/IServices/IDemandeFormationService.cs b/EPAServeur/IServices/IDemandeFormationService.cs
index e2613c1..579bb01 100644
--- a/EPAServeur/IServices/IDemandeFormationService.cs
+++ b/EPAServeur/IServices/IDemandeFormationService.cs
@@ -12,8 +12,8 @@ namespace EPAServeur.IServices
public interface IDemandeFormationService
{
Task> GetOriginesDemandeFormationAsync();
- Task> GetDemandesFormationAsync(List etatsDemande, List idBUs, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin);
- Task GetDemandesFormationCountAsync(List etatsDemande, List idBUs, string texte, DateTime? dateDebut, DateTime? dateFin);
+ Task> GetDemandesFormationAsync(List etatsDemande, List idBUs, List statutsEp, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin);
+ Task GetDemandesFormationCountAsync(List etatsDemande, List idBUs, List statutsEp, string texte, DateTime? dateDebut, DateTime? dateFin);
Task AddDemandeFormationAsync(DemandeFormationDTO demandeFormationDTO);
Task UpdateDemandeFormationAsync(long idDemandeFormation, DemandeFormationDTO demandeFormationDTO);
Task DeleteDemandeFormationAsync(long idDemandeFormation);
diff --git a/EPAServeur/Services/DemandeFormationService.cs b/EPAServeur/Services/DemandeFormationService.cs
index 33f345b..208a63d 100644
--- a/EPAServeur/Services/DemandeFormationService.cs
+++ b/EPAServeur/Services/DemandeFormationService.cs
@@ -99,6 +99,7 @@ namespace EPAServeur.Services
///
/// Liste des états des demandes à afficher
/// liste des ids des BU auxquelles les données sont rattachées
+ /// Liste des statuts d'EP auxquelles les données sont rattachées
/// Indique si les données sont récupérées dans l'ordre croissant ou non
/// Numéro de la page du tableau à afficher
/// Nombre d’élément maximum à afficher dans le tableau
@@ -107,7 +108,7 @@ namespace EPAServeur.Services
/// Date à partir de laquelle les données son récupérées
/// Date jusqu'à laquelle les données sont récupérées
///
- public async Task> GetDemandesFormationAsync(List etatsDemande, List idBUs, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin)
+ public async Task> GetDemandesFormationAsync(List etatsDemande, List idBUs, List statutsEp, bool? asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin)
{
IQueryable query;
IEnumerable demandeFormations;
@@ -120,7 +121,7 @@ namespace EPAServeur.Services
.Include(demandeFormation => demandeFormation.ParticipationFormation)
.ThenInclude(participationFormation => participationFormation.Formation);
- query = StatutEpFilter(query);
+ query = StatutEpFilter(query, statutsEp);
query = EtatsDemandeFilter(query, etatsDemande);
query = IdBUsFilter(query, idBUs);
query = DateFilter(query, dateDebut, dateFin);
@@ -143,11 +144,12 @@ namespace EPAServeur.Services
///
/// Liste des états des demandes à afficher
/// liste des ids des BU auxquelles les données sont rattachées
+ /// Liste des statuts d'EP auxquelles les données sont rattachées
/// Texte permettant de filtrer les données
/// Date à partir de laquelle les données son récupérées
/// Date jusqu'à laquelle les données sont récupérées
///
- public async Task GetDemandesFormationCountAsync(List etatsDemande, List idBUs, string texte, DateTime? dateDebut, DateTime? dateFin)
+ public async Task GetDemandesFormationCountAsync(List etatsDemande, List idBUs, List statutsEp, string texte, DateTime? dateDebut, DateTime? dateFin)
{
IQueryable query;
IEnumerable demandeFormations;
@@ -160,7 +162,7 @@ namespace EPAServeur.Services
.Include(demandeFormation => demandeFormation.ParticipationFormation)
.ThenInclude(participationFormation => participationFormation.Formation);
- query = StatutEpFilter(query);
+ query = StatutEpFilter(query, statutsEp);
query = EtatsDemandeFilter(query, etatsDemande);
query = IdBUsFilter(query, idBUs);
query = DateFilter(query, dateDebut, dateFin);
@@ -492,13 +494,14 @@ namespace EPAServeur.Services
/// Ajouter un filtre pour récupérer les demandes de formation en fonction du statut de l'EP.
///
///
- ///
+ ///
///
- private IQueryable StatutEpFilter(IQueryable query)
+ private IQueryable StatutEpFilter(IQueryable query, List statutsEp)
{
- IEnumerable statutsEp = Enum.GetValues(typeof(StatutEp)).Cast().Where(statut => statut == StatutEp.Cree || EstEpEnCours(statut));
-
- return query.Where(demandeFormation => statutsEp.Contains(demandeFormation.Ep.Statut));
+ if (statutsEp != null && statutsEp.Count > 0)
+ return query.Where(demandeFormation => statutsEp.Contains(demandeFormation.Ep.Statut));
+ else
+ return query;
}
///