From 9803ef0af6618209db9c7fdb065daecfd51c6ad2 Mon Sep 17 00:00:00 2001 From: BuzzLeclair Date: Sat, 8 Mar 2025 18:57:22 +0100 Subject: [PATCH] - Changement du typage --- ldap-cesi/Services/Interfaces/IServiceBase.cs | 2 +- ldap-cesi/Services/ServiceBase.cs | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/ldap-cesi/Services/Interfaces/IServiceBase.cs b/ldap-cesi/Services/Interfaces/IServiceBase.cs index c00afe3..db8cb40 100644 --- a/ldap-cesi/Services/Interfaces/IServiceBase.cs +++ b/ldap-cesi/Services/Interfaces/IServiceBase.cs @@ -14,7 +14,7 @@ public interface IServiceBase Task> GetByIdWithRelations(int id, params Expression>[] relationsAInclures); // préciser avec une ou des fonctions lambda les relations à inclure dans la réponse Task>> GetAllWithRelationsAsync(int pageNumber, int pageSize, params Expression>[] relationsAInclure); - Task>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize, + Task>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize, params Expression>[] includeProperties); Task> Create(TCreateDto dto); Task> Update(TUpdateDto dto); diff --git a/ldap-cesi/Services/ServiceBase.cs b/ldap-cesi/Services/ServiceBase.cs index e61c6a6..20908ea 100644 --- a/ldap-cesi/Services/ServiceBase.cs +++ b/ldap-cesi/Services/ServiceBase.cs @@ -269,11 +269,11 @@ public class ServiceBase : IServiceBase>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize, params Expression>[] includeProperties) + public virtual async Task>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize, params Expression>[] includeProperties) { if (string.IsNullOrWhiteSpace(searchTerm) || searchTerm.Length < 2) { - return new ResponseDataModel> + return new ResponseDataModel> { Success = false, Message = "Le terme de recherche doit contenir au moins deux caractères.", @@ -284,18 +284,15 @@ public class ServiceBase : IServiceBase>(entities); - var totalCount = await _repository.CountAsync(predicate); - - var response = new PaginatedList(dtos, totalCount, pageNumber, pageSize); + var response = await _repository.SearchAsync(predicate, pageNumber, pageSize, includeProperties); + var dtos = _mapper.Map>(response.Data); - return new ResponseDataModel> + return new ResponseDataModel> { Success = true, - Data = response, + Data = dtos, TotalPages = response.TotalPages, - TotalCount = response.TotalCount, + TotalCount = response.TotalItems, StatusCode = 200, Message = "Recherche effectuée avec succès." }; @@ -303,7 +300,7 @@ public class ServiceBase : IServiceBase> + return new ResponseDataModel> { Success = false, Message = "Une erreur s'est produite lors de la recherche des entités.", -- 2.39.5