Пример #1
0
        /// <summary>
        /// Список компонентов (ТЭЦ, ГТП, ЩУ, ТГ) в ~ от индекса компонента
        /// </summary>
        /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param>
        /// <param name="mode">Индекс компонента - значение из перечисления '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 List <TEC> InitTEC(FormChangeMode.MODE_TECCOMPONENT mode, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData) //indx = {GTP или PC}
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вход...");

            ListTEC tecRes = new ListTEC();

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

            //Использование статической функции
            list_tec = GetListTEC(bIgnoreTECInUse, arTECLimit, out err);
            //??? что значит < 0, mode.Unknown < 0!!!
            if ((!(mode == FormChangeMode.MODE_TECCOMPONENT.VYVOD)) &&
                (!(mode == FormChangeMode.MODE_TECCOMPONENT.Unknown)))
            {
                all_PARAM_DETAIL = getALL_PARAM_TG(0, out err);  // самый новый набор
            }
            else
            {
                all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err); // для всех ТЭЦ
            }
            if (err == 0)
            {
                for (int indx_tec = 0; indx_tec < list_tec.Rows.Count; indx_tec++)
                {
                    //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - Создание объекта ТЭЦ: " + i);

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

                    EventTECListUpdate += newTECItem.PerformUpdate;

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

                    if (err == 0)
                    {
                        //??? что значит < 0, mode.Unknown < 0!!!
                        initTECComponents(newTECItem, mode, list_TECComponents, all_PARAM_DETAIL);
                    }
                    else
                    {
                        ; //Ошибка ???
                    }
                }
            }
            else
            {
                ; //Ошибка получения списка ТЭЦ
            }
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вЫход...");

            return(tecRes);
        }
Пример #2
0
        private void initTECComponents(TEC tec, FormChangeMode.MODE_TECCOMPONENT mode, DataTable list_TECComponents, DataTable all_PARAM_Detail)
        {
            int id_comp = -1
            , indx_comp = -1;
            TECComponent newTECComp;

            for (indx_comp = 0; indx_comp < list_TECComponents.Rows.Count; indx_comp++)
            {
                newTECComp = new TECComponent(tec, list_TECComponents.Rows [indx_comp]);
                id_comp    = newTECComp.m_id;
                tec.AddTECComponent(newTECComp);
                if (!(mode < 0)) // инициализация "обычных" компонентов ТЭЦ
                {
                    tec.InitTG(id_comp, all_PARAM_Detail.Select($@"ID_{FormChangeMode.getPrefixMode (mode)}={id_comp}"));
                }
                else
                {
                    tec.InitParamVyvod(newTECComp, all_PARAM_Detail.Select($"ID_{FormChangeMode.getPrefixMode (mode)}={id_comp}"));
                }
            }
        }
Пример #3
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 параметра) - вЫход...");
        }
Пример #4
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 параметра) - вЫход...");
        }
Пример #5
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 параметра) - вЫход...");
        }
Пример #6
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 параметра) - вЫход...");
        }
Пример #7
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 параметра) - вЫход...");
        }
Пример #8
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 параметра) - вЫход...");
        }
Пример #9
0
        ///// <summary>
        ///// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        ///// </summary>
        ///// <param name="connSett">Параметры соединения с БД концигурации</param>
        ///// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        ///// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        ///// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        //public List<TEC> InitTEC (ConnectionSettings connSett, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData)
        //{
        //    SetConnectionSettings (connSett);

        //    return InitTEC (bIgnoreTECInUse, arTECLimit, bUseData);
        //}

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

            ListTEC tecRes;

#if MODE_STATIC_CONNECTION_LEAVING
            ModeStaticConnectionLeave = ModeStaticConnectionLeaving.Yes;
#endif
            int err        = -1;
            TEC newTECItem = null;

            tecRes = new ListTEC();
            //if (Equals(_tec, null) == true)
            //    _tec = new ListTEC ();
            //else {
            //    return CopyTEC;
            //}

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

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

                if (err == 0)
                {
                    for (int indx_tec = 0; indx_tec < list_tec.Rows.Count; indx_tec++)
                    {
                        //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[indx_tec]["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[indx_tec], bUseData);
                            tecRes.Add(newTECItem);
                            //indx_tec = tec.Count - 1;

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

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

                            if (err == 0)
                            {
                                #region Добавить компоненты ТЭЦ (ГТП, ЩУ)
                                for (FormChangeMode.MODE_TECCOMPONENT c = FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > 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
                                        {
                                            initTECComponents(newTECItem, c, list_TECComponents, all_PARAM_DETAIL);
                                        }
                                        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)
                            {// ВАЖНО! первоначально добавляются компоненты нижнего уровня
                                list_TECComponents = GetListTECComponent(FormChangeMode.getPrefixMode(FormChangeMode.MODE_TECCOMPONENT.VYVOD), newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    initTECComponents(newTECItem, FormChangeMode.MODE_TECCOMPONENT.VYVOD, list_TECComponents, all_PARAM_DETAIL);
                                }
                                else
                                {
                                    ; // ошибка получения перечня выводов
                                }
                            }
                            else
                            {
                                ; // ошибка получения параметров выводов
                            }
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok");
                        }
                        else
                        {
                            ;
                        }
                    } // for i
                }
                else
                {
                    ; //Ошибка получения списка ТЭЦ
                }
            }
            catch (Exception e) {
                Logging.Logg().Exception(e, "Ошибка получения параметров для всех ТГ", Logging.INDEX_MESSAGE.NOT_SET);
            }
#if MODE_STATIC_CONNECTION_LEAVING
            ModeStaticConnectionLeave = ModeStaticConnectionLeaving.No;
#endif
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход...");

            return(tecRes);
        }