From 213c6c851a65e8734aac42c05992e37e130615dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yana=C3=ABl=20GRETTE?= Date: Mon, 22 Feb 2021 11:08:00 +0100 Subject: [PATCH] =?UTF-8?q?Ajouts=20des=20tests=20unitaires=20pour=20la=20?= =?UTF-8?q?r=C3=A9cup=C3=A9ration=20des=20EP=20en=20cours=20et=20des=20EP?= =?UTF-8?q?=20sign=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/EpInformationTests.cs | 435 ++++++++++++++++++ EPAServeur/IServices/IEpInformationService.cs | 10 +- EPAServeur/Services/EpInformationService.cs | 20 +- 3 files changed, 455 insertions(+), 10 deletions(-) create mode 100644 EPAServeur.Tests/Services/EpInformationTests.cs diff --git a/EPAServeur.Tests/Services/EpInformationTests.cs b/EPAServeur.Tests/Services/EpInformationTests.cs new file mode 100644 index 0000000..252bb42 --- /dev/null +++ b/EPAServeur.Tests/Services/EpInformationTests.cs @@ -0,0 +1,435 @@ +using EPAServeur.Context; +using EPAServeur.IServices; +using EPAServeur.Services; +using IO.Swagger.ApiCollaborateur; +using IO.Swagger.DTO; +using Microsoft.EntityFrameworkCore; +using NUnit.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EPAServeur.Tests.Services +{ + [TestFixture] + public class EpInformationTests + { + #region + private EpContext context; + private ICollaborateurService collaborateurService; + + #endregion + + #region Setup + [SetUp] + public void Setup() + { + // Utilisation d'une base de données en mémoire + var optionBuider = new DbContextOptionsBuilder() + .UseInMemoryDatabase("server_ep_test") + .Options; + + context = new EpContext(optionBuider); + + context.Database.EnsureDeleted(); + context.Database.EnsureCreated(); + context.SaveChanges(); + + // Ajout du jeu de données pour les tests + DataSeeder.AddEp(context); + + // Détache les entités du context car la base de données InMemory créé des conflits + // entre les clés primaires lors d'un Update ou d'un Insert + foreach (var entity in context.ChangeTracker.Entries()) + { + entity.State = EntityState.Detached; + } + collaborateurService = new CollaborateurService(new CollaborateurApi(), context); + } + #endregion + + #region Récupération des EP en cours + + [TestCase(1, 5)] //Tours + [TestCase(2, 3)] //Orléans + [TestCase(3, 6)] // Paris + public async Task GetEpEnCours_UneBU(long? idBUs, int nbElements) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List{ idBUs }, true, 1, 15, "", "", null, null); + int count = await epInformationService.GetEPEnCoursCount(new List { idBUs }, true, 1, 15, "", "", null, null); + Assert.AreEqual(count, nbElements); + Assert.AreEqual(count, epInformationDTOs.Count()); + foreach(EpInformationDTO ep in epInformationDTOs) + { + Assert.AreEqual(ep.Collaborateur.BusinessUnit.Id, idBUs); + } + } + + + public async Task GetEpEnCours_OrleansTours() + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1,2 }, true, 1, 15, "", "", null, null); + int count = await epInformationService.GetEPEnCoursCount(new List { 1, 2 }, true, 1, 15, "", "", null, null); + Assert.AreEqual(count, 8); + Assert.AreEqual(count, epInformationDTOs.Count()); + long? bu; + foreach(EpInformationDTO ep in epInformationDTOs) + { + bu = ep.Collaborateur.BusinessUnit.Id; + Assert.IsTrue(bu == 1 || bu == 2); + } + } + + //tri colonne + [TestCase("agence")] + [TestCase("collaborateur")] + [TestCase("referent")] + [TestCase("date")] + [TestCase("typeep")] + [TestCase("etatep")] + public async Task GetEpEnCours_TriColonneASC(string tri) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1, 2 }, true, 1, 15, "", tri, null, null); + EpInformationDTO ep1, ep2; + int compare = 0; + for(int i = 0; i < epInformationDTOs.Count()-1; ++i) + { + ep1 = epInformationDTOs.ElementAt(i); + ep2 = epInformationDTOs.ElementAt(i+1); + switch(tri) + { + case "agence": + compare = ep1.Collaborateur.BusinessUnit.Nom.CompareTo(ep2.Collaborateur.BusinessUnit.Nom); + break; + case "collaborateur": + compare = (ep1.Collaborateur.Nom + " " + ep1.Collaborateur.Prenom).CompareTo((ep2.Collaborateur.Nom + " " + ep2.Collaborateur.Prenom)); + break; + case "referent": + compare = (ep1.Referent.Nom + " " + ep1.Referent.Prenom).CompareTo((ep2.Referent.Nom + " " + ep2.Referent.Prenom)); + break; + case "date": + compare = ep1.DatePrevisionnelle.Value.CompareTo(ep2.DatePrevisionnelle.Value); + break; + case "typeep": + compare = ep1.Type.CompareTo(ep2.Type); + break; + case "etatep": + compare = ep1.Statut.CompareTo(ep2.Statut); + break; + } + Assert.IsTrue(compare <= 0); + } + } + + + //tri colonne + [TestCase("agence")] + [TestCase("collaborateur")] + [TestCase("referent")] + [TestCase("date")] + [TestCase("typeep")] + [TestCase("etatep")] + public async Task GetEpEnCours_TriColonneDESC(string tri) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1, 2 }, false, 1, 15, "", tri, null, null); + EpInformationDTO ep1, ep2; + int compare = 0; + for (int i = 0; i < epInformationDTOs.Count() - 1; ++i) + { + ep1 = epInformationDTOs.ElementAt(i); + ep2 = epInformationDTOs.ElementAt(i + 1); + switch (tri) + { + case "agence": + compare = ep1.Collaborateur.BusinessUnit.Nom.CompareTo(ep2.Collaborateur.BusinessUnit.Nom); + break; + case "collaborateur": + compare = (ep1.Collaborateur.Nom + " " + ep1.Collaborateur.Prenom).CompareTo(ep2.Collaborateur.Nom + " " + ep2.Collaborateur.Prenom); + break; + case "referent": + compare = (ep1.Referent.Nom + " " + ep1.Referent.Prenom).CompareTo((ep2.Referent.Nom + " " + ep2.Referent.Prenom)); + break; + case "date": + compare = ep1.DatePrevisionnelle.Value.CompareTo(ep2.DatePrevisionnelle.Value); + break; + case "typeep": + compare = ep1.Type.CompareTo(ep2.Type); + break; + case "etatep": + compare = ep1.Statut.CompareTo(ep2.Statut); + break; + } + Assert.IsTrue(compare >= 0); + } + } + + //tris date + [TestCase(01, 02, 2021)] + [TestCase(01, 03, 2021)] + [TestCase(01, 04, 2021)] + public async Task GetEpEnCours_TriDateD1(int j, int m, int a) + { + DateTime date = new DateTime(a, m, j); + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1, 2 }, true, 1, 15, "", "", date, null); + int count = await epInformationService.GetEPEnCoursCount(new List { 1, 2 }, true, 1, 15, "", "", date, null); + Assert.AreEqual(epInformationDTOs.Count(), count); + foreach(EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue(date <= ep.DatePrevisionnelle.Value); + } + } + + [TestCase(01, 04, 2021)] + [TestCase(01, 03, 2021)] + [TestCase(31, 01, 2021)] + public async Task GetEpEnCours_TriDateD2(int j, int m, int a) + { + DateTime date = new DateTime(a, m, j); IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1, 2 }, true, 1, 15, "", "", null, date); + int count = await epInformationService.GetEPEnCoursCount(new List { 1, 2 }, true, 1, 15, "", "", null, date); + Assert.AreEqual(epInformationDTOs.Count(), count); + foreach (EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue(date >= ep.DatePrevisionnelle.Value); + } + } + + [TestCase(01, 02, 2021, 28, 02, 2021)] + [TestCase(01, 02, 2021, 01, 04, 2021)] + [TestCase(15, 02, 2021, 15, 03, 2021)] + [TestCase(01, 01, 2021, 31, 01, 2021)] + [TestCase(01, 01, 2022, 31, 01, 2022)] + public async Task GetEpEnCours_TriDateD1D2(int j1, int m1, int a1, int j2, int m2, int a2) + { + DateTime date1 = new DateTime(a1, m1, j1); + DateTime date2 = new DateTime(a2, m2, j2); + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1, 2 }, true, 1, 15, "", "", date1, date2); + int count = await epInformationService.GetEPEnCoursCount(new List { 1, 2 }, true, 1, 15, "", "", date1, date2); + Assert.AreEqual(epInformationDTOs.Count(), count); + foreach (EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue(condition: date1 <= ep.DatePrevisionnelle.Value); + Assert.IsTrue(date2 >= ep.DatePrevisionnelle.Value); + } + } + + //Tri texte + [TestCase("")] + public async Task GetEpEnCours_texte(string texte) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + IEnumerable epInformationDTOs = await epInformationService.GetEPEnCours(new List { 1, 2 }, true, 1, 15, texte, "", null, null); + int count = await epInformationService.GetEPEnCoursCount(new List { 1, 2 }, true, 1, 15, texte, "", null, null); + Assert.AreEqual(count, epInformationDTOs.Count()); + foreach (EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue((ep.Collaborateur.Nom + " " + ep.Collaborateur.Prenom).Contains(texte)); + } + + } + + #endregion + + + #region Récupération des EP signés + [TestCase(1, 5)] //Tours + [TestCase(2, 4)] //Orléans + [TestCase(3, 5)] // Paris + public async Task GetEpSignes_UneBU(long? idBUs, int nbElements) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List{ idBUs }, true, 1, 15, "", "", null, null); + int count = await epInformationService.GetEPSignesCount(new List { idBUs }, true, 1, 15, "", "", null, null); + Assert.AreEqual(count, nbElements); + Assert.AreEqual(count, epInformationDTOs.Count()); + foreach(EpInformationDTO ep in epInformationDTOs) + { + Assert.AreEqual(ep.Collaborateur.BusinessUnit.Id, idBUs); + } + } + + + public async Task GetEpSignes_OrleansTours() + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1,2 }, true, 1, 15, "", "", null, null); + int count = await epInformationService.GetEPSignesCount(new List { 1, 2 }, true, 1, 15, "", "", null, null); + Assert.AreEqual(count, 8); + Assert.AreEqual(count, epInformationDTOs.Count()); + long? bu; + foreach(EpInformationDTO ep in epInformationDTOs) + { + bu = ep.Collaborateur.BusinessUnit.Id; + Assert.IsTrue(bu == 1 || bu == 2); + } + } + + //tri colonne + [TestCase("agence")] + [TestCase("collaborateur")] + [TestCase("referent")] + [TestCase("date")] + [TestCase("typeep")] + public async Task GetEpSignes_TriColonneASC(string tri) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1, 2 }, true, 1, 15, "", tri, null, null); + EpInformationDTO ep1, ep2; + int compare = 0; + for(int i = 0; i < epInformationDTOs.Count()-1; ++i) + { + ep1 = epInformationDTOs.ElementAt(i); + ep2 = epInformationDTOs.ElementAt(i+1); + switch(tri) + { + case "agence": + compare = ep1.Collaborateur.BusinessUnit.Nom.CompareTo(ep2.Collaborateur.BusinessUnit.Nom); + break; + case "collaborateur": + compare = (ep1.Collaborateur.Nom + " " + ep1.Collaborateur.Prenom).CompareTo((ep2.Collaborateur.Nom + " " + ep2.Collaborateur.Prenom)); + break; + case "referent": + compare = (ep1.Referent.Nom + " " + ep1.Referent.Prenom).CompareTo((ep2.Referent.Nom + " " + ep2.Referent.Prenom)); + break; + case "date": + compare = ep1.DatePrevisionnelle.Value.CompareTo(ep2.DatePrevisionnelle.Value); + break; + case "typeep": + compare = ep1.Type.CompareTo(ep2.Type); + break; + } + Assert.IsTrue(compare <= 0); + } + } + + + //tri colonne + [TestCase("agence")] + [TestCase("collaborateur")] + [TestCase("referent")] + [TestCase("date")] + [TestCase("typeep")] + public async Task GetEpSignes_TriColonneDESC(string tri) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1, 2 }, false, 1, 15, "", tri, null, null); + EpInformationDTO ep1, ep2; + int compare = 0; + for (int i = 0; i < epInformationDTOs.Count() - 1; ++i) + { + ep1 = epInformationDTOs.ElementAt(i); + ep2 = epInformationDTOs.ElementAt(i + 1); + switch (tri) + { + case "agence": + compare = ep1.Collaborateur.BusinessUnit.Nom.CompareTo(ep2.Collaborateur.BusinessUnit.Nom); + break; + case "collaborateur": + compare = (ep1.Collaborateur.Nom + " " + ep1.Collaborateur.Prenom).CompareTo(ep2.Collaborateur.Nom + " " + ep2.Collaborateur.Prenom); + break; + case "referent": + compare = (ep1.Referent.Nom + " " + ep1.Referent.Prenom).CompareTo((ep2.Referent.Nom + " " + ep2.Referent.Prenom)); + break; + case "date": + compare = ep1.DatePrevisionnelle.Value.CompareTo(ep2.DatePrevisionnelle.Value); + break; + case "typeep": + compare = ep1.Type.CompareTo(ep2.Type); + break; + case "etatep": + compare = ep1.Statut.CompareTo(ep2.Statut); + break; + } + Assert.IsTrue(compare >= 0); + } + } + + //tris date + [TestCase(01, 01, 2018)] + [TestCase(01, 01, 2019)] + [TestCase(01, 01, 2020)] + [TestCase(01, 01, 2021)] + [TestCase(01, 01, 2022)] + public async Task GetEpSignes_TriDateD1(int j, int m, int a) + { + DateTime date = new DateTime(a, m, j); + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1, 2 }, true, 1, 15, "", "", date, null); + int count = await epInformationService.GetEPSignesCount(new List { 1, 2 }, true, 1, 15, "", "", date, null); + Assert.AreEqual(epInformationDTOs.Count(), count); + foreach(EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue(date <= ep.DatePrevisionnelle.Value); + } + } + + [TestCase(31, 12, 2019)] + [TestCase(01, 01, 2019)] + [TestCase(31, 07, 2018)] + [TestCase(31, 07, 2017)] + public async Task GetEpSignes_TriDateD2(int j, int m, int a) + { + DateTime date = new DateTime(a, m, j); IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1, 2 }, true, 1, 15, "", "", null, date); + int count = await epInformationService.GetEPSignesCount(new List { 1, 2 }, true, 1, 15, "", "", null, date); + Assert.AreEqual(epInformationDTOs.Count(), count); + foreach (EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue(date >= ep.DatePrevisionnelle.Value); + } + } + + [TestCase(01, 07, 2021, 31, 12, 2021)] + [TestCase(01, 09, 2018, 01, 12, 2019)] + [TestCase(01, 01, 2018, 31, 12, 2019)] + [TestCase(01, 01, 2017, 31, 12, 2017)] + public async Task GetEpSignes_TriDateD1D2(int j1, int m1, int a1, int j2, int m2, int a2) + { + DateTime date1 = new DateTime(a1, m1, j1); + DateTime date2 = new DateTime(a2, m2, j2); + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1, 2 }, true, 1, 15, "", "", date1, date2); + int count = await epInformationService.GetEPSignesCount(new List { 1, 2 }, true, 1, 15, "", "", date1, date2); + Assert.AreEqual(epInformationDTOs.Count(), count); + foreach (EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue(condition: date1 <= ep.DatePrevisionnelle.Value); + Assert.IsTrue(date2 >= ep.DatePrevisionnelle.Value); + } + } + + //Tri texte + [TestCase("")] + public async Task GetEpSignes_texte(string texte) + { + IEpInformationService epInformationService = new EpInformationService(context, collaborateurService); + IEnumerable epInformationDTOs = await epInformationService.GetEPSignes(new List { 1, 2 }, true, 1, 15, texte, "", null, null); + int count = await epInformationService.GetEPSignesCount(new List { 1, 2 }, true, 1, 15, texte, "", null, null); + Assert.AreEqual(count, epInformationDTOs.Count()); + foreach (EpInformationDTO ep in epInformationDTOs) + { + Assert.IsTrue((ep.Collaborateur.Nom + " " + ep.Collaborateur.Prenom).Contains(texte)); + } + } + + #endregion + } +} diff --git a/EPAServeur/IServices/IEpInformationService.cs b/EPAServeur/IServices/IEpInformationService.cs index 807ce40..411d749 100644 --- a/EPAServeur/IServices/IEpInformationService.cs +++ b/EPAServeur/IServices/IEpInformationService.cs @@ -6,26 +6,26 @@ using System.Threading.Tasks; namespace EPAServeur.IServices { - interface IEpInformationService + 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, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); + Task GetEPEnCoursCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); Task> GetEPEnCoursCollaborateurParticipant(Guid? idCollaborateur); Task> GetEPEnCoursReferent(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); - Task> GetEPEnCoursReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); + Task GetEPEnCoursReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); Task> GetEPSignes(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); - Task> GetEPSignesCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); + Task GetEPSignesCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); Task> GetEPSignesCollaborateur(Guid? idCollaborateur); Task> GetEPSignesReferent(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); - Task> GetEPSignesReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); + Task GetEPSignesReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin); Task GetProchainEPCollaborateur(Guid? idCollaborateur); diff --git a/EPAServeur/Services/EpInformationService.cs b/EPAServeur/Services/EpInformationService.cs index c75f2ec..87ce8fb 100644 --- a/EPAServeur/Services/EpInformationService.cs +++ b/EPAServeur/Services/EpInformationService.cs @@ -1,4 +1,5 @@ -using EPAServeur.IServices; +using EPAServeur.Context; +using EPAServeur.IServices; using IO.Swagger.DTO; using System; using System.Collections.Generic; @@ -9,6 +10,15 @@ namespace EPAServeur.Services { public class EpInformationService : IEpInformationService { + private EpContext context; + private ICollaborateurService collaborateurService; + + public EpInformationService(EpContext context, ICollaborateurService collaborateurService) + { + this.context = context; + this.collaborateurService = collaborateurService; + } + public async Task> GetEPEnCours(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) { throw new NotImplementedException(); @@ -19,7 +29,7 @@ namespace EPAServeur.Services throw new NotImplementedException(); } - public async Task> GetEPEnCoursCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) + public async Task GetEPEnCoursCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) { throw new NotImplementedException(); } @@ -29,7 +39,7 @@ namespace EPAServeur.Services throw new NotImplementedException(); } - public async Task> GetEPEnCoursReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) + public async Task GetEPEnCoursReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) { throw new NotImplementedException(); } @@ -44,7 +54,7 @@ namespace EPAServeur.Services throw new NotImplementedException(); } - public async Task> GetEPSignesCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) + public async Task GetEPSignesCount(List idBUs, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) { throw new NotImplementedException(); } @@ -54,7 +64,7 @@ namespace EPAServeur.Services throw new NotImplementedException(); } - public async Task> GetEPSignesReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) + public async Task GetEPSignesReferentCount(Guid? idReferent, bool asc, int? numPage, int? parPage, string texte, string tri, DateTime? dateDebut, DateTime? dateFin) { throw new NotImplementedException(); }