コード例 #1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            Visible = false;
            //set record from journal
            UpdateMessenger.CreateRunningApps(ModelUserContext.ClientID, AppCode);
            //TODO нужна ли эта проверка, если подключение к той же БД, что EIDSS
            //if (UpdateMessenger.WasConnected)
            //{
            TimerUpdateListener.Enabled = true;
            //}
            if (Login() == false)
            {
                return;
            }

            //string commands = Microsoft.VisualBasic.Interaction.Command();
            //Dbg.Debug("eidss is started with command line: {0}", commands);
            //if (!Utils.IsEmpty(commands))
            //{
            //    string[] args = commands.Split(' '.ToString().ToCharArray());
            //    foreach (string cmd in args)
            //    {
            //        switch (cmd.Substring(0, 2))
            //        {
            //            case "\\e":
            //                try
            //                {
            //                    Nullable<long> eventID = Utils.ToNullableLong(cmd.Substring(2));
            //                    if (eventID.HasValue)
            //                    {
            //                        EventList.ShowEventDetail(System.Convert.ToInt32(eventID));
            //                    }
            //                }
            //                catch (Exception)
            //                {
            //                    ErrorForm.ShowError(new EIDSSErrorMessage("errFailToOpenEventDetail", "Fail to open EIDSS notification details."));
            //                }
            //                break;
            //        }
            //    }
            //}


            m_Loaded = true;
        }
コード例 #2
0
        void TimerUpdateListener_Elapsed(object sender, EventArgs e)
        {
            if (!UpdateMessenger.CanConnect())
            {
                //if there is no connection, let's check updates more rarely
                TimerUpdateListener.Interval = 100 * 1000;
                return;
            }
            //Restore default listen interval if connection exists
            TimerUpdateListener.Interval = UpdateMessenger.ListenInterval;
            //обновим, что данный экземпляр EIDSS ещё живёт
            UpdateMessenger.CreateRunningApps(ModelUserContext.ClientID, AppCode);
            //проверяем не начался ли апдейт
            //апдейт можно игнорировать, если соблюдаются те же бизнес-правила, что и для старта приложения

            if (!UpdateMessenger.CanRunApplication(ModelUserContext.ClientID, AppCode))
            {
                //отключаем один таймер и включаем другой, который через 10 минут принудительно выключит приложение
                TimerUpdateListener.Enabled = false;
                TimerExit.Enabled           = true;
                ErrorForm.ShowMessageDirect(EidssMessages.Get("ApplicationMustBeClosed"));
            }
        }