예제 #1
0
        public async Task <List <TradeOffer> > FilterTradeOffers(FilterTradeOffersRequest filterRequest)
        {
            var query = Table;

            var statIds = new List <long>();

            foreach (ItemStatFilter filter in filterRequest.ItemStats)
            {
                statIds.Add(filter.Id);
            }

            if (statIds.Any())
            {
                query.Include(x => x.ItemStats.Where(x => statIds.Contains(x.ItemStatId)));
            }

            if (filterRequest.AccountName != null)
            {
                query.Where(x => x.AccountName == filterRequest.AccountName);
            }

            query.Skip(filterRequest.Page * 30).Take(30);
            query.ProjectTo <TradeOfferResponse>(_mapper.ConfigurationProvider);

            return(await query.ToListAsync());
        }
예제 #2
0
        public async Task <TradeOfferResponse> FiterTradeOffers(FilterTradeOffersRequest filterRequest)
        {
            var response = await _tradeOfferRepository.FilterTradeOffers(filterRequest);

            return(_mapper.Map <TradeOfferResponse>(response));
        }
예제 #3
0
 public async Task <IActionResult> FilterTradeOffers(FilterTradeOffersRequest filterRequest)
 {
     return(Ok(await _tradeOfferService.GetTradeOffers()));
 }