Example #1
0
        protected override void getPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/)
        {
            string   query = string.Empty;
            DateTime dtReq = date.Date.Add(-HDateTime.TS_MSK_OFFSET_OF_UTCTIMEZONE);
            int      i     = -1;

            query += @"SELECT [objName], [idFactor], [PBR_NUMBER], [Datetime],"
                     //+ @" SUM([Value_MBT]) as VALUE"
                     + @" [Value_MBT] as VALUE"
                     + @" FROM [dbo].[v_ALL_PARAM_MODES_" + t.GetAddingParameter(TEC.ADDING_PARAM_KEY.PREFIX_MODES_TERMINAL).ToString() + @"]" +
                     @" WHERE [ID_Type_Data] = 3" +
                     @" AND [objName] IN (" + string.Join(@",", comp.m_listMTermId.ToArray()) + @")" +
                     @" AND [Datetime] > " + @"'" + dtReq.ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                     + @" AND [Datetime] <= " + @"'" + dtReq.AddDays(1).ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                     + @" AND [PBR_NUMBER] > 0"
                     //+ @" GROUP BY [idFactor], [PBR_NUMBER], [Datetime]"
                     + @" ORDER BY [Datetime], [PBR_NUMBER]"
            ;

            DbSources.Sources().Request(m_IdListenerCurrent, query);

            //Logging.Logg().Debug("AdminMT::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вЫход...: query=" + query, Logging.INDEX_MESSAGE.NOT_SET);
        }
        /// <summary>
        /// Журналирование завершения приложения
        /// </summary>
        public static void Exit()
        {
            List <Form> listApplicationOpenForms = new List <Form>();

            foreach (Form f in Application.OpenForms)
            {
                listApplicationOpenForms.Add(f);
            }

            foreach (Form f in listApplicationOpenForms)
            {
                if (f is IFormMainBase)
                {
                    (f as IFormMainBase).Close(true);
                }
                else
                if (f is IFormWait)
                {
                    //Здесь м. возникнуть ошибка -
                    // вызов формы из потока в котором форма не была создана ???
                    (f as IFormWait).StopWaitForm();
                }
                else
                {
                    f.Close();
                }
            }

            Logging.Logg().PostStop(MessageExit);
            Logging.Logg().Stop();

            DbSources.Sources().UnRegister();

            Application.Exit(new System.ComponentModel.CancelEventArgs(true));

            HCmd_Arg.SingleInstance.ReleaseMtx();
        }
        /// <summary>
        /// Функция получения пароля для пользователя
        /// </summary>
        private Errors GetPassword(out int er)
        {
            Errors       errRes    = Errors.NoError;
            DbConnection conn      = DbSources.Sources().GetConnection(m_idListener, out er);
            DataTable    passTable = DbTSQLInterface.Select(ref conn, GetPassRequest(), null, null, out er);

            if (er == 0)
            {
                if (!(passTable.Rows[0][0] is DBNull))
                {
                    passReceive = passTable.Rows[0][0].ToString();
                }
                else
                {
                    errRes = Errors.ParseError;
                }
            }
            else
            {
                errRes = Errors.NoAccess;
            }

            return(errRes);
        }
Example #4
0
        public override void Update(out int err)
        {
            err = -1;
            int idListener = DbSources.Sources().Register(m_connSett, false, @"CONFIG_DB");

            m_dbConn = DbSources.Sources().GetConnection(idListener, out err);

            if (err == 0)
            {
                loadParam(false);

                //???Прочитать обновляемые параметры для ТЭЦ

                //???Прочитать обновляемые параметры ...

                //???Куда размещать обновляемые параметры
            }
            else
            {
                ;
            }

            DbSources.Sources().UnRegister(idListener);
        }
Example #5
0
        public static DataTable getConnSettingsOfIdSource(TYPE_DATABASE_CFG typeDB_CFG, int idListener, int id_ext, int id_role, out int err)
        {
            DbConnection conn = DbSources.Sources().GetConnection(idListener, out err);

            return(getConnSettingsOfIdSource(typeDB_CFG, ref conn, id_ext, id_role, out err));
        }
Example #6
0
        public static void OnTECUpdate(object obj, EventArgs ev)
        {
            TEC tec         = obj as TEC;
            int iListenerId = (ev as TECListUpdateEventArgs).m_iListenerId
            , err           = -1;
            DataTable tableRes;

            DataRow []   selRows;
            DbConnection connConfigDB;

            try {
                connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err);

                if (err == 0)
                {
                    //tableRes = getListTEC(ref connConfigDB, true, new int[] { 0, (int)TECComponent.ID.GTP }, out err);
                    ////??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM)
                    //tec.Update (tableRes);

                    tableRes = getListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err);
                    // обновление параметров ГТП
                    if (err == 0)
                    {
                        if (tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0)
                        {
                            // поиск ГТП
                            foreach (TECComponent tc in tec.list_TECComponents)
                            {
                                if (tc.IsGTP == true)
                                {
                                    selRows = tableRes.Select(@"ID=" + tc.m_id);
                                    // проверить наличие значения
                                    if ((selRows.Length == 1) &&
                                        (!(selRows[0]["KoeffAlarmPcur"] is System.DBNull)))
                                    {
                                        // обновить значение коэффициента
                                        tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows[0]["KoeffAlarmPcur"]);
                                    }
                                    else
                                    {
                                        ;
                                    }
                                }
                                else
                                {
                                    ;
                                }
                            }
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                    ;
                }
            } catch (Exception e) {
                Logging.Logg().Exception(e, string.Format(@"InitTEC_200::OnTECUpdate (ID={0}, NAME={1}) - ...", (obj as TEC).m_id, (obj as TEC).name_shr), Logging.INDEX_MESSAGE.NOT_SET);
            }
        }
Example #7
0
        /// <summary>
        /// Инициализация данных формы
        /// </summary>
        /// <param name="msgError">Сообщение об ошибке (при наличии)</param>
        /// <returns>Признак выполнения функции</returns>
        private bool Initialize(out string msgError)
        {
            bool bRes = true;

            msgError = string.Empty;
            int idListenerConfigDB = -1;

            if (s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].Ready == 0)
            {
                _state = InitializeConfigDB(out msgError, out idListenerConfigDB);
                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(s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett());

                    updateParametersSetup();

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

                    //Создать "рабочую" панель
                    m_panelAlarm = new PanelAlarm(idListenerConfigDB
                                                  , 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);
                    _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(idListenerConfigDB);
            }
            else
            {//Файла с параметрами соединения нет совсем или считанные параметры соединения не валидны
                msgError = @"Необходимо изменить параметры соединения с БД конфигурации";

                bRes = false;
            }

            return(bRes);
        }
Example #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);

            int idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(), false, @"CONFIG_DB");

            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(idListener, FormChangeMode.MODE_TECCOMPONENT.ANY, /*iTypeConfigDB, */ markQueries, bIgnoreTECInUse, new int[] { 0, (int)TECComponent.ID.LK });
                    RemoveTEC(m_arAdmin[i]);
                }
                catch (Exception e)
                {
                    Logging.Logg().Exception(e, "FormMainTransTG::FormMainTransTG ()", 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; //-> в конструктор
            }

            DbSources.Sources().UnRegister(idListener);

            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
            {
                ;
            }
        }
Example #9
0
        /// <summary>
        /// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        /// </summary>
        /// <param name="idListener"></param>
        /// <param name="bIgnoreTECInUse"></param>
        /// <param name="bUseData"></param>
        public InitTEC_200(int idListener, bool bIgnoreTECInUse, bool bUseData)
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вход...");

            int err = -1;

            tec = new ListTEC();
            //m_user = new Users(idListener);
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - получение объекта MySqlConnection...");

            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec           = null, // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
                      list_TECComponents = null,
                      list_tg            = null
            , all_PARAM_TG = null;

            all_PARAM_TG = getALL_PARAM_TG(0, out err);

            //Использование статической функции
            list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, out err);

            if (err == 0)
            {
                for (int i = 0; i < list_tec.Rows.Count; i++)
                {
                    //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_tec.Rows[i][\"ID\"] = " + list_tec.Rows[i]["ID"]);

                    if ((HStatisticUsers.allTEC == 0) || (HStatisticUsers.allTEC == Convert.ToInt32(list_tec.Rows[i]["ID"]))
                        /*|| (HStatisticUsers.RoleIsDisp == true)*/)
                    {
                        //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Count = " + tec.Count);

                        //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {
                        //Создание объекта ТЭЦ
                        tec.Add(new TEC(Convert.ToInt32(list_tec.Rows[i]["ID"]),
                                        list_tec.Rows[i]["NAME_SHR"].ToString(),     //"NAME_SHR"
                                        list_tec.Rows[i]["TABLE_NAME_ADMIN"].ToString(),
                                        list_tec.Rows[i]["TABLE_NAME_PBR"].ToString(),
                                        bUseData));

                        int indx_tec = tec.Count - 1;
                        EventTECListUpdate += tec[indx_tec].PerformUpdate;

                        tec[indx_tec].SetNamesField(list_tec.Rows[i]["ADMIN_DATETIME"].ToString(),
                                                    list_tec.Rows[i]["ADMIN_REC"].ToString(),
                                                    list_tec.Rows[i]["ADMIN_IS_PER"].ToString(),
                                                    list_tec.Rows[i]["ADMIN_DIVIAT"].ToString(),
                                                    list_tec.Rows[i]["PBR_DATETIME"].ToString(),
                                                    list_tec.Rows[i]["PPBRvsPBR"].ToString(),
                                                    list_tec.Rows[i]["PBR_NUMBER"].ToString());

                        int indx = -1;
                        tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA"]), -1, out err), (int)CONN_SETT_TYPE.DATA_AISKUE);
                        if (err == 0)
                        {
                            tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA_TM"]), -1, out err), (int)CONN_SETT_TYPE.DATA_SOTIASSO);
                        }
                        else
                        {
                            ;
                        }
                        //if (err == 0) tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA_TM"]), -1, out err), (int)CONN_SETT_TYPE.DATA_SOTIASSO_3_MIN); else ;
                        //if (err == 0) tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA_TM"]), -1, out err), (int)CONN_SETT_TYPE.DATA_SOTIASSO_1_MIN); else ;
                        if (err == 0)
                        {
                            tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_ADMIN"]), -1, out err), (int)CONN_SETT_TYPE.ADMIN);
                        }
                        else
                        {
                            ;
                        }
                        if (err == 0)
                        {
                            tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_PBR"]), -1, out err), (int)CONN_SETT_TYPE.PBR);
                        }
                        else
                        {
                            ;
                        }
                        if ((err == 0) && ((list_tec.Rows[i]["ID_SOURCE_MTERM"] is DBNull) == false))
                        {
                            tec[indx_tec].connSettings(getConnSettingsOfIdSource(Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_MTERM"]), -1, out err), (int)CONN_SETT_TYPE.MTERM);
                        }
                        else
                        {
                            ;
                        }

                        if (err == 0)
                        {
                            tec[indx_tec].m_timezone_offset_msc        = Convert.ToInt32(list_tec.Rows[i]["TIMEZONE_OFFSET_MOSCOW"]);
                            tec[indx_tec].m_path_rdg_excel             = list_tec.Rows[i]["PATH_RDG_EXCEL"].ToString();
                            tec[indx_tec].m_strTemplateNameSgnDataTM   = list_tec.Rows[i]["TEMPLATE_NAME_SGN_DATA_TM"].ToString();
                            tec[indx_tec].m_strTemplateNameSgnDataFact = list_tec.Rows[i]["TEMPLATE_NAME_SGN_DATA_FACT"].ToString();

                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Add () = Ok");

                            list_tg = getListTG(FormChangeMode.getPrefixMode((int)FormChangeMode.MODE_TECCOMPONENT.TEC), Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);

                            if (err == 0)
                            {
                                for (int k = 0; k < list_tg.Rows.Count; k++)
                                {
                                    tec[indx_tec].list_TECComponents.Add(new TECComponent(tec[indx_tec]));

                                    indx = tec[indx_tec].list_TECComponents.Count - 1;

                                    tec[indx_tec].list_TECComponents[indx].name_shr = list_tg.Rows[k]["NAME_SHR"].ToString();     //list_TECComponents.Rows[j]["NAME_GNOVOS"]
                                    if (IsNameField(list_tg, "NAME_FUTURE") == true)
                                    {
                                        tec[indx_tec].list_TECComponents[indx].name_future = list_tg.Rows[k]["NAME_FUTURE"].ToString();
                                    }
                                    else
                                    {
                                        ;
                                    }
                                    tec[indx_tec].list_TECComponents[indx].m_id = Convert.ToInt32(list_tg.Rows[k]["ID"]);

                                    tec[indx_tec].list_TECComponents[indx].m_listTG.Add(new TG());
                                    initTG(tec[indx_tec].list_TECComponents[indx].m_listTG[0], list_tg.Rows[k], all_PARAM_TG);
                                }
                            }
                            else
                            {
                                ;     //Ошибка получения списка ТГ
                            }
                            for (int c = (int)FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > (int)FormChangeMode.MODE_TECCOMPONENT.PC); c++)
                            {
                                list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(c), Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);

                                //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TECComponents.Count = " + list_TECComponents.Rows.Count);

                                if (err == 0)
                                {
                                    try
                                    {
                                        for (int j = 0; j < list_TECComponents.Rows.Count; j++)
                                        {
                                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - ...tec[indx_tec].list_TECComponents.Add(new TECComponent...");

                                            tec[indx_tec].list_TECComponents.Add(new TECComponent(tec[indx_tec]));

                                            indx = tec[indx_tec].list_TECComponents.Count - 1;
                                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - indx = " + indx);

                                            tec[indx_tec].list_TECComponents[indx].name_shr = list_TECComponents.Rows[j]["NAME_SHR"].ToString();     //list_TECComponents.Rows[j]["NAME_GNOVOS"]
                                            if (IsNameField(list_TECComponents, "NAME_FUTURE") == true)
                                            {
                                                tec[indx_tec].list_TECComponents[indx].name_future = list_TECComponents.Rows[j]["NAME_FUTURE"].ToString();
                                            }
                                            else
                                            {
                                                ;
                                            }
                                            tec[indx_tec].list_TECComponents[indx].m_id            = Convert.ToInt32(list_TECComponents.Rows[j]["ID"]);
                                            tec[indx_tec].list_TECComponents[indx].m_listMCentreId = getMCentreId(list_TECComponents, j);
                                            tec[indx_tec].list_TECComponents[indx].m_listMTermId   = getMTermId(list_TECComponents, j);
                                            if ((!(list_TECComponents.Columns.IndexOf("INDX_COL_RDG_EXCEL") < 0)) && (!(list_TECComponents.Rows[j]["INDX_COL_RDG_EXCEL"] is System.DBNull)))
                                            {
                                                tec[indx_tec].list_TECComponents[indx].m_indx_col_rdg_excel = Convert.ToInt32(list_TECComponents.Rows[j]["INDX_COL_RDG_EXCEL"]);
                                            }
                                            else
                                            {
                                                ;
                                            }
                                            if ((list_TECComponents.Columns.IndexOf("KoeffAlarmPcur") > 0) && (!(list_TECComponents.Rows[j]["KoeffAlarmPcur"] is System.DBNull)))
                                            {
                                                tec[indx_tec].list_TECComponents[indx].m_dcKoeffAlarmPcur = Convert.ToInt32(list_TECComponents.Rows[j]["KoeffAlarmPcur"]);
                                            }
                                            else
                                            {
                                                ;
                                            }

                                            //list_tg = getListTG(FormChangeMode.getPrefixMode(c), Convert.ToInt32(list_TECComponents.Rows[j]["ID"]), out err);

                                            if (err == 0)
                                            {
                                                InitTG(tec[indx_tec].list_TECComponents, indx, FormChangeMode.getPrefixMode(c), all_PARAM_TG);
                                            }
                                            else
                                            {
                                                ;     //Ошибка получения списка ТГ
                                            }
                                        }
                                    }
                                    catch (Exception e)
                                    {
                                        Logging.Logg().Exception(e, "InitTEC::InitTEC (3 параметра) - ...for (int j = 0; j < list_TECComponents.Rows.Count; j++)...", Logging.INDEX_MESSAGE.NOT_SET);
                                    }
                                }
                                else
                                {
                                    ;     //Ошибка при получении списка компонентов
                                }
                            }
                        }
                        else
                        {
                            ;     //Ошибка получения параметров соединений с БД
                        }
                        //} else ;

                        //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok");
                    }
                    else
                    {
                        ;
                    }
                }
            }
            else
            {
                ; //Ошибка получения списка ТЭЦ
            }
            //DbTSQLInterface.CloseConnection(m_connConfigDB, out err);

            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход...");
        }
Example #10
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(@"ТЭЦПараметрыНазначение", @"{}");

            HMark markQueries = new HMark(0);

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

            int idListener = -1;

            // определить пользователя по 1-ой БД конфигурации
            idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(0), false, @"CONFIG_DB");
            try {
                using (HStatisticUsers users = new HStatisticUsers(idListener, 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 });
                idListener   = DbSources.Sources().Register(s_listFormConnectionSettings[(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(i), false, @"CONFIG_DB");
                try
                {
                    //((AdminTS_KomDisp)m_arAdmin[i]).InitTEC(m_formConnectionSettingsConfigDB.getConnSett((Int16)CONN_SETT_TYPE.DEST), m_modeTECComponent, true, false);
                    m_arAdmin[i].InitTEC(idListener, 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();

                DbSources.Sources().UnRegister(idListener);
            }

            if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE))
            {
                start();
            }
            else
            {
                ;
            }
        }
Example #11
0
        public override void StartDbInterfaces()
        {
            if (!(m_list_tec == null))
            {
                bool bInitSensorsStrings = (m_markQueries.IsMarked((int)CONN_SETT_TYPE.DATA_AISKUE) == true) ||
                                           (m_markQueries.IsMarked((int)CONN_SETT_TYPE.DATA_SOTIASSO) == true) ||
                                           (m_markQueries.IsMarked((int)CONN_SETT_TYPE.MTERM) == true);
                foreach (TEC t in m_list_tec)
                {
                    if (!(t.connSetts == null))
                    {
                        CONN_SETT_TYPE i = CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE;

                        if (m_dictIdListeners.ContainsKey(t.m_id) == false)
                        {
                            m_dictIdListeners.Add(t.m_id, new int[(int)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE]);

                            for (i = CONN_SETT_TYPE.ADMIN; i < CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
                            {
                                m_dictIdListeners[t.m_id][(int)i] = -1;
                            }
                        }
                        else
                        {
                            ;
                        }

                        for (i = CONN_SETT_TYPE.ADMIN; i < CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
                        {
                            if ((!(t.connSetts[(int)i] == null)) && (m_markQueries.IsMarked((int)i) == true))
                            {
                                if (m_dictIdListeners[t.m_id][(int)i] < 0)
                                {
                                    ;
                                }
                                else
                                {
                                    DbSources.Sources().UnRegister(m_dictIdListeners[t.m_id][(int)i]);
                                }

                                register(t.m_id, t.connSetts[(int)i], t.name_shr, i);
                            }
                            else
                            {
                                ;
                            }
                        }

                        if ((bInitSensorsStrings == true) &&
                            (t.m_bSensorsStrings == false))
                        {
                            t.InitSensorsTEC();
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                        //Вообще нельзя что-либо инициализировать
                        Logging.Logg().Error(@"HAdmin::StartDbInterfaces () - connSetts == null ...", Logging.INDEX_MESSAGE.NOT_SET);
                    }
                } //foreach...
            }
            else
            {
                //Вообще нельзя что-либо инициализировать
                Logging.Logg().Error(@"HAdmin::StartDbInterfaces () - m_list_tec == null ...", Logging.INDEX_MESSAGE.NOT_SET);
            }
        }
Example #12
0
        /// <summary>
        /// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        /// </summary>
        /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param>
        /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        /// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        public InitTEC_200(int idListener, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData)
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вход...");

            int err        = -1;
            TEC newTECItem = null;

            tec = new ListTEC();
            //m_user = new Users(idListener);
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - получение объекта MySqlConnection...");

            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            int indx = -1
                       //, indx_tec = -1
            ;
            string strLog = string.Empty;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , list_lowPointDev   = null
            , all_PARAM_DETAIL   = null;   // ТГ не аналог "вывода". "Вывод" аналог ГТП(ЩУ), Параметр "вывода" аналог ТГ.

            if (err == 0)
            {
                //Получить список ТЭЦ, используя статическую функцию
                list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, arTECLimit, out err);

                if (err == 0)
                {
                    for (int i = 0; i < list_tec.Rows.Count; i++)
                    {
                        //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_tec.Rows[i][\"ID\"] = " + list_tec.Rows[i]["ID"]);

                        if ((HStatisticUsers.allTEC == 0) || (HStatisticUsers.allTEC == Convert.ToInt32(list_tec.Rows[i]["ID"]))
                            /*|| (HStatisticUsers.RoleIsDisp == true)*/)
                        {
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Count = " + tec.Count);

                            //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {
                            //Создание объекта ТЭЦ
                            newTECItem = new TEC(list_tec.Rows[i], bUseData);
                            tec.Add(newTECItem);
                            //indx_tec = tec.Count - 1;

                            EventTECListUpdate += newTECItem /*tec[indx_tec]*/.PerformUpdate;

                            indx = -1;
                            initTECConnectionSettings(i, list_tec.Rows[i]);
                            // получить перечень ТГ со всеми значениями всех свойств
                            all_PARAM_DETAIL = getALL_PARAM_TG(0, out err);

                            if (err == 0)
                            {
                                #region Добавить ТГ для ТЭЦ
                                list_lowPointDev = getListTG(newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    for (int k = 0; k < list_lowPointDev.Rows.Count; k++)
                                    {
                                        newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_lowPointDev.Rows[k]));
                                        indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                        newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_listLowPointDev.Add(new TG(list_lowPointDev.Rows[k], all_PARAM_DETAIL.Select(@"ID_TG=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)[0]));
                                    }
                                }
                                else
                                {
                                    ; //Ошибка получения списка ТГ
                                }
                                #endregion

                                #region Добавить компоненты ТЭЦ (ГТП, ЩУ)
                                for (int c = (int)FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > (int)FormChangeMode.MODE_TECCOMPONENT.PC); c++)
                                {
                                    list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(c), newTECItem.m_id, out err);

                                    //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TECComponents.Count = " + list_TECComponents.Rows.Count);

                                    if (err == 0)
                                    {
                                        try
                                        {
                                            for (int j = 0; j < list_TECComponents.Rows.Count; j++)
                                            {
                                                //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - ...tec[indx_tec].list_TECComponents.Add(new TECComponent...");

                                                newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_TECComponents.Rows[j]));
                                                indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                                newTECItem /*tec[indx_tec]*/.InitTG(indx
                                                                                    , all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(c) + @"=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id));
                                            }
                                        }
                                        catch (Exception e)
                                        {
                                            Logging.Logg().Exception(e, "InitTEC::InitTEC (3 параметра) - ...for (int j = 0; j < list_TECComponents.Rows.Count; j++)...", Logging.INDEX_MESSAGE.NOT_SET);
                                        }
                                    }
                                    else
                                    {
                                        ; //Ошибка при получении списка компонентов
                                    }
                                }
                                #endregion
                            }
                            else
                            {
                                ; // ошибка при получении параметров ТГ
                            }
                            // получить перечень параметров выводов со всеми значениями всех свойств
                            all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err);

                            if (err == 0)
                            {// ВАЖНО! первоначально добавляются компоненты нижнего уровня
                                #region Добавить параметры ВЫВОДов для ТЭЦ
                                list_lowPointDev = getALL_ParamVyvod(newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    for (int k = 0; k < list_lowPointDev.Rows.Count; k++)
                                    {
                                        newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_lowPointDev.Rows[k]));
                                        indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                        newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_listLowPointDev.Add(new Vyvod.ParamVyvod(all_PARAM_DETAIL.Select(@"ID=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)[0]));
                                    }
                                }
                                else
                                {
                                    ; //Ошибка получения списка параметров ВЫВОДов
                                }
                                #endregion

                                #region Добавить компоненты ТЭЦ (ВЫВОДы)
                                list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(-1), newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    foreach (DataRow r in list_TECComponents.Rows)
                                    {
                                        newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, r));
                                        indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                        //???
                                        newTECItem /*tec[indx_tec]*/.InitParamVyvod(-1, all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(-1) + @"=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id));
                                    }
                                }
                                else
                                {
                                    ; // ошибка получения перечня выводов
                                }
                                #endregion
                            }
                            else
                            {
                                ; // ошибка получения параметров выводов
                            }
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok");
                        }
                        else
                        {
                            ;
                        }
                    } // for i
                }
                else
                {
                    ; //Ошибка получения списка ТЭЦ
                }
            }
            else
            {
                ; //Ошибка получения всех параметров для всех ТГ
            }
            //DbTSQLInterface.CloseConnection(m_connConfigDB, out err);

            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход...");
        }
 /// <summary>
 /// Отправить запрос к источнику данных
 /// </summary>
 /// <param name="idListener">Идентификатор подписчика обработки запросов</param>
 /// <param name="request">Содержание запроса</param>
 public void Request(int idListener, string request)
 {
     DbSources.Sources().Request(m_IdListenerCurrent = idListener, request);
 }
Example #14
0
        public void OnTECUpdate(object obj, EventArgs ev)
        {
            TEC tec               = obj as TEC;
            int iListenerId       = (ev as TECListUpdateEventArgs).m_iListenerId
            , err                 = -1;
            string    strMesError = string.Empty;
            DataTable tableRes;

            DataRow []   selRows;
            DbConnection connConfigDB;

            try {
                connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err);

                if (err == 0)
                {
                    //tableRes = getListTEC(ref connConfigDB, true, new int[] { 0, (int)TECComponent.ID.GTP }, out err);
                    ////??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM)
                    //tec.Update (tableRes);

                    tableRes = GetListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err);
                    // обновление параметров ГТП
                    if (err == 0)
                    {
                        err = tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0 ? 0 : -2;  // ранее возвращалось значение "-1"

                        if (err == 0)
                        {
                            // поиск ГТП
                            foreach (TECComponent tc in tec.list_TECComponents)
                            {
                                if (tc.IsGTP == true)
                                {
                                    selRows = tableRes.Select(@"ID=" + tc.m_id);
                                    // проверить наличие значения
                                    if ((selRows.Length == 1) &&
                                        (!(selRows [0] ["KoeffAlarmPcur"] is System.DBNull)))
                                    {
                                        // обновить значение коэффициента
                                        tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows [0] ["KoeffAlarmPcur"]);
                                    }
                                    else
                                    {
                                        ;
                                    }
                                }
                                else
                                {
                                    ;
                                }
                            }
                        }
                        else
                        {
                            strMesError = "результ. табл. не содержит поле [KoeffAlarmPcur]";
                        }
                    }
                    else
                    {
                        //strMesError = "не удалось получить таблицу - список компонентов ТЭЦ"
                        throw new InvalidOperationException(string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - {2} ..."
                                                                          , (obj as TEC).m_id, (obj as TEC).name_shr, @"не удалось получить таблицу - список компонентов ТЭЦ"))
                        ;
                    }
                }
                else
                {
                    strMesError = "не удалось получить объект соединения с БД конфигурации";
                }
            } catch (Exception e) {
                Logging.Logg().Exception(e, string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - ...", (obj as TEC).m_id, (obj as TEC).name_shr), Logging.INDEX_MESSAGE.NOT_SET);
            }

            if (err < 0)
            {
                Logging.Logg().Error(string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - {2} ..."
                                                   , (obj as TEC).m_id, (obj as TEC).name_shr, strMesError), Logging.INDEX_MESSAGE.NOT_SET);
            }
            else
            {
                ;
            }
        }
Example #15
0
 /// <summary>
 /// Отмена регистрации ID
 /// </summary>
 /// <param name="idListener">ID</param>
 protected void unregister_idListenerConfDB(int idListener)
 {
     DbSources.Sources().UnRegister(idListener);
 }
Example #16
0
        public FormTECComponent(ConnectionSettings connSett)
        {
            int err = 0;

            //m_connectionSetttings = connSett;

            InitializeComponent();

            m_list_UIControl = new List <System.Windows.Forms.Control> ();
            m_list_UIControl.Add(dataGridViewTEC);          //INDEX_UICONTROL.TEC
            m_list_UIControl.Add(dataGridViewTECComponent); //INDEX_UICONTROL.TEC_COMPONENT
            m_list_UIControl.Add(dataGridViewTG);           //INDEX_UICONTROL.TG

            this.ColumnTextBoxTECName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TEC].Width - (2 * (23 + 1));
            //Пока добавлять/удалять ТЭЦ нельзя
            this.ColumnTextBoxTECName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TEC].Width - (1 * (23 + 1) + 2);
            this.ColumnButtonTECDel.Visible = false;

            this.ColumnTECComponentName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TEC_COMPONENT].Width - (1 * (23 + 1) + 2);
            this.ColumnTGName.Width           = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TG].Width - (1 * (23 + 1) + 2);

            m_list_UIControl.Add(textBoxTECAdd);
            m_list_UIControl.Add(buttonTECAdd);

            m_list_UIControl.Add(textBoxTECComponentAdd);
            m_list_UIControl.Add(buttonTECComponentAdd);

            m_list_UIControl.Add(comboBoxTGAdd);
            m_list_UIControl.Add(buttonTGAdd);

            m_lockObj = new Object();

            lock (m_lockObj)
            {
            }

            //Пока добавлять/удалять ТЭЦ нельзя
            m_list_UIControl [(int)INDEX_UICONTROL.TEXTBOX_TEC_ADD].Enabled = false;
            m_list_UIControl[(int)INDEX_UICONTROL.BUTTON_TEC_ADD].Enabled   = false;

            // + 1 для ТГ
            m_list_data_original = new DataTable[(int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN)];
            m_list_data          = new DataTable[(int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN)];

            m_idListener = DbSources.Sources().Register(connSett, false, @"Изменение состава ТЭЦ(ГТП, ЩУ)");
            DbConnection conn = DbSources.Sources().GetConnection(m_idListener, out err);

            int i = -1;

            //for (i = (int)(FormChangeMode.MODE_TECCOMPONENT.TEC); i < (int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN + 1); i++)
            for (i = (int)(FormChangeMode.MODE_TECCOMPONENT.TEC); i < (int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN); i++)
            {
                if (m_list_data_original[i] == null)
                {
                    m_list_data_original[i] = DbTSQLInterface.Select(ref conn, "SELECT * FROM " + FormChangeMode.getPrefixMode(i) + "_LIST", null, null, out err);
                }
                else
                {
                    ;
                }

                m_list_data[i] = m_list_data_original[i].Copy();

                Logging.Logg().Debug(@"FormTECComponent::FormTECComponent () - m_list_data[" + ((FormChangeMode.MODE_TECCOMPONENT)i).ToString() + @"].Columns.Count = " + m_list_data[i].Columns.Count, Logging.INDEX_MESSAGE.NOT_SET);
            }

            m_list_dataRow = new List <DataRow[]> (); //[(int)(INDEX_UICONTROL.DATAGRIDVIEW_TG - INDEX_UICONTROL.DATAGRIDVIEW_TEC + 1)];
            for (i = (int)(INDEX_UICONTROL.DATAGRIDVIEW_TEC - INDEX_UICONTROL.DATAGRIDVIEW_TEC); i < (int)(INDEX_UICONTROL.DATAGRIDVIEW_TG - INDEX_UICONTROL.DATAGRIDVIEW_TEC + 1); i++)
            {
                m_list_dataRow.Add(null);
            }

            fillDataGridView(INDEX_UICONTROL.DATAGRIDVIEW_TEC);

            for (i = (int)FormChangeMode.MODE_TECCOMPONENT.TEC; i < (int)FormChangeMode.MODE_TECCOMPONENT.TG; i++)
            {
                comboBoxMode.Items.Add(FormChangeMode.getNameMode((short)i));
            }
            comboBoxMode.SelectedIndex = 0;

            //StartThreadUIControl();
            timerUIControl.Start();
        }
Example #17
0
        public InitTEC_200(int idListener, Int16 indx, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData) //indx = {GTP или PC}
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вход...");

            tec = new ListTEC();

            int err     = 0
            , indx_comp = -1;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , all_PARAM_TG       = null;

            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - получение объекта MySqlConnection...");
            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            //Использование статической функции
            list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, arTECLimit, out err);

            all_PARAM_TG = getALL_PARAM_TG(0, out err);

            if (err == 0)
            {
                for (int i = 0; i < list_tec.Rows.Count; i++)
                {
                    //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - Создание объекта ТЭЦ: " + i);

                    //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {

                    //Создание объекта ТЭЦ
                    tec.Add(new TEC(list_tec.Rows[i], bUseData));

                    EventTECListUpdate += tec[i].PerformUpdate;

                    foreach (KeyValuePair <CONN_SETT_TYPE, string> pair in TEC.s_dictIdConfigDataSources)
                    {
                        if ((err == 0) &&
                            ((list_tec.Rows[i][pair.Value] is DBNull) == false))
                        {
                            tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i][pair.Value]), -1, out err), (int)pair.Key);
                        }
                        else
                        {
                            break;
                        }
                    }

                    // получить список компонентов, с учетом типа компонентов по 'indx'
                    if (err == 0)
                    {
                        list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(indx), Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);
                    }
                    else
                    {
                        ;
                    }

                    if (err == 0)
                    {
                        for (int j = 0; j < list_TECComponents.Rows.Count; j++)
                        {
                            tec[i].list_TECComponents.Add(new TECComponent(tec[i], list_TECComponents.Rows[j]));

                            indx_comp = tec[i].list_TECComponents.Count - 1;

                            if (err == 0)
                            {
                                tec[i].InitTG(j, all_PARAM_TG.Select(@"ID_" + FormChangeMode.getPrefixMode(indx) + @"=" + tec[i].list_TECComponents[indx_comp].m_id));
                            }
                            else
                            {
                                ;     //Ошибка получения списка ТГ
                            }
                        }
                    }
                    else
                    {
                        ;     //Ошибка ???
                    }
                    //} else ;
                }
            }
            else
            {
                ; //Ошибка получения списка ТЭЦ
            }
            //DbTSQLInterface.CloseConnection (m_connConfigDB, out err);

            //ConnectionSettings connSett = new ConnectionSettings();
            //connSett.server = "127.0.0.1";
            //connSett.port = 3306;
            //connSett.dbName = "techsite";
            //connSett.userName = "******";
            //connSett.password = "******";
            //connSett.ignore = false;

            /*
             * int i, j, k; //Индексы для ТЭЦ, ГТП, ТГ
             * tec = new List<TEC>();
             *
             * i = j = k = 0; //Обнуление индекса ТЭЦ, ГТП, ТГ
             *
             * //Создание объекта ТЭЦ (i = 0, Б)
             * tec.Add(new TEC("БТЭЦ"));
             *
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].list_TECComponents.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG1";
             * tec[i].TECComponent[j].name = "ГТП ТГ1"; //GNOVOS36
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ1";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG2";
             * tec[i].TECComponent[j].name = "ГТП ТГ2"; //GNOVOS37
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ2";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG35"; //GNOVOS38
             * tec[i].TECComponent[j].name = "ГТП ТГ3,5";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ3";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ5";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG4";
             * tec[i].TECComponent[j].name = "ГТП ТГ4"; //GNOVOS08
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             *
             * j = k = 0; //Обнуление индекса ГТП, ТГ
             * i ++; //Инкрементируем индекс ТЭЦ
             * tec.Add(new TEC("ТЭЦ-2"));
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "";
             * tec[i].TECComponent[j].name = "";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ3";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ5";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ6";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ9";
             *
             * j = k = 0;
             * i++;
             * tec.Add(new TEC("ТЭЦ-3"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG1";
             * tec[i].TECComponent[j].name = "ГТП ТГ1"; //GNOVOS33
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ1";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG5";
             * tec[i].TECComponent[j].name = "ГТП ТГ5"; //GNOVOS34
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ5";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG712"; //GNOVOS03
             * tec[i].TECComponent[j].name = "ГТП ТГ7-12";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ9";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ10";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ11";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ12";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG1314"; //GNOVOS04
             * tec[i].TECComponent[j].name = "ГТП ТГ13,14";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ13";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ14";
             *
             * j = k = 0;
             * i++;
             * //Создание ТЭЦ и добавление к списку ТЭЦ
             * tec.Add(new TEC("ТЭЦ-4"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG3";
             * tec[i].TECComponent[j].name = "ГТП ТГ3"; //GNOVOS35
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ3";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG48";
             * tec[i].TECComponent[j].name = "ГТП ТГ4-8"; //GNOVOS07
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ5";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ6";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             *
             * j = k = 0; //Обнуление индекса ГТП, ТГ
             * i ++; //Инкрементируем индекс ТЭЦ
             * //Создание ТЭЦ и добавление к списку ТЭЦ
             * tec.Add(new TEC("ТЭЦ-5"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec [i].TECComponent.Add (new TECComponent (tec [i]));
             * tec[i].TECComponent[j].field = "TG12";
             * tec[i].TECComponent[j].name = "ГТП ТГ1,2"; //GNOVOS06
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add (new TG (tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ1";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add (new TG (tec [i].TECComponent [j]));
             * tec [i].TECComponent [j ++].TG [k ++].name = "ТГ2";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec [i].TECComponent.Add (new TECComponent (tec [i]));
             * tec[i].TECComponent[j].field = "TG36";
             * tec[i].TECComponent[j].name = "ГТП ТГ3-6"; //GNOVOS07
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add (new TG (tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ3";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add(new TG(tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ4";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add(new TG(tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ5";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add(new TG(tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ6";
             *
             * j = k = 0; //Обнуление индекса ГТП, ТГ
             * i++; //Инкрементируем индекс ТЭЦ
             * //Создание ТЭЦ и добавление к списку ТЭЦ
             * tec.Add(new TEC("Бийск-ТЭЦ"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG12";
             * tec[i].TECComponent[j].name = "ГТП ТГ1,2";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ1";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ2";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG38";
             * tec[i].TECComponent[j].name = "ГТП ТГ3-8";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ3";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ5";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ6";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             */

            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вЫход...");
        }
Example #18
0
        /// <summary>
        /// Список компонентов (ТЭЦ, ГТП, ЩУ, ТГ) в ~ от индекса компонента
        /// </summary>
        /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param>
        /// <param name="indx">Индекс компонента - значение из перечисления 'FormChangeMode.MODE_TECCOMPONENT' ('0' или > '0' означает TEC(GTP, PC, TG), '-1' означает VYVOD)</param>
        /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        /// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        public InitTEC_200(int idListener, Int16 indx, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData) //indx = {GTP или PC}
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вход...");

            tec = new ListTEC();

            int err     = 0
            , id_comp   = -1
            , indx_comp = -1;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , all_PARAM_DETAIL   = null;

            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - получение объекта MySqlConnection...");
            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            //Использование статической функции
            list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, arTECLimit, out err);

            if (!(indx < 0))
            {
                all_PARAM_DETAIL = getALL_PARAM_TG(0, out err);  // самый новый набор
            }
            else
            {
                all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err); // для всех ТЭЦ
            }
            if (err == 0)
            {
                for (int i = 0; i < list_tec.Rows.Count; i++)
                {
                    //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - Создание объекта ТЭЦ: " + i);

                    //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {

                    //Создание объекта ТЭЦ
                    tec.Add(new TEC(list_tec.Rows[i], bUseData));

                    EventTECListUpdate += tec[i].PerformUpdate;

                    initTECConnectionSettings(i, list_tec.Rows[i]);
                    // получить список компонентов, с учетом типа компонентов по 'indx'
                    list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(indx), Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);

                    if (err == 0)
                    {
                        if (!(indx < 0))
                        {    // инициализация "обычных" компонентов ТЭЦ
                            for (indx_comp = 0; indx_comp < list_TECComponents.Rows.Count; indx_comp++)
                            {
                                id_comp = Convert.ToInt32(list_TECComponents.Rows[indx_comp][@"ID"]);
                                tec[i].AddTECComponent(list_TECComponents.Rows[indx_comp]);
                                tec[i].InitTG(indx_comp, all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(indx) + @"=" + id_comp));
                            }
                        }
                        else
                        {    // инициализация "необычных компонентов" - ВЫВОДов
                            for (indx_comp = 0; indx_comp < list_TECComponents.Rows.Count; indx_comp++)
                            {
                                id_comp = Convert.ToInt32(list_TECComponents.Rows[indx_comp][@"ID"]);
                                tec[i].AddTECComponent(list_TECComponents.Rows[indx_comp]);
                                tec[i].InitParamVyvod(-1, all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(indx) + @"=" + id_comp));
                            }
                        }
                    }
                    else
                    {
                        ;     //Ошибка ???
                    }
                }
            }
            else
            {
                ; //Ошибка получения списка ТЭЦ
            }
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вЫход...");
        }
Example #19
0
            public void StartPan(PanelSourceData.PanelGetDate[] ar_panels)
            {
                int err = -1; //Признак выполнения метода/функции
                //Зарегистрировать соединение/получить идентификатор соединения
                int iListenerId = DbSources.Sources().Register(FormMain.s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett(), false, @"CONFIG_DB");

                DbConnection dbConn = null;

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

                if ((err == 0) && (!(dbConn == null)))
                {
                    m_tableSourceData = DbTSQLInterface.Select(ref dbConn, @"SELECT * FROM source", null, null, out err);

                    if (err == 0)
                    {
                        if (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
                        {
                            ;
                        }
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                    throw new Exception(@"Нет соединения с БД");
                }

                DbSources.Sources().UnRegister(iListenerId);

                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);
                }
            }
Example #20
0
 private void Start()
 {
     m_idListenerConfigDB = DbSources.Sources().Register(m_connSett, false, @"CONFIG_DB");
 }
Example #21
0
                /// <summary>
                /// Конструктор - основной (с аргументами)
                /// </summary>
                /// <param name="iListenerConfigDbId">Идентификатор установленного соединения с БД конфигурации</param>
                /// <param name="listTEC">Список ТЭЦ</param>
                public HandlerDbSignalValue(int iListenerConfigDbId, IEnumerable<TEC> listTEC, IEnumerable<CONN_SETT_TYPE>types)
                    : base()
                {
                    int err = -1
                        , id_tec = -1
                        , id_source = -1;
                    DbConnection dbConn;

                    _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) {
                                id_source = id_tec * 10
                                    + (type == CONN_SETT_TYPE.DATA_AISKUE ? 1
                                        : type == CONN_SETT_TYPE.DATA_SOTIASSO ? 2
                                            : -1); //??? "-1" - ошибка

                                if (m_dictConnSett[id_tec].ContainsKey(type) == false) {
                                    m_dictConnSett[id_tec].Add(type
                                        , new ConnectionSettings(InitTECBase.getConnSettingsOfIdSource(iListenerConfigDbId, 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>();
                }
Example #22
0
 private void Stop()
 {
     DbSources.Sources().UnRegister(m_idListenerConfigDB);
     m_idListenerConfigDB = -1;
 }
Example #23
0
        public static DataTable getConnSettingsOfIdSource(int idListener, int id_ext, int id_role, out int err)
        {
            DbConnection conn = DbSources.Sources().GetConnection(idListener, out err);

            return(getConnSettingsOfIdSource(ref conn, id_ext, id_role, out err));
        }
Example #24
0
        protected override void loadParam(bool bInit)
        {
            int j = -1
            , err = -1
            , tg_id;

            Start();

            DbConnection conn = DbSources.Sources().GetConnection(m_idListenerConfigDB, out err);

            DataTable tblTGSensors = DbTSQLInterface.Select(ref conn, getQueryParam((int)m_State), null, null, out err);

            DataRow [] rowsRes;

            if (err == 0)
            {
                for (j = 0; j < COUNT_TG; j++)
                {
                    rowsRes = tblTGSensors.Select(getWhereParamTG(j + 1));
                    if (rowsRes.Length == 1)
                    {
                        for (int i = (int)TG.ID_TIME.MINUTES; i < (int)TG.ID_TIME.COUNT_ID_TIME; i++)
                        {
                            if (int.TryParse(rowsRes[0][NAME_FIELDS_TIME[i]].ToString(), out tg_id) == true)
                            {
                                m_tg_id[i, j] = tg_id;
                            }
                            else
                            {
                                ;
                            }
                        }
                    }
                    else
                    {
                        break;
                    }
                }

                if (!(j < COUNT_TG))
                {
                    //tblTGSensors = DbTSQLInterface.Select(ref conn, getQueryParam((int)TYPE_VALUE.PREVIOUS), null, null, out err);
                    tblTGSensors = DbTSQLInterface.Select(ref conn, getQueryParam(m_State + 1), null, null, out err);

                    if (err == 0)
                    {
                        if (tblTGSensors.Rows.Count < COUNT_TG)
                        {
                            err = -2;
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                    }

                    if (err == 0)
                    {
                        for (j = 0; j < COUNT_TG; j++)
                        {
                            rowsRes = tblTGSensors.Select(getWhereParamTG(j + 1));
                            if (rowsRes.Length == 1)
                            {
                                for (int i = (int)TG.ID_TIME.MINUTES; i < (int)TG.ID_TIME.COUNT_ID_TIME; i++)
                                {
                                    if (int.TryParse(rowsRes[0][NAME_FIELDS_TIME[i]].ToString(), out tg_id) == true)
                                    {
                                        m_tg_id_default[i, j] = tg_id;
                                    }
                                    else
                                    {
                                        ;
                                    }
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                    else
                    {
                        for (j = 0; j < COUNT_TG; j++)
                        {
                            for (int i = (int)TG.ID_TIME.MINUTES; i < (int)TG.ID_TIME.COUNT_ID_TIME; i++)
                            {
                                m_tg_id_default [i, j] = m_tg_id [i, j];
                            }
                        }
                    }

                    if (!(j < COUNT_TG))
                    {
                        base.loadParam(bInit);
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                    ; //Ошибка
                }
            }
            else
            {
                //Ошибка получения объекта "соединение" с БД конфигурации
                Logging.Logg().Error(@"FormParametrsTG::loadParam (" + getQueryParam((int)m_State) + @")", Logging.INDEX_MESSAGE.NOT_SET);
            }

            Stop();
        }
Example #25
0
        public InitTEC_200(int idListener, Int16 indx, bool bIgnoreTECInUse, bool bUseData) //indx = {GTP или PC}
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вход...");

            tec = new ListTEC();

            int err = 0;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec           = null, // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
                      list_TECComponents = null,
                      list_tg            = null
            , allParamTG = null;

            //Использование методов объекта
            //int listenerId = -1;
            //bool err = false;
            //DbInterface dbInterface = new DbInterface (DbInterface.DB_TSQL_INTERFACE_TYPE.MySQL, 1);
            //listenerId = dbInterface.ListenerRegister();
            //dbInterface.Start ();

            //dbInterface.SetConnectionSettings(connSett);

            //DbTSQLInterface.Select(listenerId, "SELECT * FROM TEC_LIST");
            //dbInterface.Response(listenerId, out err, out list_tec);

            //dbInterface.Stop();
            //dbInterface.ListenerUnregister(listenerId);

            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - получение объекта MySqlConnection...");
            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            //Использование статической функции
            list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, out err);

            allParamTG = getALL_PARAM_TG(0, out err);

            if (err == 0)
            {
                for (int i = 0; i < list_tec.Rows.Count; i++)
                {
                    //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - Создание объекта ТЭЦ: " + i);

                    //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {

                    //Создание объекта ТЭЦ
                    tec.Add(new TEC(Convert.ToInt32(list_tec.Rows[i]["ID"]),
                                    list_tec.Rows[i]["NAME_SHR"].ToString(),     //"NAME_SHR"
                                    list_tec.Rows[i]["TABLE_NAME_ADMIN"].ToString(),
                                    list_tec.Rows[i]["TABLE_NAME_PBR"].ToString(),
                                    bUseData));

                    EventTECListUpdate += tec[i].PerformUpdate;

                    //List <string> listNamesField;
                    //listNamesField = new List<string> ();
                    //listNamesField.Add ();
                    tec[i].SetNamesField(list_tec.Rows[i]["ADMIN_DATETIME"].ToString(),
                                         list_tec.Rows[i]["ADMIN_REC"].ToString(),
                                         list_tec.Rows[i]["ADMIN_IS_PER"].ToString(),
                                         list_tec.Rows[i]["ADMIN_DIVIAT"].ToString(),
                                         list_tec.Rows[i]["PBR_DATETIME"].ToString(),
                                         list_tec.Rows[i]["PPBRvsPBR"].ToString(),
                                         list_tec.Rows[i]["PBR_NUMBER"].ToString());

                    tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA"]), -1, out err), (int)CONN_SETT_TYPE.DATA_AISKUE);
                    if (err == 0)
                    {
                        tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA_TM"]), -1, out err), (int)CONN_SETT_TYPE.DATA_SOTIASSO);
                    }
                    else
                    {
                        ;
                    }
                    //if (err == 0) tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(m_typeDB_CFG, ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA_TM"]), -1, out err), (int)CONN_SETT_TYPE.DATA_SOTIASSO_3_MIN); else ;
                    //if (err == 0) tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(m_typeDB_CFG, ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_DATA_TM"]), -1, out err), (int)CONN_SETT_TYPE.DATA_SOTIASSO_1_MIN); else ;
                    if (err == 0)
                    {
                        tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_ADMIN"]), -1, out err), (int)CONN_SETT_TYPE.ADMIN);
                    }
                    else
                    {
                        ;
                    }
                    if (err == 0)
                    {
                        tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_PBR"]), -1, out err), (int)CONN_SETT_TYPE.PBR);
                    }
                    else
                    {
                        ;
                    }
                    if ((err == 0) && ((list_tec.Rows[i]["ID_SOURCE_MTERM"] is DBNull) == false))
                    {
                        tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i]["ID_SOURCE_MTERM"]), -1, out err), (int)CONN_SETT_TYPE.MTERM);
                    }
                    else
                    {
                        ;
                    }

                    tec[i].m_timezone_offset_msc        = Convert.ToInt32(list_tec.Rows[i]["TIMEZONE_OFFSET_MOSCOW"]);
                    tec[i].m_path_rdg_excel             = list_tec.Rows[i]["PATH_RDG_EXCEL"].ToString();
                    tec[i].m_strTemplateNameSgnDataTM   = list_tec.Rows[i]["TEMPLATE_NAME_SGN_DATA_TM"].ToString();
                    tec[i].m_strTemplateNameSgnDataFact = list_tec.Rows[i]["TEMPLATE_NAME_SGN_DATA_FACT"].ToString();

                    if (err == 0)
                    {
                        list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(indx), Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);
                    }
                    else
                    {
                        ;
                    }
                    if (err == 0)
                    {
                        for (int j = 0; j < list_TECComponents.Rows.Count; j++)
                        {
                            tec[i].list_TECComponents.Add(new TECComponent(tec[i]));
                            tec[i].list_TECComponents[j].name_shr = list_TECComponents.Rows[j]["NAME_SHR"].ToString();     //list_TECComponents.Rows[j]["NAME_GNOVOS"]
                            if (IsNameField(list_TECComponents, "NAME_FUTURE") == true)
                            {
                                tec[i].list_TECComponents[j].name_future = list_TECComponents.Rows[j]["NAME_FUTURE"].ToString();
                            }
                            else
                            {
                                ;
                            }
                            tec[i].list_TECComponents[j].m_id            = Convert.ToInt32(list_TECComponents.Rows[j]["ID"]);
                            tec[i].list_TECComponents[j].m_listMCentreId = getMCentreId(list_TECComponents, j);
                            tec[i].list_TECComponents[j].m_listMTermId   = getMTermId(list_TECComponents, j);
                            if ((!(list_TECComponents.Columns.IndexOf("INDX_COL_RDG_EXCEL") < 0)) && (!(list_TECComponents.Rows[j]["INDX_COL_RDG_EXCEL"] is System.DBNull)))
                            {
                                tec[i].list_TECComponents[j].m_indx_col_rdg_excel = Convert.ToInt32(list_TECComponents.Rows[j]["INDX_COL_RDG_EXCEL"]);
                            }
                            else
                            {
                                ;
                            }
                            if ((!(list_TECComponents.Columns.IndexOf("KoeffAlarmPcur") < 0)) && (!(list_TECComponents.Rows[j]["KoeffAlarmPcur"] is System.DBNull)))
                            {
                                tec[i].list_TECComponents[j].m_dcKoeffAlarmPcur = Convert.ToInt32(list_TECComponents.Rows[j]["KoeffAlarmPcur"]);
                            }
                            else
                            {
                                ;
                            }

                            //list_tg = getListTG(FormChangeMode.getPrefixMode(indx), Convert.ToInt32(list_TECComponents.Rows[j]["ID"]), out err);

                            if (err == 0)
                            {
                                InitTG(tec[i].list_TECComponents, j, FormChangeMode.getPrefixMode(indx), allParamTG);
                            }
                            else
                            {
                                ;     //Ошибка получения списка ТГ
                            }
                        }
                    }
                    else
                    {
                        ;     //Ошибка ???
                    }
                    //} else ;
                }
            }
            else
            {
                ; //Ошибка получения списка ТЭЦ
            }
            //DbTSQLInterface.CloseConnection (m_connConfigDB, out err);

            //ConnectionSettings connSett = new ConnectionSettings();
            //connSett.server = "127.0.0.1";
            //connSett.port = 3306;
            //connSett.dbName = "techsite";
            //connSett.userName = "******";
            //connSett.password = "******";
            //connSett.ignore = false;

            /*
             * int i, j, k; //Индексы для ТЭЦ, ГТП, ТГ
             * tec = new List<TEC>();
             *
             * i = j = k = 0; //Обнуление индекса ТЭЦ, ГТП, ТГ
             *
             * //Создание объекта ТЭЦ (i = 0, Б)
             * tec.Add(new TEC("БТЭЦ"));
             *
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].list_TECComponents.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG1";
             * tec[i].TECComponent[j].name = "ГТП ТГ1"; //GNOVOS36
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ1";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG2";
             * tec[i].TECComponent[j].name = "ГТП ТГ2"; //GNOVOS37
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ2";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG35"; //GNOVOS38
             * tec[i].TECComponent[j].name = "ГТП ТГ3,5";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ3";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ5";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG4";
             * tec[i].TECComponent[j].name = "ГТП ТГ4"; //GNOVOS08
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             *
             * j = k = 0; //Обнуление индекса ГТП, ТГ
             * i ++; //Инкрементируем индекс ТЭЦ
             * tec.Add(new TEC("ТЭЦ-2"));
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "";
             * tec[i].TECComponent[j].name = "";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ3";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ5";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ6";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ9";
             *
             * j = k = 0;
             * i++;
             * tec.Add(new TEC("ТЭЦ-3"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG1";
             * tec[i].TECComponent[j].name = "ГТП ТГ1"; //GNOVOS33
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ1";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG5";
             * tec[i].TECComponent[j].name = "ГТП ТГ5"; //GNOVOS34
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ5";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG712"; //GNOVOS03
             * tec[i].TECComponent[j].name = "ГТП ТГ7-12";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ9";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ10";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ11";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ12";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG1314"; //GNOVOS04
             * tec[i].TECComponent[j].name = "ГТП ТГ13,14";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ13";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ14";
             *
             * j = k = 0;
             * i++;
             * //Создание ТЭЦ и добавление к списку ТЭЦ
             * tec.Add(new TEC("ТЭЦ-4"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG3";
             * tec[i].TECComponent[j].name = "ГТП ТГ3"; //GNOVOS35
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ3";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG48";
             * tec[i].TECComponent[j].name = "ГТП ТГ4-8"; //GNOVOS07
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ5";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ6";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * //Создание ТГ и добавление к ГТП
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             *
             * j = k = 0; //Обнуление индекса ГТП, ТГ
             * i ++; //Инкрементируем индекс ТЭЦ
             * //Создание ТЭЦ и добавление к списку ТЭЦ
             * tec.Add(new TEC("ТЭЦ-5"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec [i].TECComponent.Add (new TECComponent (tec [i]));
             * tec[i].TECComponent[j].field = "TG12";
             * tec[i].TECComponent[j].name = "ГТП ТГ1,2"; //GNOVOS06
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add (new TG (tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ1";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add (new TG (tec [i].TECComponent [j]));
             * tec [i].TECComponent [j ++].TG [k ++].name = "ТГ2";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec [i].TECComponent.Add (new TECComponent (tec [i]));
             * tec[i].TECComponent[j].field = "TG36";
             * tec[i].TECComponent[j].name = "ГТП ТГ3-6"; //GNOVOS07
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add (new TG (tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ3";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add(new TG(tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ4";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add(new TG(tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ5";
             * //Создание ТГ и добавление к ГТП
             * tec [i].TECComponent [j].TG.Add(new TG(tec [i].TECComponent [j]));
             * tec [i].TECComponent [j].TG [k ++].name = "ТГ6";
             *
             * j = k = 0; //Обнуление индекса ГТП, ТГ
             * i++; //Инкрементируем индекс ТЭЦ
             * //Создание ТЭЦ и добавление к списку ТЭЦ
             * tec.Add(new TEC("Бийск-ТЭЦ"));
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG12";
             * tec[i].TECComponent[j].name = "ГТП ТГ1,2";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ1";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j++].TG[k++].name = "ТГ2";
             * k = 0; //Обнуление индекса ТГ
             * //Создание ГТП и добавление к ТЭЦ
             * tec[i].TECComponent.Add(new TECComponent(tec[i]));
             * tec[i].TECComponent[j].field = "TG38";
             * tec[i].TECComponent[j].name = "ГТП ТГ3-8";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ3";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ4";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ5";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ6";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ7";
             * tec[i].TECComponent[j].TG.Add(new TG(tec[i].TECComponent[j]));
             * tec[i].TECComponent[j].TG[k++].name = "ТГ8";
             */

            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вЫход...");
        }
Example #26
0
        /// <summary>
        /// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        /// </summary>
        /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param>
        /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        public InitTEC_200(int idListener, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData)
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вход...");

            int err = -1;

            tec = new ListTEC();
            //m_user = new Users(idListener);
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - получение объекта MySqlConnection...");

            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , list_tg            = null
            , all_PARAM_TG       = null;

            all_PARAM_TG = getALL_PARAM_TG(0, out err);

            if (err == 0)
            {
                //Получить список ТЭЦ, используя статическую функцию
                list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, arTECLimit, out err);

                if (err == 0)
                {
                    for (int i = 0; i < list_tec.Rows.Count; i++)
                    {
                        //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_tec.Rows[i][\"ID\"] = " + list_tec.Rows[i]["ID"]);

                        if ((HStatisticUsers.allTEC == 0) || (HStatisticUsers.allTEC == Convert.ToInt32(list_tec.Rows[i]["ID"]))
                            /*|| (HStatisticUsers.RoleIsDisp == true)*/)
                        {
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Count = " + tec.Count);

                            //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {
                            //Создание объекта ТЭЦ
                            tec.Add(new TEC(list_tec.Rows[i], bUseData));

                            int indx_tec = tec.Count - 1;
                            EventTECListUpdate += tec[indx_tec].PerformUpdate;

                            int indx = -1;
                            foreach (KeyValuePair <CONN_SETT_TYPE, string> pair in TEC.s_dictIdConfigDataSources)
                            {
                                if ((err == 0) &&
                                    ((list_tec.Rows[i][pair.Value] is DBNull) == false))
                                {
                                    tec[i].connSettings(ConnectionSettingsSource.GetConnectionSettings(ref m_connConfigDB, Convert.ToInt32(list_tec.Rows[i][pair.Value]), -1, out err), (int)pair.Key);
                                }
                                else
                                {
                                    break;
                                }
                            }

                            if (err == 0)
                            {
                                //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Add () = Ok");

                                list_tg = getListTG(Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);

                                if (err == 0)
                                {
                                    for (int k = 0; k < list_tg.Rows.Count; k++)
                                    {
                                        tec[indx_tec].list_TECComponents.Add(new TECComponent(tec[indx_tec], list_tg.Rows[k]));

                                        indx = tec[indx_tec].list_TECComponents.Count - 1;

                                        tec[indx_tec].list_TECComponents[indx].m_listTG.Add(new TG(list_tg.Rows[k], all_PARAM_TG.Select(@"ID_TG=" + tec[indx_tec].list_TECComponents[indx].m_id)[0]));
                                    }
                                }
                                else
                                {
                                    ; //Ошибка получения списка ТГ
                                }
                                for (int c = (int)FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > (int)FormChangeMode.MODE_TECCOMPONENT.PC); c++)
                                {
                                    list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(c), Convert.ToInt32(list_tec.Rows[i]["ID"]), out err);

                                    //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TECComponents.Count = " + list_TECComponents.Rows.Count);

                                    if (err == 0)
                                    {
                                        try
                                        {
                                            for (int j = 0; j < list_TECComponents.Rows.Count; j++)
                                            {
                                                //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - ...tec[indx_tec].list_TECComponents.Add(new TECComponent...");

                                                tec[indx_tec].list_TECComponents.Add(new TECComponent(tec[indx_tec], list_TECComponents.Rows[j]));

                                                indx = tec[indx_tec].list_TECComponents.Count - 1;

                                                if (err == 0)
                                                {
                                                    tec[indx_tec].InitTG(indx, all_PARAM_TG.Select(@"ID_" + FormChangeMode.getPrefixMode(c) + @"=" + tec[indx_tec].list_TECComponents[indx].m_id));
                                                }
                                                //InitTG(tec[indx_tec].list_TECComponents, indx, all_PARAM_TG.Select(@"ID_" + FormChangeMode.getPrefixMode(c) + @"=" + tec[indx_tec].list_TECComponents[indx].m_id));
                                                else
                                                {
                                                    ; //Ошибка получения списка ТГ
                                                }
                                            }
                                        }
                                        catch (Exception e)
                                        {
                                            Logging.Logg().Exception(e, "InitTEC::InitTEC (3 параметра) - ...for (int j = 0; j < list_TECComponents.Rows.Count; j++)...", Logging.INDEX_MESSAGE.NOT_SET);
                                        }
                                    }
                                    else
                                    {
                                        ; //Ошибка при получении списка компонентов
                                    }
                                }
                            }
                            else
                            {
                                ; //Ошибка получения параметров соединений с БД
                            }
                            //} else ;

                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok");
                        }
                        else
                        {
                            ;
                        }
                    }
                }
                else
                {
                    ; //Ошибка получения списка ТЭЦ
                }
            }
            else
            {
                ; //Ошибка получения всех параметров для всех ТГ
            }
            //DbTSQLInterface.CloseConnection(m_connConfigDB, out err);

            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход...");
        }
Example #27
0
        //SortedList<DateTime, OneField> HourlyFieldValues;

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

            m_bCalculatedHalfHourValues = bCalculatedHalfHourValues;

            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);

            //Соединение дл я БД конфигурации
            m_idListener = DbSources.Sources().Register(connSett, false, @"CONFIG_DB");
            m_connection = DbSources.Sources().GetConnection(m_idListener, 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 });

                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);

                m_admin.InitTEC(m_idListener, FormChangeMode.MODE_TECCOMPONENT.GTP, /*typeConfigDB, */ markQueries, true, new int [] { 0, (int)TECComponent.ID.LK });
                m_listIndexTECComponent = m_admin.GetListIndexTECComponent(FormChangeMode.MODE_TECCOMPONENT.GTP, true);

                m_listIdMCTECComponent = new List <int>();

                int i = -1, j = -1;
                for (i = 0; i < m_listIndexTECComponent.Count; i++)
                {
                    for (j = 0; j < m_admin.allTECComponents[m_listIndexTECComponent[i]].m_listMCentreId.Count; j++)
                    {
                        m_listIdMCTECComponent.Add(m_admin.allTECComponents[m_listIndexTECComponent[i]].m_listMCentreId[j]);
                    }
                }

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

                    m_idListener       = DbSources.Sources().Register(m_admin.allTECComponents[m_listIndexTECComponent[0]].tec.connSetts[(int)StatisticCommon.CONN_SETT_TYPE.PBR], false, @"PBR");
                    m_connection       = DbSources.Sources().GetConnection(m_idListener, out iRes);
                    m_strTableNamePPBR = m_admin.allTECComponents[m_listIndexTECComponent[0]].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);
            }
        }
Example #28
0
        /// <summary>
        /// Инициализация п.п. главного меню
        ///  в ~ от разрешенных к загрузке плюгИнов
        /// </summary>
        /// <param name="strErr">Сообщение об ошибке</param>
        /// <returns>Результат инициализации меню</returns>
        private int initializeMenu(out string strErr)
        {
            int iRes     = -1
            , idListener = -1;

            strErr = string.Empty;

            string strUserDomainName = string.Empty;

            idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)CONN_SETT_TYPE.MAIN_DB].getConnSett(), false, @"MAIN_DB");

            try {
                using (HTepUsers users = new HTepUsers(idListener)) {; }

                iRes = 0;
            }
            catch (Exception e) { }

            if (iRes == 0)
            {
                initializeLogging();

                s_plugIns.Load(HTepUsers.GetPlugins(idListener, out iRes));

                if (iRes == 0)
                {
                    //Проверить рез-т чтения наименования плюгина
                    if (iRes == 0)
                    {
                        ToolStripMenuItem miOwner = null
                        , miItem = null;
                        string[] arHierarchyOwnerMenuItems;
                        //Циклл по строкам - идентификатрам/разрешениям использовать плюгин
                        foreach (IPlugIn plugIn in s_plugIns.Values)
                        {
                            arHierarchyOwnerMenuItems =
                                (plugIn as PlugInMenuItem).NameOwnerMenuItem.Split(new char [] { '\\' }, StringSplitOptions.None);;
                            //Поиск пункта "родительского" пункта меню для плюг'ина
                            miOwner = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[0]);
                            //Проверка найден ли "родительский" пункт меню для плюг'ина
                            if (miOwner == null)
                            {                  //НЕ найден - создаем
                                int indx = -1; // индекс для добавляемого пункта
                                if (arHierarchyOwnerMenuItems[0].Equals(@"Помощь") == false)
                                {
                                    // индекс для всех пунктов кроме "Помощь"
                                    indx = this.MainMenuStrip.Items.Count - 1;
                                }
                                else
                                {
                                    ;
                                }

                                if (indx < 0)
                                {
                                    // для пункта "Помощь" - он всегда крайний
                                    //  , и не имеет сложной иерархии
                                    this.MainMenuStrip.Items.Add(miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0]));
                                }
                                else
                                {
                                    // для всех пунктов кроме "Помощь"
                                    this.MainMenuStrip.Items.Insert(indx, miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0]));
                                }
                            }
                            else
                            {
                                ;
                            }
                            //Реализовать иерархию п.п. (признак наличия иерархии - длина массива)
                            for (int i = 1; i < arHierarchyOwnerMenuItems.Length; i++)
                            {
                                //Найти п. меню очередного уровня
                                miItem = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[i]);
                                if (miItem == null)
                                {
                                    // в случае отсутствия добавить к ранее найденному
                                    miOwner.DropDownItems.Add(miItem = new ToolStripMenuItem(arHierarchyOwnerMenuItems[i]));
                                }
                                else
                                {
                                    ;
                                }

                                miOwner = miItem;
                            }
                            //Добавить пункт меню для плюг'ина
                            miItem = miOwner.DropDownItems.Add((plugIn as PlugInMenuItem).NameMenuItem) as ToolStripMenuItem;
                            //Обработку выбора пункта меню предоставить плюг'ину
                            miItem.Click += (plugIn as PlugInMenuItem).OnClickMenuItem;
                            //Добавить обработчик запросов для плюг'ина от главной формы
                            (plugIn as PlugInBase).EvtDataAskedHost += new DelegateObjectFunc(s_plugIns.OnEvtDataAskedHost);

                            initializePlugIn(plugIn);
                        }

                        if (iRes == 0)
                        {
                            профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Checked = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_CHECKED));
                            профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Enabled = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_ACCESS));
                            //Успешный запуск на выполнение приложения
                            Start();
                        }
                        else
                        {
                            switch (iRes)
                            {
                            case -2:
                                strErr = @"Не удалось загрузить все разрешенные для использования модули из списка (несоответствие идентификатроов)";
                                break;

                            case -1:
                            default:
                                strErr = @"Не удалось загрузить все разрешенные для использования модули из списка";
                                break;
                            }
                        }
                    }
                    else
                    {
                        if (iRes == 0)
                        {
                            iRes = -1;
                        }
                        else
                        {
                            ;
                        }
                        strErr = @"Не удалось сформировать список разрешенных для использования модулей";
                    }
                }
                else
                {
                    if (iRes == 0)
                    {
                        iRes = -1;
                    }
                    else
                    {
                        ;
                    }
                    strErr = @"Не удалось сформировать правила для роли пользователя";
                }
            }
            else
            {
                if (iRes == 0)
                {
                    iRes = -1;
                }
                else
                {
                    ;
                }
                strErr = @"Не удалось идентифицировать пользователя";
            }

            DbSources.Sources().UnRegister(idListener);

            return(iRes);
        }
Example #29
0
        /// <summary>
        /// Инициализация п.п. главного меню
        ///  в ~ от разрешенных к загрузке плюгИнов
        /// </summary>
        /// <param name="strErr">Сообщение об ошибке</param>
        /// <returns>Результат инициализации меню</returns>
        private int initializeMenu(out string strErr)
        {
            int iRes = -1
            , idListener = -1
            , iKeyPlugIn = -1, iKeyFPanel = -1;

            strErr = string.Empty;

            string strUserDomainName = string.Empty;

            string [] arIdFPanels = null;

            idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)CONN_SETT_TYPE.MAIN_DB].getConnSett(), false, @"MAIN_DB");

            initializeLogging();

            s_plugIns.Load(HTepUsers.GetPlugins(idListener, out iRes), out iRes);

            if (iRes == 0)
            {
                arIdFPanels = HTepUsers.GetIdIsUseFPanels(idListener, out iRes).Split(new char[] { ',' }, StringSplitOptions.None);
                //Проверить рез-т чтения наименования плюгина
                if (iRes == 0)
                {
                    ToolStripMenuItem miOwner = null
                    , miItem = null;
                    string[] arHierarchyOwnerMenuItems;
                    //Циклл по строкам - идентификатрам/разрешениям использовать плюгин
                    foreach (string key in arIdFPanels)
                    {
                        iKeyFPanel = Int32.Parse(key);
                        iKeyPlugIn = s_plugIns.GetKeyOfIdFPanel(iKeyFPanel);
                        if (!(iKeyPlugIn < 0))
                        {
                            arHierarchyOwnerMenuItems = s_plugIns[iKeyPlugIn].GetNameOwnerMenuItem(iKeyFPanel).Split(new char[] { '\\' }, StringSplitOptions.None);
                            //Поиск пункта "родительского" пункта меню для плюг'ина
                            miOwner = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[0]);
                            //Проверка найден ли "родительский" пункт меню для плюг'ина
                            if (miOwner == null)
                            {                  //НЕ найден - создаем
                                int indx = -1; // индекс для добавляемого пункта
                                if (arHierarchyOwnerMenuItems[0].Equals(@"Помощь") == false)
                                {
                                    // индекс для всех пунктов кроме "Помощь"
                                    indx = this.MainMenuStrip.Items.Count - 1;
                                }
                                else
                                {
                                    ;
                                }

                                if (indx < 0)
                                {
                                    // для пункта "Помощь" - он всегда крайний
                                    //  , и не имеет сложной иерархии
                                    this.MainMenuStrip.Items.Add(miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0]));
                                }
                                else
                                {
                                    // для всех пунктов кроме "Помощь"
                                    this.MainMenuStrip.Items.Insert(indx, miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0]));
                                }
                            }
                            else
                            {
                                ;
                            }
                            //Реализовать иерархию п.п. (признак наличия иерархии - длина массива)
                            for (int i = 1; i < arHierarchyOwnerMenuItems.Length; i++)
                            {
                                //Найти п. меню очередного уровня
                                miItem = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[i]);
                                if (miItem == null)
                                {
                                    // в случае отсутствия добавить к ранее найденному
                                    miOwner.DropDownItems.Add(miItem = new ToolStripMenuItem(arHierarchyOwnerMenuItems[i]));
                                }
                                else
                                {
                                    ;
                                }

                                miOwner = miItem;
                            }
                            //Добавить пункт меню для плюг'ина
                            miItem     = miOwner.DropDownItems.Add(s_plugIns[iKeyPlugIn].GetNameMenuItem(iKeyFPanel)) as ToolStripMenuItem;
                            miItem.Tag = iKeyFPanel;
                            //Обработку выбора пункта меню предоставить плюг'ину
                            miItem.Click += s_plugIns[iKeyPlugIn].OnClickMenuItem; //postOnClickMenuItem;
                            //Добавить обработчик запросов для плюг'ина от главной формы
                            // только ОДИН раз
                            if ((s_plugIns[iKeyPlugIn] as PlugInBase).IsEvtDataAskedHostHandled == false)
                            {
                                (s_plugIns[iKeyPlugIn] as PlugInBase).EvtDataAskedHost += new DelegateObjectFunc(s_plugIns.OnEvtDataAskedHost);
                            }
                            else
                            {
                                ;
                            }

                            initializePlugIn(s_plugIns[iKeyPlugIn]);
                        }
                        else
                        {
                            Logging.Logg().Error(@"FormMain::initializeMenu () - не найден плюгИн для вкладки (ID=" + iKeyFPanel + @")...", Logging.INDEX_MESSAGE.NOT_SET);
                        }
                    }

                    if (iRes == 0)
                    {
                        профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Checked = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_CHECKED));
                        профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Enabled = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_ACCESS));
                        //Успешный запуск на выполнение приложения
                        Start();
                    }
                    else
                    {
                        switch (iRes)
                        {
                        case -2:
                            strErr = @"Не удалось загрузить все разрешенные для использования модули из списка (несоответствие идентификатроов)";
                            break;

                        case -1:
                        default:
                            strErr = @"Не удалось загрузить все разрешенные для использования модули из списка";
                            break;
                        }
                    }
                }
                else
                {
                    if (iRes == 0)
                    {
                        iRes = -1;
                    }
                    else
                    {
                        ;
                    }
                    strErr = @"Не удалось сформировать список разрешенных для использования модулей";
                }
            }
            else
            {
                if (iRes == 0)
                {
                    iRes = -1;
                }
                else
                {
                    ;
                }
                strErr = @"Ошибка при загрузке библиотек - см. лог-файл...";
            }

            DbSources.Sources().UnRegister(idListener);

            return(iRes);
        }
Example #30
0
        /// <summary>
        /// Запуск проверки пользователя
        /// </summary>
        private void registrationEnv(object par)
        {
            int idListener = (int)par //idListener = ((int [])par)[0]
            , i            = -1
            ;

            //Следующий приоритет DataBase
            if (isRegistration == false)
            {
                Logging.Logg().Debug(string.Format(@"HUsers::HUsers () - ... registrationEnv () - s_StateRegistration [{0}] = {1}", INDEX_REGISTRATION.DOMAIN_NAME, s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME].ToString()), Logging.INDEX_MESSAGE.NOT_SET);

                try {
                    if (s_StateRegistration[(int)INDEX_REGISTRATION.ID] == STATE_REGISTRATION.CMD)
                    {
                        // идентификатор указан в командной строке
                        ;
                    }
                    else
                    // если идентификатор не указан в командной строке
                    if (s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] == STATE_REGISTRATION.UNKNOWN)
                    {
                        //Определить из ENV
                        //Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ
                        switch (s_modeRegistration)
                        {
                        case MODE_REGISTRATION.MACHINE_DOMAINNAME:
                            s_DataRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = MachineName;
                            break;

                        case MODE_REGISTRATION.USER_DOMAINNAME:
                        default:
                            s_DataRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = Environment.UserDomainName + @"\" + Environment.UserName;
                            break;

                        case MODE_REGISTRATION.MIXED:
                            s_DataRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = MachineName + DELIMETER_DOMAINNAME + Environment.UserDomainName + @"\" + Environment.UserName;
                            break;
                        }

                        s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = STATE_REGISTRATION.ENV;

                        Logging.Logg().Debug(string.Format(@"HUsers::HUsers () - ... registrationEnv () - s_StateRegistration [{0}] = {1}", INDEX_REGISTRATION.DOMAIN_NAME, s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME]), Logging.INDEX_MESSAGE.NOT_SET);
                    }
                    else
                    {
                    }
                } catch (Exception e) {
                    Logging.Logg().Exception(e, @"HUsers::HUsers () - ... registrationEnv () ... Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ ... ", Logging.INDEX_MESSAGE.NOT_SET);
                    throw e;
                }

                int       err = -1;
                DataTable dataUsers;

                DbConnection connDB = DbSources.Sources().GetConnection((int)par, out err);

                if ((!(connDB == null)) && (err == 0))
                {
                    //Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ
                    GetUsers(ref connDB, whereQueryUsers, string.Empty, out dataUsers, out err);

                    Logging.Logg().Debug(@"HUsers::HUsers () - ... registrationEnv () - найдено пользователей = " + dataUsers.Rows.Count, Logging.INDEX_MESSAGE.NOT_SET);

                    if ((err == 0) && (dataUsers.Rows.Count > 0))
                    {//Найдена хотя бы одна строка
                        i = 0;

                        if ((s_StateRegistration[(int)INDEX_REGISTRATION.ID] == STATE_REGISTRATION.UNKNOWN) ||
                            (s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] == STATE_REGISTRATION.ENV))
                        {
                            for (i = 0; i < dataUsers.Rows.Count; i++)
                            {
                                //Проверка IP-адрес
                                //for (indxIP = 0; indxIP < listIP.Length; indxIP ++) {
                                //    if (listIP[indxIP].Equals(System.Net.IPAddress.Parse (dataUsers.Rows[i][@"IP"].ToString())) == true) {
                                //        //IP найден
                                //        break;
                                //    }
                                //    else
                                //        ;
                                //}

                                //Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ
                                if (equalsDomainName(dataUsers.Rows[i][@"DOMAIN_NAME"].ToString(), dataUsers.Rows[i][@"COMPUTER_NAME"].ToString()) == true)
                                {
                                    break;
                                }
                                else
                                {
                                    ;
                                }
                            }
                        }
                        else
                        {
                            setDataRegistration(INDEX_REGISTRATION.DOMAIN_NAME, getUserDomainNameEnvironment(dataUsers.Rows[i][@"DOMAIN_NAME"].ToString(), dataUsers.Rows[i][@"COMPUTER_NAME"].ToString()), STATE_REGISTRATION.CMD);
                        }

                        if (i < dataUsers.Rows.Count)
                        {
                            setDataRegistration(INDEX_REGISTRATION.ID, dataUsers.Rows[i]["ID"], STATE_REGISTRATION.ENV);
                            setDataRegistration(INDEX_REGISTRATION.ROLE, dataUsers.Rows[i]["ID_ROLE"], STATE_REGISTRATION.ENV);
                            setDataRegistration(INDEX_REGISTRATION.ID_TEC, dataUsers.Rows[i]["ID_TEC"], STATE_REGISTRATION.ENV);
                        }
                        else
                        {
                            throw new HException((int)ERROR_CODE.UDN_NOT_FOUND, messageUserIDNotFind);
                        }
                    }
                    else
                    {//Не найдено ни одной строки
                        if (connDB == null)
                        {
                            throw new HException((int)ERROR_CODE.NOT_CONNECT_CONFIGDB, "Нет соединения с БД конфигурации");
                        }
                        else
                        if (err == 0)
                        {
                            throw new HException((int)ERROR_CODE.UDN_NOT_FOUND, messageUserIDNotFind);
                        }
                        else
                        {
                            throw new HException((int)ERROR_CODE.QUERY_FAILED, "Ошибка получения списка пользователей из БД конфигурации");
                        }
                    }
                }
                else    //Нет возможности для проверки
                {
                    if (connDB == null)
                    {
                        throw new HException((int)ERROR_CODE.NOT_CONNECT_CONFIGDB, "Нет соединения с БД конфигурации");
                    }
                    else //???
                    if (!(err == 0))
                    {
                        throw new HException((int)ERROR_CODE.NOT_CONNECT_CONFIGDB, "Нет соединения с БД конфигурации");
                    }
                    else
                    {
                        ;
                    }
                }
            }
            else
            {
                Logging.Logg().Debug(string.Format(@"HUsers::HUsers () - ... registrationEnv () - isRegistration = {0}", isRegistration.ToString()), Logging.INDEX_MESSAGE.NOT_SET);
            }

            try {
                m_profiles = createProfiles(idListener, (int)s_DataRegistration[(int)INDEX_REGISTRATION.ROLE], (int)s_DataRegistration[(int)INDEX_REGISTRATION.ID]);
            } catch (Exception e) {
                throw new HException(-6, e.Message);
            }
        }