Esempio n. 1
0
        public void AddTradingData(List <GetTradingDataResponse> tradingData)
        {
            var trades = tradingData
                         .Where(td => !cryptocompareUnsupportedCoins.Contains(td.Maker) && !cryptocompareUnsupportedCoins.Contains(td.Taker))
                         .Select(td =>
            {
                var coinPrices = _coinPriceService.GetCoinPrice(new List <string> {
                    td.Maker.ToUpper()
                }, new List <string> {
                    "BLOCK", "USD", "BTC"
                });
                var priceBLOCK = coinPrices[td.Maker]["BLOCK"];
                var priceBTC   = coinPrices[td.Maker]["BTC"];
                var priceUSD   = coinPrices[td.Maker]["USD"];

                return(new Trade
                {
                    TradeId = td.Id,
                    Timestamp = td.Timestamp,
                    FeeTxId = td.FeeTxId,
                    MakerId = td.Maker,
                    MakerSize = td.MakerSize,
                    NodePubKey = td.NodePubKey,
                    TakerId = td.Taker,
                    TakerSize = td.TakerSize,
                    PriceBLOCK = priceBLOCK,
                    PriceBTC = priceBTC,
                    PriceUSD = priceUSD
                });
            });


            _context.Trades.AddRange(trades);
        }