public override void Validate()
        {
            Validated = false;

            foreach (var conversation in mConversations.ToList())
            {
                ApplicationStatus.SetProgress(0);
                ApplicationStatus.SetStatus(String.Format("Validating conversation: {0}", conversation.Name));
                conversation.Validate();
                ApplicationStatus.SetProgress(100);

                if (conversation.IsEmpty)
                {
                    mConversations.Remove(conversation);
                }

                if (null != OnConversationValidated)
                {
                    OnConversationValidated(this, new ElementEventArgs(mConversations.IndexOf(conversation)));
                }
            }

            Validated = true;

            if (null != OnConversationListValidated)
            {
                OnConversationListValidated(this, new EventArgs());
            }
        }
示例#2
0
        private void mainTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (_isProcessing)
            {
                return;
            }
            _isProcessing = true;

            // Check database for new items to fetch
            try
            {
                //check for shutdown flag.
                if (ShutdownHasBeenSignalled())
                {
                    if (_adHocQueueController.GlobalListOfOutstandingAdHocRequests.Count == 0)
                    {
                        NLogger.Instance.Info("No pending adhoc requests...Deleting signal file and shutting down process");
                        File.Delete(ShutdownSignalFile());
                        Application.Exit();
                    }
                    else
                    {
                        NLogger.Instance.Info("{0} pending adhoc request(s)... cannot shutdown. Will retry as long as shutdown signal exists.");
                        return;
                    }
                }

                RaiseMessageEvent(string.Format("Checking at {0}", DateTime.Now.ToString("HH:mm:ss")));

                // All items from DB

                ProcessDataRequests(Db.GetTickerItemsToProcess("EXEC GetBloombergDataRequestItems"), false);

                if (DateTime.Now > _setStatusTime)
                {
                    ApplicationStatus.SetStatus(Application.ProductName, "OK", "", 1);
                    _setStatusTime = DateTime.Now.AddSeconds(59);
                }
                else
                {
                    RaiseMessageEvent(string.Format("Next Status set {0}", _setStatusTime.ToString("dd MMM yy HH:mm:ss")));
                }
            }
            catch (SqlException ex)
            {
                NLogger.Instance.Error("Sql server error: Exiting program. Error: {0}", ex.ToString());
                Application.Exit();
            }
            catch (Exception ex)
            {
                NLogger.Instance.Fatal(ex.ToString(), ex);
                RaiseMessageEvent(string.Format("Error: {0}", ex));
                Static.EmailException("BB Field Value Retriever Error", ex.ToString(), ex);
            }
            finally
            {
                _isProcessing = false;
            }
        }
示例#3
0
        public SwiftImportManager()
        {
            ApplicationStatus.SetStatus("SwiftImporter", "OK", "Started", statusCheckMins);
            Timer timer = new Timer(statusCheckMins * 60000);

            timer.Elapsed += timer_Elapsed;
#if !DEBUG
            timer.Start();
#endif
        }
示例#4
0
        private void OnTestingCompleted(object sender, EventArgs eventArgs)
        {
            ApplicationStatus.SetProgress(100);
            ApplicationStatus.SetStatus("Done");

            BeginInvoke(new Action(() =>
            {
                mTestTrees.ToList().ForEach(item => item.CollapseNotSupportedGroups());
                btnClear.Enabled = true;
            }));
        }
示例#5
0
        private void OnTestStarted(TestInfo testInfo)
        {
            this.InvokeIfRequired((() =>
            {
                var sb = new StringBuilder();

                String msg = String.Format("{0} has started", testInfo.GetNameString());

                ApplicationStatus.SetStatus(msg);

                sb.AppendLine(msg.ToUpper());
                sb.AppendLine();

                vTestOutput.AppendText(sb.ToString());
            }));

            HighlightActiveTest(testInfo);
        }
示例#6
0
        /// <summary>
        /// Start Testing button handler
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void btnStartTesting_Click(object sender, EventArgs e)
        {
            if (NetworkTraceSet.LoadedTraces.All(item => NetworkTraceStatus.Parsed == item.Status))
            {
                return;
            }

            btnStartTesting.Enabled = false;

            var traces = NetworkTraceSet.LoadedTraces.Where(item => NetworkTraceStatus.Parsed != item.Status).ToList();

            await Task.Run(() =>
            {
                foreach (var trace in traces)
                {
                    ApplicationStatus.SetProgress(0);
                    trace.Status = NetworkTraceStatus.InProgress;
                    UpdateTracesList();

                    var parser = new NTParser(CTTSettings.GetProtocols(), trace);
                    parser.OnProgressChanged += OnProgressChanged;

                    trace.Parser = parser;

                    parser.Run();

                    trace.Status = NetworkTraceStatus.Parsed;
                    UpdateTracesList();
                    ApplicationStatus.SetProgress(100);
                }
            }, mTokenSource.Token);

            UpdateUnitList();
            ApplicationStatus.SetStatus("Parsing process has been completed.");

            await Task.Run(() =>
            {
                ConversationList.Instance.Validate();
                ApplicationStatus.SetStatus("Done!");
                StateManager.SetState(ApplicationState.Idle);
            });
        }
示例#7
0
 protected virtual void SetStatusMessage(String status)
 {
     ApplicationStatus.SetStatus(status);
 }
示例#8
0
 void timer_Elapsed(object sender, ElapsedEventArgs e)
 {
     ApplicationStatus.SetStatus("SwiftImporter", "OK", "Ready and waiting...", statusCheckMins);
 }
示例#9
0
        public void Script(ServerConnection ServerConn, bool scriptOnly)
        {
            try
            {
                serverName = ServerConn.ServerInstance;
                serverConn = ServerConn;

                if (m_dbName == null)
                {
                    return;                     // there is no DB to script
                }
                foreach (Database db in m_sqlserver.Databases)
                {
                    if (m_dbName.ToLower() == db.Name.ToLower())
                    {
                        string dest = m_workingFolder + "\\" + m_sqlserver.Name + "\\" + db.Name;
                        if (Directory.Exists(dest))
                        {
                            DeleteDirectory(dest);
                        }

                        System.IO.Directory.CreateDirectory(m_workingFolder);

                        if (scriptOnly == false)
                        {
                            CheckoutFromSourcesafe(db, dest);
                        }

                        ScriptDatabase(db, dest);

                        if (errorsOccurred == false)
                        {
                            if (scriptOnly == false)
                            {
                                AddToSourcesafe(db, dest);

                                // The sourcesafe bit above removes each file but we still need to kill the folder.
                                DeleteDirectory(m_workingFolder);
                            }
                        }
                        break;
                    }
                }
                if (errorsOccurred)
                {
                    string logFile = Maple.Logger.GetLogFilePathAndName(true);

                    Funcs.EmailReport("DB script error",
                                      string.Format("See the log file for more info\r\n\r\n {0}", logFile));
                    ApplicationStatus.SetStatus(string.Format("Scripting of {0}.{1}.", serverName, m_dbName), "Error", "An error occurred", 1450);
                }
                else
                {
                    ApplicationStatus.SetStatus(string.Format("Scripting of {0}.{1}.", serverName, m_dbName), "OK", "", 1450);
                }
            }
            catch (Exception ex) {            //end up here in case of abort
                throw ex;
            }
            if (ScriptDone != null)
            {
                ScriptDone(scriptOnly);
            }
        }