/// <inheritdoc/> public async Task <ListQueryResult <TReturn> > Handle(ListQuery <TReturn> request, CancellationToken cancellationToken) { try { request.ValidateModel(); var entities = await repository.AnyAsync( request.Skip, request.Take, request.SortOrder); var data = mapper.Map <IEnumerable <TReturn> >(entities) ?? throw new InvalidOperationException($"Mapping {typeof(TEntity)} to {typeof(TReturn)}"); var totalElements = await repository.CountAsync(); return(new ListQueryResult <TReturn>( data, totalElements, request.Skip, request.Take, request.SortOrder, request.Draw)); } catch (Exception ex) { Logger.Error(ex); throw; } }