Ejemplo n.º 1
0
        public TelegramManager(IServiceProvider serviceProvider, string apiToken, long chatId)
        {
            _apiToken        = apiToken;
            _services        = serviceProvider;
            _mainModel       = serviceProvider.GetRequiredService <IMainModel>();
            Settings         = serviceProvider.GetRequiredService <ISettingsProvider>().Settings;
            _logger          = (ILogger <TelegramManager>)serviceProvider.GetService(typeof(ILogger <TelegramManager>));
            _eventAggregator = (IEventAggregator2)serviceProvider.GetService(typeof(IEventAggregator2));
            try
            {
                _bot    = new TelegramBotClient(_apiToken);
                _chatId = chatId;

                _messageQueueLoopTask = Task.Factory
                                        .StartNew(() => BotMessageQueueLoopAsync()
                                                  .ConfigureAwait(false),
                                                  _cancellationTokenSource.Token,
                                                  TaskCreationOptions.LongRunning,
                                                  TaskScheduler.Default);
            }
            catch (Exception ex)
            {
                _logger.LogError("Telegram init error: {exception}", ex.Message);
            }
        }
Ejemplo n.º 2
0
        public MainModel(IServiceProvider serviceProvider, ILogger <MainModel> logger, ISettingsProvider settingsProvider, IEventAggregator2 eventAggregator)
        {
            _services         = serviceProvider;
            _logger           = logger;
            _settingsProvider = settingsProvider;
            _eventAggregator  = eventAggregator;

            LoadAppSettings();
        }
Ejemplo n.º 3
0
 public ArbitrageMonitoringStrategy(ISettingsProvider settingsProvider, IMainModel mainModel, StocksManager stocksManager,
                                    IEventAggregator2 eventAggregator, ILogger <ArbitrageMonitoringStrategy> logger, IUSADataManager usaDataManager)
 {
     StocksManager = stocksManager;
     Settings      = settingsProvider.Settings;
     SetChatId(Settings);
     MainModel   = mainModel;
     DataManager = usaDataManager;
     Logger      = logger;
     eventAggregator.SubscribeOnPublishedThread(this);
 }
Ejemplo n.º 4
0
        public USADataManager(ISettingsProvider settingsProvider, IMainModel mainModel, IEventAggregator2 eventAggregator)
        {
            _eventAggregator = eventAggregator;
            Settings         = settingsProvider.Settings;
            MainModel        = mainModel;
            _eventAggregator.SubscribeOnBackgroundThread(this);

            if (Settings.USAQuotesEnabled)
            {
                Run();
            }
        }
Ejemplo n.º 5
0
        public StocksManager(IServiceProvider services, IMainModel mainModel, ILogger <StocksManager> logger,
                             ISettingsProvider settingsProvider, IEventAggregator2 eventAggregator)
        {
            _settingsProvider = settingsProvider;
            _services         = services;
            _mainModel        = mainModel;
            _logger           = logger;
            EventAggregator   = eventAggregator;
            EventAggregator.Subscribe(this);

            Init();
        }
Ejemplo n.º 6
0
        public MainViewModel(IServiceProvider serviceProvider, ILogger <MainViewModel> logger, IEventAggregator2 eventAggregator,
                             ISettingsProvider settingsProvider, StatusViewModel status, AutoUpdate updater)
        {
            Updater           = updater;
            _services         = serviceProvider;
            _logger           = logger;
            _uiContext        = SynchronizationContext.Current;
            _settingsProvider = settingsProvider;
            _eventAggregator  = eventAggregator;
            Status            = status;

            LoadAppSettings();
            SettingsViewModel = new SettingsViewModel(_settingsProvider, this);
            CheckUpdates();
        }
Ejemplo n.º 7
0
 public RocketMonitoringStrategy(ISettingsProvider settingsProvider, IMainModel mainModel, StocksManager stocksManager, IEventAggregator2 eventAggregator, ILogger <RocketMonitoringStrategy> logger)
 {
     StocksManager = stocksManager;
     Settings      = settingsProvider.Settings;
     MainModel     = mainModel;
     Logger        = logger;
     eventAggregator.SubscribeOnPublishedThread(this);
 }
Ejemplo n.º 8
0
 public SettingsModel(ILogger <SettingsModel> logger, IEventAggregator2 eventAggregator) : base()
 {
     _eventAggregator = eventAggregator;
     _logger          = logger;
 }
Ejemplo n.º 9
0
 public StatusViewModel(IEventAggregator2 eventAggregator)
 {
     EventAggregator = eventAggregator;
     eventAggregator.SubscribeOnPublishedThread(this);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Subscribes an instance to all events declared through implementations of <see cref = "IHandler{T}" />.
 /// </summary>
 /// <remarks>The subscription is invoked on a new background thread.</remarks>
 /// <param name="eventAggregator"></param>
 /// <param name = "subscriber">The instance to subscribe for event publication.</param>
 public static void SubscribeOnBackgroundThread(this IEventAggregator2 eventAggregator, object subscriber)
 {
     eventAggregator.Subscribe(subscriber, f => Task.Factory.StartNew(f, default, TaskCreationOptions.None, TaskScheduler.Default));
Ejemplo n.º 11
0
 public static void Subscribe(this IEventAggregator2 eventAggregator, object subscriber)
 {
     eventAggregator.SubscribeOnPublishedThread(subscriber);
 }