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); }