using System; using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Knoks.Framework.DataAccess; using Knoks.Framework.Extentions; using System.Collections.Generic; using Knoks.CryptoExchanges; namespace KnoksExchangeTestApp { class Program { private static CryptoExchangeManager _exchanges; private static ILoggerFactory _loggerFactory = new LoggerFactory(); private static ILogger _logger = _loggerFactory.CreateLogger(); private static bool _isAlive = true; static void Main(string[] args) { try { Console.CancelKeyPress += Console_CancelKeyPress; _exchanges = new CryptoExchangeManager(); _exchanges.StartExchangesRequest(); while (_isAlive) { } } catch (Exception exxot) { _logger.LogError(exxot, "Pabam! We failed. Press any key to close"); } finally { _exchanges = null; } _logger.LogInformation("Tender Events Dispatcher exited."); Console.WriteLine($"{Environment.NewLine}Press Enter to exit{Environment.NewLine}"); Console.ReadLine(); } private static void Console_CancelKeyPress(object sender, ConsoleCancelEventArgs e) { e.Cancel = true; _exchanges.StopExchangesRequest().Wait(); _isAlive = false; } } }