Пример #1
0
        public async Task <Dictionary <ExchangeTitle, Trade[]> > GetCurrentTradeListsAsync()
        {
            var binanceTask  = Task.Run(async() => await binance.GetLastTradesAsync(Ticker.BtcUsd));
            var bitfinexTask = Task.Run(async() => await bitfinex.GetLastTradesAsync(Ticker.BtcUsd));
            var bitstampTask = Task.Run(async() => await bitstamp.GetLastTradesAsync(Ticker.BtcUsd));

            var tasks = new[] { binanceTask, bitfinexTask, bitstampTask };
            await Task.WhenAll(tasks);


            var result = new Dictionary <ExchangeTitle, Trade[]>
            {
                [ExchangeTitle.Binance]  = binanceTask.Result.IsSuccess ? binanceTask.Result.Value : new Trade[0],
                [ExchangeTitle.Bitfinex] = bitfinexTask.Result.IsSuccess ? bitfinexTask.Result.Value : new Trade[0],
                [ExchangeTitle.Bitstamp] = bitstampTask.Result.IsSuccess ? bitstampTask.Result.Value : new Trade[0],
            };

            return(result);
        }