private IQueryable <Coin> CreateCoinQuer(CoinRequestDto request) { var query = _coinRepository.GetAll() .WhereIf(request.Name.IsNullOrEmpty(), c => c.Name.Contains(request.Name)) .WhereIf(request.Symbol.IsNullOrEmpty(), x => x.Symbol == request.Symbol) .WhereIf(request.IsActive, x => x.IsActive); return(query); }
public async Task <PagedResultDto <CoinDto> > GetCoins(CoinRequestDto request) { var query = CreateCoinQuer(request); var count = await query.CountAsync(); var list = query .OrderBy(request.Sorting) .PageBy(request) .ToListAsync(); var result = ObjectMapper.Map <List <CoinDto> >(query); return(new PagedResultDto <CoinDto>( count, result )); }