Example #1
0
        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);
        }
Example #2
0
        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
                       ));
        }