コード例 #1
0
ファイル: UpdateTickers.cs プロジェクト: brentatkins/yakse
        protected override async Task Handle(UpdateTickers request, CancellationToken cancellationToken)
        {
            var stocks = await _repository.All <Stock>();

            var stockSymbols = stocks.Select(s => s.Symbol).ToArray();

            var tickers = await _marketDataProvider.GetIntradayPrice(stockSymbols);

            foreach (var stockTick in tickers)
            {
                var stock = stocks.Single(x => x.Symbol == stockTick.Symbol);
                stock.RecordPrice(stockTick);
                await _repository.Update(stock);

                await _mediator.Publish(new StockPriceUpdatedEvent(stock.Symbol, stockTick.Last));
            }
        }