protected override async Task <CryptoCurrencyListQueryResponse> Run(CryptoCurrencyListQuery request, CancellationToken cancellationToken) { var result = new CryptoCurrencyListQueryResponse(); var unitOfWork = _cryptoRepository.UnitOfWork; var query = _cryptoRepository.GetQueryable(); result.TotalCount = query.Count(); result.Entities = await query.OrderBy(x => x.CoinMarketCapId).Skip(request.Skip).Take(request.Take) .Select(x => MapToResponseItem(x)).ToListAsync(cancellationToken); await unitOfWork.Commit(cancellationToken); return(result); }