public async Task Start() { ExchangeMonitorConfig config = new ExchangeMonitorConfig( ExchangeName.Binance, ExchangeName.Cryptopia, ExchangeName.Kucoin, //ExchangeName.AEX, ExchangeName.GDax, ExchangeName.Idex ); IList <IList <object> > settings = await sheet.Read(settingsTab, "A:A"); List <string> blacklist = new List <string>(); foreach (var row in settings) { object blacklistData = row.FirstOrDefault(); if (blacklistData == null) { continue; } blacklist.Add((string)blacklistData); } config.BlacklistCoins(blacklist.ToArray()); exchangeMonitor = new ExchangeMonitor(config); RefreshTimer_Elapsed(null, null); }
void RefreshTimer_Elapsed( object sender, ElapsedEventArgs e) { IList <IList <object> > data = sheet.Read(tab, "A2:A"); List <Coin> allCoinList = exchangeMonitor.allCoins.ToList(); List <string[]> results = new List <string[]>(); for (int i = 0; i < data.Count; i++) { results.Add(DescribeCoin(data[i][0], out Coin coin).ToArray()); if (coin != null) { allCoinList.Remove(coin); } } for (int i = 0; i < allCoinList.Count; i++) { // All all remaining coins results.Add(DescribeCoin(allCoinList[i].fullName, out Coin coin).ToArray()); } sheet.Write(tab, "A2", results); IList <IList <object> > alarmData = sheet.Read(tab, "E2:E"); for (int i = 0; i < alarmData.Count; i++) { if (alarmData[i].Count <= 0) { continue; } if (alarmData[i][0].ToString().Equals("TRUE", StringComparison.InvariantCultureIgnoreCase)) { SoundPlayer player = new SoundPlayer( @"d:\\StreamAssets\\HeyLISTEN.wav"); player.Play(); } } Console.Write("."); refreshTimer.Start(); }