public override async Task <TickersResponse> GetTickers(TickersRequest request, ServerCallContext context) { var entities = _tickersReader.Get(TickerEntity.GetPk()); List <TickerUpdate> result; if (entities.Any()) { result = _mapper.Map <List <TickerUpdate> >(entities); } else { var marketData = await _marketDataClient.GetMarketDataAsync(new Empty()); result = _mapper.Map <List <TickerUpdate> >(marketData.Items.ToList()); } if (request.AssetPairIds.Any()) { result = result.Where(x => request.AssetPairIds.Contains(x.AssetPairId, StringComparer.InvariantCultureIgnoreCase)) .ToList(); } var response = new TickersResponse(); response.Payload.AddRange(result); return(response); }
public override async Task <TickersResponse> GetTickers(TickersRequest request, ServerCallContext context) { var marketData = await _marketDataClient.GetMarketDataAsync(new Empty()); var items = marketData.Items.ToList(); if (request.AssetPairIds.Any()) { items = items.Where(x => request.AssetPairIds.Contains(x.AssetPairId, StringComparer.InvariantCultureIgnoreCase)) .ToList(); } var result = new TickersResponse(); result.Payload.AddRange(_mapper.Map <List <Ticker> >(items)); return(result); }