public void SetupTests() { m_utilities.OnError += utilities_OnError; m_utilities.OnInfo += utilities_OnInfo; LoggingUtilities.OnError += utilities_OnError; LoggingUtilities.OnInfo += utilities_OnInfo; // get Hugo connection DBAccess dbAccess = DBAccess.GetDBAccessOfTheCurrentUser("Reconciliation"); m_utilities.Init(dbAccess.GetConnection("Hugo")); m_utilities.StartMonitor(); }
private void buttonStart_Click(object sender, EventArgs e) { buttonStart.Enabled = false; if (m_utilities.StartMonitor()) { comboBoxAccount.DataSource = m_utilities.GetAllAccountPortfolios(); comboBoxAccount.DisplayMember = "AccountName"; foreach (AccountPortfolio account in comboBoxAccount.Items) { account.OnRefresh += Account_OnRefresh; } } EnableControls(); }
public void Run() { // initialize logging log4net.Config.XmlConfigurator.Configure(); PositionMonitorUtilities.OnInfo += Utilities_OnInfo; PositionMonitorUtilities.OnError += Utilities_OnError; PositionMonitorUtilities.OnDebug += Utilities_OnInfo; PositionMonitorUtilities.OnMonitorStopped += Utilities_OnMonitorStopped; if (!GetDatabaseConnections()) { Console.WriteLine("Failed to connect to Hugo"); return; } if (!PositionMonitorUtilities.Init(m_hugoConnection)) { Console.WriteLine("Failed to initialize PositionMonitorUtilities"); return; } Console.WriteLine("PositionMonitorUtilities initiallized"); if (!PositionMonitorUtilities.StartMonitor()) { Console.WriteLine("Failed to start monitor"); return; } Console.WriteLine("Monitor started"); using (m_monitor = new ServiceHost(typeof(PositionMonitor))) { m_monitor.Open(); Console.WriteLine("Host is running - press any key to stop host"); Console.ReadKey(); m_monitor.Close(); Console.WriteLine("Host is stopped"); PositionMonitorUtilities.StopMonitor(); Console.WriteLine("Monitor stopped"); } m_monitor = null; }
public bool Run() { m_bTaskFailed = true; try { // initialize logging log4net.Config.XmlConfigurator.Configure(); TaskUtilities.OnInfo += new LoggingEventHandler(Utilities_OnInfo); TaskUtilities.OnError += new LoggingEventHandler(Utilities_OnError); LoggingUtilities.OnInfo += new LoggingEventHandler(Utilities_OnDebug); // SQL Commands go to Debug log LoggingUtilities.OnError += new LoggingEventHandler(Utilities_OnError); m_positionMonitor.OnInfo += new LoggingEventHandler(Utilities_OnInfo); m_positionMonitor.OnError += new LoggingEventHandler(Utilities_OnError); m_positionMonitor.OnDebug += new LoggingEventHandler(Utilities_OnDebug); m_positionMonitor.OnMonitorStopped += new ServiceStoppedEventHandler(Utilities_OnMonitorStopped); if (Initialize()) { using (var serviceHost = new ServiceHost(typeof(SentoniService))) { m_positionMonitor.QuoteServerHost = m_parms.QuoteServerHost.Trim(); m_positionMonitor.QuoteServerPort = m_parms.QuoteServerPort; m_positionMonitor.RefreshMs = m_parms.RefreshMs; m_positionMonitor.AccountLimit = m_parms.AccountLimit; if (m_positionMonitor.StartMonitor()) { bool quoteServerIsUp = m_positionMonitor.IsUsingQuoteFeed; foreach (AccountPortfolio account in m_positionMonitor.GetAllAccountPortfolios()) { OnInfo("Starting account " + account.AccountName); account.Start(); // connect to quote server - if is down, don't bother trying with subsequent accounts if (quoteServerIsUp) { quoteServerIsUp = account.StartSubscriber(); } } var dataProvider = new DataProvider(m_positionMonitor, this); SentoniService.Provider = dataProvider; m_positionMonitor.SnapshotProvider = dataProvider; serviceHost.Open(); OnInfo("Host started"); m_bTaskFailed = false; // set up was successful - we now wait for the timer to expire or for a post from an event handler m_bWaiting = true; bool timedOut = WaitForCompletion(); m_bWaiting = false; serviceHost.Close(); OnInfo("Host closed"); m_bTaskFailed = false; } } } } catch (Exception ex) { m_bTaskFailed = true; OnError("Error in Run method", ex, true); } finally { m_positionMonitor.StopMonitor(); if (m_bTaskStarted) { m_bTaskStarted = !EndTask(m_parms.TaskName, !m_bTaskFailed); } } return(!m_bTaskFailed); }