コード例 #1
0
        protected override void Start()
        {
            int i = -1;

            EditFormConnectionSettings("connsett_mt.ini", true);

            bool bIgnoreTECInUse = false;

            ASUTP.Core.HMark markQueries = new ASUTP.Core.HMark(new int[] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR, (int)StatisticCommon.CONN_SETT_TYPE.MTERM });
            //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.ADMIN);
            //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.PBR);
            //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.MTERM);

            for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            {
                DbTSQLConfigDatabase.DbConfig().SetConnectionSettings(s_listFormConnectionSettings [(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(i));
                DbTSQLConfigDatabase.DbConfig().Register();

                if (!(DbTSQLConfigDatabase.DbConfig().ListenerId < 0))
                {
                    switch (i)
                    {
                    case (Int16)CONN_SETT_TYPE.SOURCE:
                        m_arAdmin[i] = new AdminMT();
                        break;

                    case (Int16)CONN_SETT_TYPE.DEST:
                        m_arAdmin[i] = new AdminTS_Modes(new bool[] { false, true });
                        break;

                    default:
                        break;
                    }
                    try
                    {
                        m_arAdmin[i].InitTEC(m_modeTECComponent, /*arTypeConfigDB [i], */ markQueries, bIgnoreTECInUse, new int[] { 0, (int)TECComponent.ID.LK });
                        RemoveTEC(m_arAdmin[i]);
                    }
                    catch (Exception e)
                    {
                        ASUTP.Logging.Logg().Exception(e, "FormMainTransMT::FormMainTransMT ()", ASUTP.Logging.INDEX_MESSAGE.NOT_SET);
                        //ErrorReport("Ошибка соединения. Переход в ожидание.");
                        //setUIControlConnectionSettings(i);
                        break;
                    }
                    switch (i)
                    {
                    case (Int16)CONN_SETT_TYPE.SOURCE:
                        m_arAdmin[i].m_ignore_date = bool.Parse(FileAppSettings.This().GetValue(@"ИгнорДатаВремя-ModesTerminale"));
                        break;

                    case (Int16)CONN_SETT_TYPE.DEST:
                        //if (strTypeField.Equals(AdminTS.TYPE_FIELDS.DYNAMIC.ToString()) == true)
                        //    ((AdminTS)m_arAdmin[i]).m_typeFields = AdminTS.TYPE_FIELDS.DYNAMIC;
                        //else if (strTypeField.Equals(AdminTS.TYPE_FIELDS.STATIC.ToString()) == true)
                        //    ((AdminTS)m_arAdmin[i]).m_typeFields = AdminTS.TYPE_FIELDS.STATIC;
                        //else
                        //    ;
                        m_arAdmin[i].m_ignore_date = bool.Parse(FileAppSettings.This().GetValue(@"ИгнорДатаВремя-techsite"));
                        break;

                    default:
                        break;
                    }

                    //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор

                    DbTSQLConfigDatabase.DbConfig().UnRegister();
                }
                else
                {
                    ;
                }
            }

            if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE))
            {
                setUIControlConnectionSettings((Int16)CONN_SETT_TYPE.DEST);

                for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
                {
                    //setUIControlConnectionSettings(i); //??? Перенос ДО цикла

                    m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent);
                    //m_arAdmin[i].SetDelegateWait(new DelegateFunc(StartWait), new DelegateFunc(StopWait), delegateEvent);
                    m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);

                    m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin);
                    m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete);

                    m_arAdmin[i].SetDelegateDatetime(setDatetimePicker);

                    //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP);

                    //??? Перенос ПОСЛЕ цикла
                    //if (i == (int)(Int16)CONN_SETT_TYPE.DEST)
                    //    (Int16)CONN_SETT_TYPE.DEST
                    m_arAdmin[i].Start();
                    //else
                    //    ;
                }

                //Перенес обратно...
                //((AdminTS)m_arAdmin[(Int16)CONN_SETT_TYPE.DEST]).StartDbInterface();

                //panelMain.Visible = false;

                base.Start();
            }
            else
            {
                ;
            }
        }
コード例 #2
0
 /// <summary>
 /// Возвратить таблицу с перечнем парметров дигностики
 /// </summary>
 /// <param name="err">Признак ошибки при выполнении операции</param>
 /// <returns>Таблица с данными - результат запроса</returns>
 public DataTable GetDiagnosticParameter(out int err)
 {
     return(DbTSQLConfigDatabase.DbConfig().Select("SELECT * FROM DIAGNOSTIC_PARAM", null, null, out err));
 }
コード例 #3
0
 /// <summary>
 /// Возвратить таблицу с перечнем ТЭЦ
 /// </summary>
 /// <param name="err">Признак ошибки при выполнении операции</param>
 /// <returns>Таблица с данными - результат запроса</returns>
 public DataTable GetDataTableTEC(out int err)
 {
     return(DbTSQLConfigDatabase.DbConfig().GetListTEC(false, _filterListTEC, out err));
 }
コード例 #4
0
        protected override void Start()
        {
            int i = -1;

            EditFormConnectionSettings("connsett_mc.ini", false);

            bool bIgnoreTECInUse = false;

            //??? для создания статического 'DbMCSources' = 'DbSources'
            DbMCSources.Sources();
            DbTSQLConfigDatabase.DbConfig().SetConnectionSettings();
            DbTSQLConfigDatabase.DbConfig().Register();

            ASUTP.Core.HMark markQueries = new ASUTP.Core.HMark(new int [] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR });

            for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            {
                switch (i)
                {
                case (Int16)CONN_SETT_TYPE.SOURCE:
                    m_arAdmin[i] = new AdminMC(FileAppSettings.This().GetValue(@"MCServiceHost"));
                    if (handlerCmd.ModeMashine == MODE_MASHINE.SERVICE_ON_EVENT)
                    {
                        (m_arAdmin [i] as AdminMC).AddEventHandler(DbMCInterface.ID_EVENT.HANDLER_CONNECT, FormMainTransMC_EventHandlerConnect);

                        (m_arAdmin [i] as AdminMC).AddEventHandler(DbMCInterface.ID_EVENT.RELOAD_PLAN_VALUES, FormMainTransMC_EventMaketChanged);
                        //!!! дубликат для отладки
                        (m_arAdmin [i] as AdminMC).AddEventHandler(DbMCInterface.ID_EVENT.PHANTOM_RELOAD_PLAN_VALUES, FormMainTransMC_EventMaketChanged);
                        (m_arAdmin [i] as AdminMC).AddEventHandler(DbMCInterface.ID_EVENT.NEW_PLAN_VALUES, FormMainTransMC_EventPlanDataChanged);
                        //!!! дубликат для выполнения внеочередного запроса (например, при запуске)
                        (m_arAdmin [i] as AdminMC).AddEventHandler(DbMCInterface.ID_EVENT.REQUEST_PLAN_VALUES, FormMainTransMC_EventPlanDataChanged);
                    }
                    else
                    {
                        ;
                    }
                    break;

                case (Int16)CONN_SETT_TYPE.DEST:
                    m_arAdmin[i] = new AdminTS_Modes(new bool[] { false, true });
                    break;

                default:
                    break;
                }
                try
                {
                    m_arAdmin[i].InitTEC(m_modeTECComponent, /*typeConfigDB, */ markQueries, bIgnoreTECInUse, new int[] { 0, (int)TECComponent.ID.LK });
                    RemoveTEC(m_arAdmin[i]);
                }
                catch (Exception e)
                {
                    Logging.Logg().Exception(e, "FormMainTransMC::FormMainTransMC ()", Logging.INDEX_MESSAGE.NOT_SET);
                    //ErrorReport("Ошибка соединения. Переход в ожидание.");
                    //setUIControlConnectionSettings(i);
                    break;
                }
                switch (i)
                {
                case (Int16)CONN_SETT_TYPE.SOURCE:
                    m_arAdmin[i].m_ignore_date = bool.Parse(FileAppSettings.This().GetValue(@"ИгнорДатаВремя-ModesCentre"));
                    break;

                case (Int16)CONN_SETT_TYPE.DEST:
                    m_arAdmin[i].m_ignore_date = bool.Parse(FileAppSettings.This().GetValue(@"ИгнорДатаВремя-techsite"));
                    break;

                default:
                    break;
                }
            }

            DbTSQLConfigDatabase.DbConfig().UnRegister();

            if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE))
            {
                setUIControlConnectionSettings((Int16)CONN_SETT_TYPE.DEST);

                for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
                {
                    //setUIControlConnectionSettings(i); //??? Перенос ДО цикла

                    m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent);
                    //m_arAdmin[i].SetDelegateWait(new DelegateFunc (StartWait), new DelegateFunc(StopWait), delegateEvent);
                    m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);

                    m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin);
                    m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete);

                    m_arAdmin[i].SetDelegateDatetime(setDatetimePicker);

                    //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP);

                    //??? Перенос ПОСЛЕ цикла
                    //if (i == (int)(Int16)CONN_SETT_TYPE.DEST)
                    //    (Int16)CONN_SETT_TYPE.DEST
                    m_arAdmin[i].Start();
                    //else
                    //    ;
                }

                //Перенес обратно...
                //((AdminTS)m_arAdmin[(Int16)CONN_SETT_TYPE.DEST]).StartDbInterface();

                //panelMain.Visible = false;

                base.Start();
            }
            else
            {
                ;
            }
        }
コード例 #5
0
 /// <summary>
 /// Возвратить таблицу с контролируемыми источниками данных
 /// </summary>
 /// <param name="err">Признак ошибки при выполнении операции</param>
 /// <returns>Таблица с данными - результат запроса</returns>
 public DataTable GetDiagnosticSources(out int err)
 {
     return(DbTSQLConfigDatabase.DbConfig().Select("SELECT * FROM DIAGNOSTIC_SOURCES", null, null, out err));
 }
コード例 #6
0
        /// <summary>
        /// Запуск таймера обновления данных
        /// </summary>
        public override void Start()
        {
            int err      = -1,
                idMainDB = -1;

            DbTSQLConfigDatabase.DbConfig().SetConnectionSettings();
            DbTSQLConfigDatabase.DbConfig().Register();

            if (DbTSQLConfigDatabase.DbConfig().ListenerId > 0)
            {
                idMainDB = Int32.Parse(DbTSQLConfigDatabase.DbConfig().Select(@"SELECT [VALUE] FROM [setup] WHERE [KEY]='" + @"Main DataSource" + @"'", null, null, out err).Rows [0] [@"VALUE"].ToString());
                DataTable tblConnSettMainDB = ConnectionSettingsSource.GetConnectionSettings(DbTSQLConfigDatabase.DbConfig().ListenerId, idMainDB, -1, out err);

                if ((tblConnSettMainDB.Columns.Count > 0) &&
                    (tblConnSettMainDB.Rows.Count > 0))
                {
                    // "-1" - значит будет назначени идентификатор из БД
                    LoggingReadHandler.SetConnectionSettings(new ConnectionSettings(tblConnSettMainDB.Rows [0], -1));
                    LoggingReadHandler.SetDelegateReport(delegateErrorReport, delegateWarningReport, delegateActionReport, delegateReportClear);
                    LoggingReadHandler.SetDelegateWait(delegateStartWait, delegateStopWait, delegate() { /* ничего не делаем */ });
                    LoggingReadHandler.StartDbInterfaces();
                    LoggingReadHandler.Start();

                    //!!! только после 'старта' handler-а
                    base.Start();
                }
                else
                {
                    throw new Exception($"PanelAnalyzer_DB::Start () - нет параметров соединения с БД значений ID={idMainDB}...");
                }
            }
            else
            {
                throw new Exception(@"PanelAnalyzer_DB::Start () - нет соединения с БД конфигурации...");
            }

            DbTSQLConfigDatabase.DbConfig().UnRegister();
        }
コード例 #7
0
        /// <summary>
        /// Инициализация данных формы
        /// </summary>
        /// <param name="msgError">Сообщение об ошибке (при наличии)</param>
        /// <returns>Признак выполнения функции</returns>
        private bool Initialize(out string msgError)
        {
            bool bRes = true;

            msgError = string.Empty;

            if (s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].Ready == 0)
            {
                //!!! Один экземпляр для всего приложения на весь срок выполнения
                new DbTSQLConfigDatabase(s_listFormConnectionSettings [(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett());
                DbTSQLConfigDatabase.DbConfig().Register();

                _state = validateUser(out msgError);
                switch (_state)
                {
                case -1:
                    msgError = FormMainStatistic.MSG_ERROR_INIT[(int)FormMainStatistic.INDEX_ERROR_INIT.UNKNOWN];
                    break;

                case -3:     //@"Не найден пользователь@
                    break;

                case -2:
                case -5:
                case -4:     //@"Необходимо изменить параметры соединения с БД" - получено из 'Initialize'
                    bRes = false;
                    break;

                case -6:     //@"Пользователю не разрешено использовать задачу" - получено из 'Initialize'
                    break;

                default:
                    //Успех... пост-инициализация
                    formParameters = new FormParameters_DB();

                    updateParametersSetup();

                    s_iMainSourceData = Int32.Parse(formParameters.m_arParametrSetup[(int)FormParameters.PARAMETR_SETUP.MAIN_DATASOURCE]);

                    //Создать "рабочую" панель
                    m_panelAlarm = new PanelAlarm(new HMark(new int [] { (int)CONN_SETT_TYPE.ADMIN, (int)CONN_SETT_TYPE.PBR, (int)CONN_SETT_TYPE.DATA_AISKUE, (int)CONN_SETT_TYPE.DATA_SOTIASSO })
                                                  , MODE.SERVICE
                                                  , SystemColors.ControlText
                                                  , SystemColors.Control);
                    _panelMain.Controls.Add(m_panelAlarm);

                    m_formAlarmEvent          = new MessageBoxAlarmEvent(this);
                    m_panelAlarm.EventGUIReg += new AlarmNotifyEventHandler(OnPanelAlarmEventGUIReg);
                    m_formAlarmEvent.EventActivateTabPage += new DelegateBoolFunc(activateTabPage);
                    m_formAlarmEvent.EventFixed           += new DelegateObjectFunc(m_panelAlarm.OnEventFixed);

                    m_panelAlarm.Start();
                    break;
                }
                //Отменить регистрацию соединения с БД_конфигурации
                DbSources.Sources().UnRegister();
            }
            else
            {//Файла с параметрами соединения нет совсем или считанные параметры соединения не валидны
                msgError = @"Необходимо изменить параметры соединения с БД конфигурации";

                bRes = false;
            }

            return(bRes);
        }
コード例 #8
0
        protected override void Start()
        {
            int i = -1;

            EditFormConnectionSettings("connsett_tg.ini", true);

            int    iConfigDB       = -1;
            string keyTypeConfigDB = @"ТипБДКфгНазначение";

            //FileINI fileINI = new FileINI(@"setup.ini");
            //string sec = "Main (" + ProgramBase.AppName + ")";
            iConfigDB = Int32.Parse(m_sFileINI.GetMainValueOfKey(keyTypeConfigDB));

            //TYPE_DATABASE_CFG iTypeConfigDB = TYPE_DATABASE_CFG.UNKNOWN;

            //for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t++)
            //{
            //    if (t.ToString().Contains(iConfigDB.ToString()) == true)
            //    {
            //        iTypeConfigDB = t;
            //        break;
            //    }
            //    else
            //        ;
            //}

            bool bIgnoreTECInUse = false;

            HMark markQueries = new HMark(new int[] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR });

            //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.ADMIN);
            //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.PBR);

            DbTSQLConfigDatabase.DbConfig().SetConnectionSettings(s_listFormConnectionSettings [(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett());
            DbTSQLConfigDatabase.DbConfig().Register();

            for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            {
                if (i == (Int16)CONN_SETT_TYPE.SOURCE)
                {
                    m_arAdmin[i] = new AdminTransTG(new bool [] { false, false });
                }
                else
                if (i == (Int16)CONN_SETT_TYPE.DEST)
                {
                    m_arAdmin[i] = new AdminTransTG(new bool[] { false, true });
                }
                else
                {
                    ;
                }

                try {
                    ((AdminTS)m_arAdmin[i]).InitTEC(FormChangeMode.MODE_TECCOMPONENT.ANY, /*iTypeConfigDB, */ markQueries, bIgnoreTECInUse, new int[] { 0, (int)TECComponent.ID.LK });
                    RemoveTEC(m_arAdmin[i]);
                }
                catch (Exception e)
                {
                    ASUTP.Logging.Logg().Exception(e, "FormMainTransTG::FormMainTransTG ()"
                                                   , ASUTP.Logging.INDEX_MESSAGE.NOT_SET);
                    //ErrorReport("Ошибка соединения. Перехож в ожидание.");
                    //setUIControlConnectionSettings(i);
                    break;
                }
                //((AdminTS)m_arAdmin[i]).connSettConfigDB = m_formConnectionSettings.getConnSett();
                //((AdminTS)m_arAdmin[i]).m_typeFields = AdminTS.TYPE_FIELDS.DYNAMIC;
                if (i == (Int16)CONN_SETT_TYPE.SOURCE)
                {
                    m_arAdmin[i].m_ignore_date = false;
                }
                else
                if (i == (Int16)CONN_SETT_TYPE.DEST)
                {
                    m_arAdmin[i].m_ignore_date = true;
                }
                else
                {
                    ;
                }

                //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор
            }

            DbTSQLConfigDatabase.DbConfig().UnRegister();

            if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE))
            {
                setUIControlConnectionSettings((Int16)CONN_SETT_TYPE.DEST);

                for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
                {
                    m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent);
                    //m_arAdmin[i].SetDelegateWait(new DelegateFunc(StartWait), new DelegateFunc(StopWait), delegateEvent);
                    m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);

                    m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin);
                    m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete);

                    m_arAdmin[i].SetDelegateDatetime(setDatetimePicker);

                    //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP);

                    m_arAdmin[i].Start();
                }

                /*
                 * // This needs to be declared in a place where it will not go out of scope.
                 * // For example, it would be a class variable in a form class.
                 * System.IO.FileSystemWatcher watcher = new System.IO.FileSystemWatcher();
                 * // This code would go in one of the initialization methods of the class.
                 * watcher.Path = "c:\\";
                 * // Watch only for changes to *.txt files.
                 * watcher.Filter = "*.txt";
                 * watcher.IncludeSubdirectories = false;
                 * // Enable the component to begin watching for changes.
                 * watcher.EnableRaisingEvents = true;
                 * // Filter for Last Write changes.
                 * watcher.NotifyFilter = System.IO.NotifyFilters.LastWrite;
                 * // Example of watching more than one type of change.
                 * watcher.NotifyFilter = System.IO.NotifyFilters.LastWrite | System.IO.NotifyFilters.Size;
                 *
                 * //Асинхронно
                 * watcher.Changed += new System.IO.FileSystemEventHandler(this.watcher_Changed);
                 *
                 * //Сихронно
                 * watcher.WaitForChanged(System.IO.WatcherChangeTypes.All);
                 */

                //panelMain.Visible = false;

                start();
            }
            else
            {
                ;
            }
        }
コード例 #9
0
        protected override void Start()
        {
            int i = -1;

            EditFormConnectionSettings("connsett_gtp.ini", true);

            //Добавление необходимого кол-ва элементов настроек для соединения с БД конфигурации
            //if (m_formConnectionSettingsConfigDB.Count < 2)
            //{
            //    while (!(m_formConnectionSettingsConfigDB.Count < 2))
            //        m_formConnectionSettingsConfigDB.addConnSett(m_formConnectionSettingsConfigDB.Count);
            //    конфигурацияБДToolStripMenuItem.PerformClick();

            //    return;
            //}
            //else
            //    ;

            //m_sFileINI.AddMainPar(@"ТипБДКфгИсточник", @"190");
            //m_sFileINI.AddMainPar(@"РДГФорматТаблицаИсточник", @"STATIC");

            ////Для переназначения идентификаторов источников данных БийскТЭЦ
            //m_fileINI.Add(@"ID_БДНазначение_ASKUE", @"6,");
            //m_fileINI.Add(@"ID_БДНазначение_SOTIASSO", @"6,");
            //m_fileINI.Add(@"ID_БДНазначение_PPBR_PBR", @"6,103");
            //m_fileINI.Add(@"ID_БДНазначение_PPBR_ADMIN", @"6,");

            //int[] arConfigDB = new int[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE];
            //string[] arKeyTypeConfigDB = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { @"ТипБДКфгИсточник", @"ТипБДКфгНазначение" };

            //TYPE_DATABASE_CFG[] arTypeConfigDB = new TYPE_DATABASE_CFG[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { TYPE_DATABASE_CFG.UNKNOWN, TYPE_DATABASE_CFG.UNKNOWN };
            //for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            //{
            //    arConfigDB[i] = Int32.Parse(m_sFileINI.GetMainValueOfKey(arKeyTypeConfigDB[i]));
            //    for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t++)
            //    {
            //        if (t.ToString().Contains(arConfigDB[i].ToString()) == true)
            //        {
            //            arTypeConfigDB[i] = t;
            //            break;
            //        }
            //        else
            //            ;
            //    }
            //}

            //string[] arStrTypeField = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE];
            //arStrTypeField[(int)CONN_SETT_TYPE.SOURCE] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаИсточник");
            //arStrTypeField[(int)CONN_SETT_TYPE.DEST] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаНазначение");

            bool bIgnoreDateTime = false;

            if (Boolean.TryParse(m_sFileINI.GetMainValueOfKey(@"ИгнорДатаВремя-techsite"), out bIgnoreDateTime) == false)
            {
                bIgnoreDateTime = false;
            }
            else
            {
                ;
            }

            m_sFileINI.AddMainPar(@"ТЭЦПараметрыНазначение", @"{}");

            ASUTP.Core.HMark markQueries = new ASUTP.Core.HMark(0);
            markQueries.Set((int)StatisticCommon.CONN_SETT_TYPE.PBR, ОпросППБРToolStripMenuItem.Checked);
            markQueries.Set((int)StatisticCommon.CONN_SETT_TYPE.ADMIN, ОпросАдминЗначенияToolStripMenuItem.Checked);

            // определить пользователя по 1-ой БД конфигурации
            DbTSQLConfigDatabase.DbConfig().Register();
            try {
                using (HStatisticUsers users = new HStatisticUsers(DbTSQLConfigDatabase.DbConfig().ListenerId, ASUTP.Helper.HUsers.MODE_REGISTRATION.MIXED)) {; }
            } catch (Exception e) {
                Logging.Logg().Exception(e, "FormMainTransGTP::FormMainTransGTP ()", Logging.INDEX_MESSAGE.NOT_SET);
            }

            //Инициализация объектов получения данных
            for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            {
                bool bPPBRSavedValues = false;
                if (i == (Int16)CONN_SETT_TYPE.DEST)
                {
                    bPPBRSavedValues = СохранППБРToolStripMenuItem.Checked;
                }
                else
                {
                    ;
                }
                m_arAdmin[i] = new AdminTS_KomDisp(new bool[] { false, bPPBRSavedValues });

                try
                {
                    //((AdminTS_KomDisp)m_arAdmin[i]).InitTEC(m_formConnectionSettingsConfigDB.getConnSett((Int16)CONN_SETT_TYPE.DEST), m_modeTECComponent, true, false);
                    m_arAdmin[i].InitTEC(m_modeTECComponent, /*arTypeConfigDB[i], */ markQueries, true, new int[] { 0, (int)TECComponent.ID.GTP });
                    RemoveTEC(m_arAdmin[i]);
                }
                catch (Exception e)
                {
                    Logging.Logg().Exception(e, "FormMainTransGTP::FormMainTransGTP ()", Logging.INDEX_MESSAGE.NOT_SET);
                    //ErrorReport("Ошибка соединения. Перехож в ожидание.");
                    //setUIControlConnectionSettings(i);
                    break;
                }

                ////Для переназначения идентификаторов источников данных БийскТЭЦ
                //int j = -1;
                //string val = m_fileINI.GetValueOfKey (@"ID_БДНазначение_PPBR_PBR");
                //val = val.Split (',')[0];
                //for (j = 0; j < m_arAdmin[i].m_list_tec.Count; j ++) {
                //    if (m_arAdmin[i].m_list_tec[j].m_id == Int32.Parse (val))
                //        break;
                //    else
                //        ;
                //}

                //if (j < m_arAdmin[i].m_list_tec.Count) {
                //} else {
                //}

                if ((i == (int)CONN_SETT_TYPE.DEST)
                    /*&& (arTypeConfigDB[(int)CONN_SETT_TYPE.DEST] == TYPE_DATABASE_CFG.CFG_190)*/
                    )
                {
                    string strTECParametersDest = m_sFileINI.GetMainValueOfKey(@"ТЭЦПараметрыНазначение");
                    if (strTECParametersDest.Equals(string.Empty) == false)
                    {
                        ////if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {
                        //    int err = -1
                        //        , indx = -1
                        //        , indx_tec = -1;

                        //    foreach (TEC t in m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec)
                        //        if (t.m_id == 6) //Идентификатор БиТЭЦ
                        //        {
                        //            indx_tec = m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec.IndexOf(t);
                        //            break;
                        //        }
                        //        else
                        //            ;

                        //    if (!(indx_tec < 0))
                        //    {
                        //        m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].m_arNameTableAdminValues[(int)((AdminTS)m_arAdmin[(int)CONN_SETT_TYPE.DEST]).m_typeFields] = @"";
                        //        m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].m_arNameTableUsedPPBRvsPBR[(int)((AdminTS)m_arAdmin[(int)CONN_SETT_TYPE.DEST]).m_typeFields] = @"BiPPBRvsPBR"; //???

                        //        m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].SetNamesField(@"", //ADMIN_DATETIME
                        //                            @"", //ADMIN_REC
                        //                            @"", //ADMIN_IS_PER
                        //                            @"", //ADMIN_DIVIAT
                        //                            @"Date_time", //PBR_DATETIME
                        //                            @"PBR", //PPBRvsPBR
                        //                            @"PBR_number");

                        //        m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].connSettings(ConnectionSettingsSource.GetConnectionSettings(TYPE_DATABASE_CFG.CFG_190, idListener, 103, -1, out err), (int)StatisticCommon.CONN_SETT_TYPE.PBR);
                        //    }
                        //    else ;
                        ////}
                        ////else ;
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                }

                //for (AdminTS.TYPE_FIELDS tf = AdminTS.TYPE_FIELDS.STATIC; i < (int)AdminTS.TYPE_FIELDS.COUNT_TYPE_FIELDS; tf++)
                //    if (arStrTypeField[i].Equals(tf.ToString()) == true)
                //    {
                //        ((AdminTS)m_arAdmin[i]).m_typeFields = tf;
                //        break;
                //    }
                //    else
                //        ;

                m_arAdmin[i].m_ignore_date = bIgnoreDateTime;
                //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор

                setUIControlConnectionSettings(i);

                m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent);
                //m_arAdmin[i].SetDelegateWait(new DelegateFunc(StartWait), new DelegateFunc (StopWait), delegateEvent);
                m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);

                m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin);
                m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete);

                m_arAdmin[i].SetDelegateDatetime(setDatetimePicker);

                //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP);

                m_arAdmin[i].Start();

                DbTSQLConfigDatabase.DbConfig().UnRegister();
                switch ((CONN_SETT_TYPE)i)
                {
                case CONN_SETT_TYPE.SOURCE:
                    // 1-ый источник инициализировали, подключаем БД конфигурации 2-го источника(назначение)
                    DbTSQLConfigDatabase.DbConfig().SetConnectionSettings(s_listFormConnectionSettings [(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(i + 1));
                    DbTSQLConfigDatabase.DbConfig().Register();
                    break;

                case CONN_SETT_TYPE.DEST:
                    //??? восстановить исходный источник данных
                    break;
                }
            }

            if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE))
            {
                start();
            }
            else
            {
                ;
            }
        }
コード例 #10
0
            /// <summary>
            /// Обработчик запросов на получение информации
            /// </summary>
            /// <param name="ev"></param>
            private void onEvtQueryAskedData(object ev)
            {
                int id = -1
                , err  = -1;
                string  nameShrSourceData = string.Empty;
                DataRow rowConnSett;

                // отправить ответ в ~ от идентификатора запрашиваемой информации
                try
                {
                    switch (((EventArgsDataHost)ev).id_detail)
                    {
                    case (int)PanelSourceData.PanelGetDate.ID_ASKED_DATAHOST.CONN_SETT:     // запрошены параметры соединения
                        DbTSQLConfigDatabase.DbConfig().SetConnectionSettings();
                        DbTSQLConfigDatabase.DbConfig().Register();
                        nameShrSourceData = ((PanelSourceData.PanelGetDate)((EventArgsDataHost)ev).par[0]).GetNameShrSelectedSourceData();
                        id          = Int32.Parse(m_tableSourceData.Select(@"NAME_SHR = '" + nameShrSourceData + @"'")[0][@"ID"].ToString());
                        rowConnSett = ConnectionSettingsSource.GetConnectionSettings(/*TYPE_DATABASE_CFG.CFG_200,*/ DbTSQLConfigDatabase.DbConfig().ListenerId, id, 501, out err).Rows[0];
                        // создать объект с параметрами соединения
                        ConnectionSettings connSett = new ConnectionSettings(rowConnSett, -1);
                        // отправить запрашиваемые данные
                        ((PanelSourceData.PanelGetDate)((EventArgsDataHost)ev).par[0]).OnEvtDataRecievedHost(new EventArgsDataHost(-1, ((EventArgsDataHost)ev).id_detail, new object[] { connSett }));
                        DbTSQLConfigDatabase.DbConfig().UnRegister();
                        break;

                    default:
                        break;
                    }
                }
                catch (Exception e)
                {
                    Logging.Logg().Exception(e, @"PanelSourceData::onEvtQueryAskedData () - ...", Logging.INDEX_MESSAGE.NOT_SET);
                }
            }
コード例 #11
0
        //SortedList<DateTime, OneField> HourlyFieldValues;

        /// <summary>
        /// Конструктор открывает коннект к базе. Закрывает деструктор.
        /// </summary>
        public MySQLtechsite(bool bCalculatedHalfHourValues)
        {
            int iRes = -1;

            m_bCalculatedHalfHourValues = bCalculatedHalfHourValues;

            TECComponent       comp;
            int                iConfigDB = -1;
            ConnectionSettings connSett  = Program.ReadConnSettFromFileINI(out iConfigDB);

            connSett.id = ConnectionSettings.UN_ENUMERABLE_ID;

            Console.WriteLine("DB parametrs: IP=" + connSett.server + ", port=" + connSett.port + ", DBName=" + connSett.dbName + ", UID=" + connSett.userName + Environment.NewLine);

            //Соединение дл я БД конфигурации
            new DbTSQLConfigDatabase(connSett);
            DbTSQLConfigDatabase.DbConfig().Register();
            m_connection = DbSources.Sources().GetConnection(m_idListener = DbTSQLConfigDatabase.DbConfig().ListenerId, out iRes);

            //TYPE_DATABASE_CFG typeConfigDB = TYPE_DATABASE_CFG.UNKNOWN;
            //for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t ++) {
            //    if (t.ToString().Contains(iConfigDB.ToString()) == true)
            //    {
            //        typeConfigDB = t;
            //        break;
            //    }
            //    else
            //        ;
            //}

            if (iRes == 0)
            {
                m_admin = new AdminTS(new bool [] { false, true }, TECComponentBase.TYPE.ELECTRO);

                ASUTP.Core.HMark markQueries = new ASUTP.Core.HMark(new int[] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR });
                //markQueries.Marked ((int)StatisticCommon.CONN_SETT_TYPE.ADMIN);
                //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.PBR);

                m_admin.InitTEC(FormChangeMode.MODE_TECCOMPONENT.GTP, /*typeConfigDB, */ markQueries, true, new int [] { 0, (int)TECComponent.ID.LK });
                m_admin.GetListKeyTECComponent(FormChangeMode.MODE_TECCOMPONENT.GTP, true).ForEach(key =>
                                                                                                   m_listKeyTECComponent.Add(new KeyTECComponent()
                {
                    Key = key, MCentreId = new List <int>((m_admin.FindTECComponent(key) as TECComponent).m_listMCentreId)
                }));

                //Пересоединение для таблиц ПБР
                if ((DbTSQLInterface.IsConnected(ref m_connection) == true) &&
                    (m_listKeyTECComponent.Count > 0))
                {
                    DbSources.Sources().UnRegister(m_idListener);

                    comp               = m_admin.FindTECComponent(m_listKeyTECComponent [0].Key) as TECComponent;
                    m_idListener       = DbSources.Sources().Register(comp.tec.connSetts[(int)StatisticCommon.CONN_SETT_TYPE.PBR], false, @"PBR");
                    m_connection       = DbSources.Sources().GetConnection(m_idListener, out iRes);
                    m_strTableNamePPBR = comp.tec.m_strNameTableUsedPPBRvsPBR /*[(int)AdminTS.TYPE_FIELDS.STATIC]*/;
                }
                else
                {
                }
            }
            else
            {
                //itssAUX.PrintErrorMessage("Ошибка! MySQLtechsite::MySQLtechsite () - чтение файла с шифрованными параметрами соединения (" + m_strFileNameConnSett + ")...");
                itssAUX.PrintErrorMessage("Проверте параметры соединения (" + Program.m_fileINI.m_NameFileINI + "). Затем запустите программу с аргументом /setmysqlpassword..." + Environment.NewLine);
            }

            DbTSQLConfigDatabase.DbConfig().UnRegister();
        }
コード例 #12
0
                /// <summary>
                /// Конструктор - основной (с аргументами)
                /// </summary>
                /// <param name="iListenerConfigDbId">Идентификатор установленного соединения с БД конфигурации</param>
                /// <param name="listTEC">Список ТЭЦ</param>
                public HandlerDbSignalValue(int iListenerConfigDbId, IEnumerable <TEC> listTEC, IEnumerable <CONN_SETT_TYPE> types, MODE mode = MODE.SOURCE)
                    : base()
                {
                    int err     = -1
                    , id_tec    = -1
                    , id_source = -1;
                    DbConnection dbConn;

                    Mode = mode;

                    _key._current_type   = CONN_SETT_TYPE.UNKNOWN;
                    _key._current_id_tec = -1;

                    m_dictConnSett = new Dictionary <int, Dictionary <CONN_SETT_TYPE, ConnectionSettings> >();
                    // в ~ от списка ТЭЦ инициализация словаря с параметрами соединения с БД
                    dbConn = DbSources.Sources().GetConnection(iListenerConfigDbId, out err);

                    if (err == 0)
                    {
                        foreach (TEC tec in listTEC)
                        {
                            id_tec = tec.m_id;

                            if (m_dictConnSett.ContainsKey(id_tec) == false)
                            {
                                m_dictConnSett.Add(id_tec, new Dictionary <CONN_SETT_TYPE, ConnectionSettings>());
                            }
                            else
                            {
                                ;
                            }

                            foreach (CONN_SETT_TYPE type in types)
                            {
                                switch (Mode)
                                {
                                case MODE.TRANSIT:
                                    id_source = FormMain.s_iMainSourceData;
                                    break;

                                case MODE.SOURCE:
                                default:
                                    id_source = getIdSource(id_tec, type);
                                    break;
                                }

                                if (m_dictConnSett[id_tec].ContainsKey(type) == false)
                                {
                                    m_dictConnSett[id_tec].Add(type
                                                               , new ConnectionSettings(DbTSQLConfigDatabase.DbConfig().GetDataTableConnSettingsOfIdSource(id_source, -1, out err)?.Rows[0], -1));

                                    if (!(err == 0))
                                    {
                                        Logging.Logg().Error(string.Format(@"HandlerDbSignalValue::ctor () - ошибка инициализации источника данных {0} для ТЭЦ.ID={1}, идентификатор источника данных={2}..."
                                                                           , type, tec.m_id, id_source)
                                                             , Logging.INDEX_MESSAGE.NOT_SET);

                                        err = 0;
                                    }
                                    else
                                    {
                                        ;
                                    }
                                }
                                else
                                {
                                    ;
                                }
                            }
                        }
                    }
                    else
                    {
                        throw new Exception(string.Format(@"HandlerDbSignalValue::ctor () - ошибка при получения объекта с соединением с БД конфигурации по идентификатору в аргументе..."));
                    }
                    //// на этапе отладки (без БД конфигурации)
                    //m_dictConnSett = new Dictionary<CONN_SETT_TYPE, Dictionary<int, ConnectionSettings>> {
                    //    { CONN_SETT_TYPE.DATA_AISKUE, new Dictionary<int, ConnectionSettings>() {
                    //            { 1, new ConnectionSettings() }
                    //            , { 2, new ConnectionSettings() }
                    //            , { 3, new ConnectionSettings() }
                    //            , { 4, new ConnectionSettings() }
                    //            , { 5, new ConnectionSettings() }
                    //        }
                    //    }
                    //    , { CONN_SETT_TYPE.DATA_SOTIASSO, new Dictionary<int, ConnectionSettings>() {
                    //            { 1, new ConnectionSettings() }
                    //            , { 2, new ConnectionSettings() }
                    //            , { 3, new ConnectionSettings() }
                    //            , { 4, new ConnectionSettings() }
                    //            , { 5, new ConnectionSettings() }
                    //        }
                    //    }
                    //};

                    m_arSyncStateCheckResponse = new AutoResetEvent[(int)INDEX_SYNC_STATECHECKRESPONSE.COUNT_INDEX_SYNC_STATECHECKRESPONSE] {
                        new AutoResetEvent(false)
                        , new AutoResetEvent(false)
                        , new AutoResetEvent(false)
                    };

                    request_handlers = new Dictionary <StatesMachine, Func <string> >()
                    {
                        { StatesMachine.LIST_SIGNAL, getListSignalRequest }, { StatesMachine.VALUES, getValuesRequest }
                    };
                    response_handlers = new Dictionary <StatesMachine, Func <DataTable, bool> >()
                    {
                        { StatesMachine.LIST_SIGNAL, getListSignalResponse }, { StatesMachine.VALUES, getValuesResponse }
                    };

                    Values = new VALUES()
                    {
                        serverTime = DateTime.MinValue, m_valuesHours = new List <VALUE>()
                    };
                    _signals = new List <SIGNAL>();
                }
コード例 #13
0
        protected override void Start()
        {
            int i = -1;

            EditFormConnectionSettings("connsett_mc.ini", false);

            m_sFileINI.AddMainPar(@"MCServiceHost", string.Empty);
            m_sFileINI.AddMainPar(@"ИгнорДатаВремя-ModesCentre", false.ToString());

            bool   bIgnoreTECInUse = false;
            string strTypeField    = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаНазначение");

            //??? для создания статического 'DbMCSources' = 'DbSources'
            DbMCSources.Sources();
            DbTSQLConfigDatabase.DbConfig().SetConnectionSettings();
            DbTSQLConfigDatabase.DbConfig().Register();

            ASUTP.Core.HMark markQueries = new ASUTP.Core.HMark(new int [] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR });

            for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            {
                switch (i)
                {
                case (Int16)CONN_SETT_TYPE.SOURCE:
                    m_arAdmin[i] = new AdminMC(m_sFileINI.GetMainValueOfKey(@"MCServiceHost"));
                    break;

                case (Int16)CONN_SETT_TYPE.DEST:
                    m_arAdmin[i] = new AdminTS_Modes(new bool[] { false, true });
                    break;

                default:
                    break;
                }
                try
                {
                    m_arAdmin[i].InitTEC(m_modeTECComponent, /*typeConfigDB, */ markQueries, bIgnoreTECInUse, new int[] { 0, (int)TECComponent.ID.LK });
                    RemoveTEC(m_arAdmin[i]);
                }
                catch (Exception e)
                {
                    Logging.Logg().Exception(e, "FormMainTransMC::FormMainTransMC ()", Logging.INDEX_MESSAGE.NOT_SET);
                    //ErrorReport("Ошибка соединения. Переход в ожидание.");
                    //setUIControlConnectionSettings(i);
                    break;
                }
                switch (i)
                {
                case (Int16)CONN_SETT_TYPE.SOURCE:
                    m_arAdmin[i].m_ignore_date = bool.Parse(m_sFileINI.GetMainValueOfKey(@"ИгнорДатаВремя-ModesCentre"));
                    break;

                case (Int16)CONN_SETT_TYPE.DEST:
                    //if (strTypeField.Equals(AdminTS.TYPE_FIELDS.DYNAMIC.ToString()) == true)
                    //    ((AdminTS)m_arAdmin[i]).m_typeFields = AdminTS.TYPE_FIELDS.DYNAMIC;
                    //else if (strTypeField.Equals(AdminTS.TYPE_FIELDS.STATIC.ToString()) == true)
                    //    ((AdminTS)m_arAdmin[i]).m_typeFields = AdminTS.TYPE_FIELDS.STATIC;
                    //else
                    //    ;
                    m_arAdmin[i].m_ignore_date = bool.Parse(m_sFileINI.GetMainValueOfKey(@"ИгнорДатаВремя-techsite"));
                    break;

                default:
                    break;
                }

                //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор
            }

            DbTSQLConfigDatabase.DbConfig().UnRegister();

            if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE))
            {
                setUIControlConnectionSettings((Int16)CONN_SETT_TYPE.DEST);

                for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
                {
                    //setUIControlConnectionSettings(i); //??? Перенос ДО цикла

                    m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent);
                    //m_arAdmin[i].SetDelegateWait(new DelegateFunc (StartWait), new DelegateFunc(StopWait), delegateEvent);
                    m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);

                    m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin);
                    m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete);

                    m_arAdmin[i].SetDelegateDatetime(setDatetimePicker);

                    //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP);

                    //??? Перенос ПОСЛЕ цикла
                    //if (i == (int)(Int16)CONN_SETT_TYPE.DEST)
                    //    (Int16)CONN_SETT_TYPE.DEST
                    m_arAdmin[i].Start();
                    //else
                    //    ;
                }

                //Перенес обратно...
                //((AdminTS)m_arAdmin[(Int16)CONN_SETT_TYPE.DEST]).StartDbInterface();

                //panelMain.Visible = false;

                base.Start();
            }
            else
            {
                ;
            }
        }
コード例 #14
0
        /// <summary>
        /// Метод для получения из БД списка активных вкладок для выбранного пользователя
        /// </summary>
        /// <param name="role">Идентификатор роли(группы) пользователя</param>
        /// <param name="user">Идентификатор пользователя для выборки</param>
        protected override IEnumerable <int> getTabActived(int role, int user)
        {
            List <int> listRes = new List <int> ();

            int    iRes = -1;
            string tabs;

            string[] idTabs;

            delegateActionReport("Получение активных вкладок пользователя");

            #region Фомирование и выполнение запроса для получения списка открытых вкладок у пользователя

            tabs = HUsers.GetAllowed(DbTSQLConfigDatabase.DbConfig().ListenerId
                                     , role
                                     , user
                                     , (int)HStatisticUsers.ID_ALLOWED.PROFILE_SETTINGS_CHANGEMODE);
            //tabs = HUsers.GetAllowed((int)HStatisticUsers.ID_ALLOWED.PROFILE_VIEW_ADDINGTABS);

            if (Equals(user, null) == false)
            {
                if (tabs.Length > 0)
                {
                    //создание массива с ID вкладок
                    idTabs = tabs.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

                    for (int i = 0; i < idTabs.Length; i++)
                    {
                        if (IsPunctuationContains(idTabs[i]) == true)
                        {
                            //разбор в случае составного идентификатора
                            string[] count;
                            count = idTabs[i].Split('=');
                            //добавление идентификатора в список
                            listRes.Add(Convert.ToInt32(count[0]));
                        }
                        else
                        //фильтрация пустых идентификаторов
                        if (string.IsNullOrEmpty(idTabs[i].Trim()) == false)
                        {
                            if (!(IsNumberContains(idTabs[i]) < 0))
                            {
                                //добавление идентификатора в список
                                listRes.Add(Convert.ToInt32(idTabs[i]));
                            }
                            else
                            {
                                ;
                            }
                        }
                        else
                        {
                            ;
                        }
                    }
                }
                else
                {
                    // нет записей в БД с информацией о вкладках, автоматически загружаемых при запуске для пользователя
                    ;
                }
            }
            else
            {
                // идентификатор пользователя не указан
                ;
            }

            #endregion

            delegateReportClear(true);

            return(listRes);
        }
コード例 #15
0
        /// <summary>
        /// Инициализация панели
        /// </summary>
        public bool initialize(out string msgError)
        {
            bool bRes = true;

            msgError = string.Empty;

            if (s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].Ready == 0)
            {
                //!!! Один экземпляр для всего приложения на весь срок выполнения
                new DbTSQLConfigDatabase(s_listFormConnectionSettings [(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett());
                DbTSQLConfigDatabase.DbConfig().Register();

                _state = validateUser(out msgError);
                switch (_state)
                {
                case -1:
                    msgError = FormMainStatistic.MSG_ERROR_INIT[(int)FormMainStatistic.INDEX_ERROR_INIT.UNKNOWN];
                    break;

                case -3:     //@"Не найден пользователь@
                    break;

                case -2:
                case -5:
                case -4:     //@"Необходимо изменить параметры соединения с БД" - получено из 'Initialize'
                    bRes = false;
                    break;

                case -6:     //@"Пользователю не разрешено использовать задачу" - получено из 'Initialize'
                    break;

                default:
                    //Успех... пост-инициализация
                    formParameters = new FormParameters_DB();
                    updateParametersSetup();
                    s_iMainSourceData = Int32.Parse(formParameters.m_arParametrSetup[(int)FormParameters.PARAMETR_SETUP.MAIN_DATASOURCE]);

                    m_panel = new PanelSourceData(SystemColors.ControlText, SystemColors.Control);
                    m_panel.SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);
                    m_panel.Start();

                    #region Добавить рабочую панель на форму
                    this._panelMain.SuspendLayout();
                    _panelMain.Controls.Add(this.m_panel);
                    this._panelMain.ResumeLayout(false);
                    this._panelMain.PerformLayout();
                    #endregion

                    break;
                }

                DbTSQLConfigDatabase.DbConfig().UnRegister();
            }
            else
            {//Файла с параметрами соединения нет совсем или считанные параметры соединения не валидны
                msgError = @"Необходимо изменить параметры соединения с БД конфигурации";

                bRes = false;
            }

            return(bRes);
        }
コード例 #16
0
        public static void StatisticCommonAdminTestInitialize(TestContext testContext)
        {
            //Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

            FormMainBase.s_iMainSourceData = 671;

            Logging.SetMode(Logging.LOG_MODE.FILE_EXE);

            Logging.Logg().PostStart(ASUTP.Helper.ProgramBase.MessageWellcome);

            int    errCode = -1;
            string errMess = string.Empty;

            ASUTP.Database.FIleConnSett fileCS;
            List <ASUTP.Database.ConnectionSettings> listConnSett;

            listConnSett = new List <ASUTP.Database.ConnectionSettings> ();
            fileCS       = new ASUTP.Database.FIleConnSett("connsett.ini", ASUTP.Database.FIleConnSett.MODE.FILE);
            fileCS.ReadSettingsFile(-1, out listConnSett, out errCode, out errMess);
            new DbTSQLConfigDatabase(
                //new ASUTP.Database.ConnectionSettings("CONFIG_DB", "10.100.104.18", "", 1433, "techsite_cfg-2.X.X", "Stat_user", "5tat_u%ser")
                listConnSett [0]
                );
            DbTSQLConfigDatabase.DbConfig().Register();

            using (new HStatisticUsers(DbTSQLConfigDatabase.DbConfig().ListenerId, ASUTP.Helper.HUsers.MODE_REGISTRATION.USER_DOMAINNAME)) {
                ;
            }
            FormMain.formGraphicsSettings = new FormGraphicsSettings(delegate(int arg) {
            }
                                                                     , delegate() {
            }
                                                                     , false
                                                                     );

            panel = new PanelAdminKomDisp(new HMark(new int [] { (int)CONN_SETT_TYPE.ADMIN, (int)CONN_SETT_TYPE.PBR }));
            panel.SetDelegateReport(delegate(string mes) {
                // error
                System.Diagnostics.Debug.WriteLine($"Error: {mes}");
            }, delegate(string mes) {
                // warning
                System.Diagnostics.Debug.WriteLine($"Warning: {mes}");
            }, delegate(string mes) {
                // action
                System.Diagnostics.Debug.WriteLine($"Action: {mes}");
            }, delegate(bool bClear) {
                // clear
            });

            DbTSQLConfigDatabase.DbConfig().UnRegister();

            Assert.IsNotNull(panel);

            panel.Start();
            panel.InitializeComboBoxTecComponent(FormChangeMode.MODE_TECCOMPONENT.GTP);
            panel.Activate(true);
            Assert.IsTrue(panel.Actived);

            //Task.Factory.StartNew (() => {
            //    System.Threading.Thread.Sleep (42000);
            //});
        }
コード例 #17
0
            public void StartPanel(PanelSourceData.PanelGetDate[] ar_panels)
            {
                int err = -1; //Признак выполнения метода/функции

                //Зарегистрировать соединение/получить идентификатор соединения
                DbTSQLConfigDatabase.DbConfig().SetConnectionSettings();
                DbTSQLConfigDatabase.DbConfig().Register();

                //DbConnection dbConn = null;
                //dbConn = DbSources.Sources().GetConnection(iListenerId, out err);

                m_tableSourceData = DbTSQLConfigDatabase.DbConfig().GetDataTableSource(out err);

                if ((!(err < 0)) &&
                    m_tableSourceData.Rows.Count > 0)
                {
                    int i = -1
                    , j   = -1;
                    for (i = 0; i < INDEX_SOURCE_GETDATE.Length; i++)
                    {
                        ar_panels[i].EvtAskedData += new DelegateObjectFunc(onEvtQueryAskedData);
                        for (j = 0; j < m_tableSourceData.Rows.Count; j++)
                        {
                            ar_panels[i].AddSourceData(m_tableSourceData.Rows[j][@"NAME_SHR"].ToString());
                        }
                    }
                }
                else
                {
                    ;
                }

                DbTSQLConfigDatabase.DbConfig().UnRegister();

                for (int i = 0; i < INDEX_SOURCE_GETDATE.Length; i++)
                {
                    ar_panels[i].Start();
                    //m_arPanels[i].TurnOn(INDEX_SOURCE_GETDATE [i]);
                    ar_panels[i].Select(INDEX_SOURCE_GETDATE[i]);
                }

                //Выбрать действие
                lock (m_lockTimerGetDate)
                {
                    if (this.Actived == true)
                    {//Запустить поток
                        if (m_timerGetDate == null)
                        {
                            m_timerGetDate = new
                                             //System.Threading.Timer(fThreadGetDate)
                                             System.Windows.Forms.Timer()
                            ;
                            m_timerGetDate.Tick    += new EventHandler(fThreadGetDate);
                            m_timerGetDate.Interval = 1000;
                        }
                        else
                        {
                            ;
                        }

                        //m_timerGetDate.Change(0, System.Threading.Timeout.Infinite);
                        m_timerGetDate.Start();
                    }
                    else
                    {
                        //Остановить поток
                        stop();
                    }
                }

                for (int i = 0; i < m_ar_panels.Length; i++)
                {
                    m_ar_panels[i].Activate(this.Actived);
                }
            }
コード例 #18
0
        /// <summary>
        /// Инициализация панели
        /// </summary>
        /// <param name="msgError">Сообщение об ошибке (при наличии)</param>
        public bool InitializePanel(out string msgError)
        {
            bool bRes = true;

            msgError = string.Empty;

            if (s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].Ready == 0)
            {
                //!!! Один экземпляр для всего приложения, на весь срок выполнения
                new DbTSQLConfigDatabase(s_listFormConnectionSettings [(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett());
                //Идентификатор соединения с БД_конфигурации
                DbTSQLConfigDatabase.DbConfig().Register();

                _state = validateUser(out msgError);
                switch (_state)
                {
                case -1:
                    msgError = FormMainStatistic.MSG_ERROR_INIT[(int)FormMainStatistic.INDEX_ERROR_INIT.UNKNOWN];
                    break;

                case -3:     //@"Не найден пользователь@
                    break;

                case -2:
                case -5:
                case -4:     //@"Необходимо изменить параметры соединения с БД" - получено из 'Initialize'
                    bRes = false;
                    break;

                case -6:     //@"Пользователю не разрешено использовать задачу" - получено из 'Initialize'
                    break;

                default:
                    //Успех... пост-инициализация
                    m_panel = new PanelCommonAux(formParameters.m_arParametrSetup [(int)StatisticCommon.FormParameters.PARAMETR_SETUP.COMMON_AUX_PATH]
                                                 , SystemColors.ControlText
                                                 , SystemColors.Control);
                    m_panel.SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear);
                    m_panel.Start();

                    (this.MainMenuStrip.Items [1] as ToolStripMenuItem).DropDownItems [0].Enabled = HStatisticUsers.RoleIsAdmin;

                    #region Добавить рабочую панель на форму
                    this._panelMain.SuspendLayout();
                    _panelMain.Controls.Add(this.m_panel);
                    this._panelMain.ResumeLayout(false);
                    this._panelMain.PerformLayout();
                    #endregion

                    break;
                }
                //Отменить регистрацию соединения с БД_конфигурации
                DbTSQLConfigDatabase.DataSource().UnRegister();
            }
            else
            {//Файла с параметрами соединения нет совсем или считанные параметры соединения не валидны
                msgError = @"Необходимо изменить параметры соединения с БД конфигурации";

                bRes = false;
            }

            return(bRes);
        }