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()); }
public async Task <TradeOfferResponse> FiterTradeOffers(FilterTradeOffersRequest filterRequest) { var response = await _tradeOfferRepository.FilterTradeOffers(filterRequest); return(_mapper.Map <TradeOfferResponse>(response)); }
public async Task <IActionResult> FilterTradeOffers(FilterTradeOffersRequest filterRequest) { return(Ok(await _tradeOfferService.GetTradeOffers())); }