- Api v1.0 #20
@ -14,7 +14,7 @@ public interface IServiceBase<T, TDto, TCreateDto, TUpdateDto>
|
||||
Task<IResponseDataModel<TDto>> GetByIdWithRelations(int id, params Expression<Func<T, object>>[] relationsAInclures); // préciser avec une ou des fonctions lambda les relations à inclure dans la réponse
|
||||
Task<IResponseDataModel<List<TDto>>> GetAllWithRelationsAsync(int pageNumber, int pageSize, params Expression<Func<T, object>>[] relationsAInclure);
|
||||
|
||||
Task<IResponseDataModel<PaginatedList<TDto>>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize,
|
||||
Task<IResponseDataModel<List<TDto>>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize,
|
||||
params Expression<Func<T, object>>[] includeProperties);
|
||||
Task<IResponseDataModel<T>> Create(TCreateDto dto);
|
||||
Task<IResponseDataModel<T>> Update(TUpdateDto dto);
|
||||
|
@ -269,11 +269,11 @@ public class ServiceBase<T, TDto, TCreateDto, TUpdateDto> : IServiceBase<T, TDto
|
||||
}
|
||||
}
|
||||
|
||||
public virtual async Task<IResponseDataModel<PaginatedList<TDto>>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize, params Expression<Func<T, object>>[] includeProperties)
|
||||
public virtual async Task<IResponseDataModel<List<TDto>>> SearchWithRelations(string searchTerm, int pageNumber, int pageSize, params Expression<Func<T, object>>[] includeProperties)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(searchTerm) || searchTerm.Length < 2)
|
||||
{
|
||||
return new ResponseDataModel<PaginatedList<TDto>>
|
||||
return new ResponseDataModel<List<TDto>>
|
||||
{
|
||||
Success = false,
|
||||
Message = "Le terme de recherche doit contenir au moins deux caractères.",
|
||||
@ -284,18 +284,15 @@ public class ServiceBase<T, TDto, TCreateDto, TUpdateDto> : IServiceBase<T, TDto
|
||||
try
|
||||
{
|
||||
var predicate = BuildSearchPredicate(searchTerm);
|
||||
var entities = await _repository.SearchAsync(predicate, pageNumber, pageSize, includeProperties);
|
||||
var dtos = _mapper.Map<List<TDto>>(entities);
|
||||
var totalCount = await _repository.CountAsync(predicate);
|
||||
|
||||
var response = new PaginatedList<TDto>(dtos, totalCount, pageNumber, pageSize);
|
||||
var response = await _repository.SearchAsync(predicate, pageNumber, pageSize, includeProperties);
|
||||
var dtos = _mapper.Map<List<TDto>>(response.Data);
|
||||
|
||||
return new ResponseDataModel<PaginatedList<TDto>>
|
||||
return new ResponseDataModel<List<TDto>>
|
||||
{
|
||||
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<T, TDto, TCreateDto, TUpdateDto> : IServiceBase<T, TDto
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Une erreur s'est produite lors de la recherche des entités.");
|
||||
return new ResponseDataModel<PaginatedList<TDto>>
|
||||
return new ResponseDataModel<List<TDto>>
|
||||
{
|
||||
Success = false,
|
||||
Message = "Une erreur s'est produite lors de la recherche des entités.",
|
||||
|
Loading…
x
Reference in New Issue
Block a user