/// <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); }
public void InitTEC(FormChangeMode.MODE_TECCOMPONENT mode, /*TYPE_DATABASE_CFG typeCfg, */ HMark markQueries, bool bIgnoreTECInUse, int[] arTECLimit, bool bUseData = false) { //Logging.Logg().Debug("Admin::InitTEC () - вход..."); if ((mode == FormChangeMode.MODE_TECCOMPONENT.TEC) || (mode == FormChangeMode.MODE_TECCOMPONENT.ANY)) //??? зачем '.ANY' { this.m_list_tec = DbTSQLConfigDatabase.DbConfig().InitTEC(bIgnoreTECInUse, arTECLimit, bUseData) as DbTSQLConfigDatabase.ListTEC; } else { this.m_list_tec = DbTSQLConfigDatabase.DbConfig().InitTEC(mode, bIgnoreTECInUse, arTECLimit, bUseData) as DbTSQLConfigDatabase.ListTEC; } initQueries(markQueries); initTECComponents(); try { CurrentKey = new FormChangeMode.KeyDevice() { Id = allTECComponents.First(comp => comp.Mode == mode).m_id, Mode = mode }; } catch (Exception e) { Logging.Logg().Exception(e, $"HADmin::InitTEC (mode={mode}) - не найден 1-ый элемент для инициализации списка", Logging.INDEX_MESSAGE.NOT_SET); } }
public void InitTEC(int idListener, FormChangeMode.MODE_TECCOMPONENT mode, HMark markQueries) { //Logging.Logg().Debug("Admin::InitTEC () - вход..."); //m_ignore_connsett_data = ! bUseData; if (!(idListener < 0)) { if (mode == FormChangeMode.MODE_TECCOMPONENT.UNKNOWN) { this.m_list_tec = new InitTEC(idListener, false).tec; } else { this.m_list_tec = new InitTEC(idListener, (short)mode, false).tec; } } else { this.m_list_tec = new InitTECBase.ListTEC(); } initQueries(markQueries); initTEC(); }
public void InitTEC(int idListener, FormChangeMode.MODE_TECCOMPONENT mode, /*TYPE_DATABASE_CFG typeCfg, */ HMark markQueries, bool bIgnoreTECInUse, int [] arTECLimit) { //Logging.Logg().Debug("Admin::InitTEC () - вход..."); //m_ignore_connsett_data = ! bUseData; if (!(idListener < 0)) { if (mode == FormChangeMode.MODE_TECCOMPONENT.UNKNOWN) { this.m_list_tec = new InitTEC_200(idListener, bIgnoreTECInUse, arTECLimit, false).tec; } else { this.m_list_tec = new InitTEC_200(idListener, (short)mode, bIgnoreTECInUse, arTECLimit, false).tec; } } else { this.m_list_tec = new InitTECBase.ListTEC(); } initQueries(markQueries); initTEC(); }
/// <summary> /// Заполнение ComboBox значениями-наименованиями /// </summary> /// <param name="mode">Переменная типа отображаемых значений</param> public void InitializeComboBoxTecComponent(FormChangeMode.MODE_TECCOMPONENT mode, bool bWithNameTECOwner, bool bLimitLK) { comboBoxTecComponent.Items.Clear(); List <FormChangeMode.KeyDevice> listKey; List <object> listItems = new List <object> (); listKey = m_admin.GetListKeyTECComponent(mode, bLimitLK); listKey.ForEach(key => listItems.Add(new ComboBoxItem() { Tag = key, Text = m_admin.GetNameTECComponent(key, bWithNameTECOwner) })); if (listItems.Count > 0) { comboBoxTecComponent.Items.AddRange(listItems.ToArray() as object []); if (comboBoxTecComponent.Items.Count > 0) { m_admin.CurrentKey = InitItemKey; comboBoxTecComponent.SelectedIndex = 0; } else { ; } } else { ; } }
public FormChangeMode.MODE_TECCOMPONENT modeTECComponent(int indx) { FormChangeMode.MODE_TECCOMPONENT modeRes = FormChangeMode.MODE_TECCOMPONENT.UNKNOWN; if ((allTECComponents[indx].m_id > 0) && (allTECComponents[indx].m_id < 100)) { modeRes = FormChangeMode.MODE_TECCOMPONENT.TEC; } else if ((allTECComponents[indx].m_id > 100) && (allTECComponents[indx].m_id < 500)) { modeRes = FormChangeMode.MODE_TECCOMPONENT.GTP; } else if ((allTECComponents[indx].m_id > 500) && (allTECComponents[indx].m_id < 1000)) { modeRes = FormChangeMode.MODE_TECCOMPONENT.PC; } else if ((allTECComponents[indx].m_id > 1000) && (allTECComponents[indx].m_id < 10000)) { modeRes = FormChangeMode.MODE_TECCOMPONENT.TG; } else { ; } return(modeRes); }
public virtual void InitializeComboBoxTecComponent(FormChangeMode.MODE_TECCOMPONENT mode) { m_listTECComponentIndex = m_admin.GetListIndexTECComponent(mode); //m_admin.m_typeFields = AdminTS.TYPE_FIELDS.DYNAMIC; comboBoxTecComponent.Items.Clear(); }
/// <summary> /// Получение списка компонентов ТЭЦ в зависимости от типа компонента /// </summary> /// <param name="mode">Модификатор типа компонентов</param> /// <param name="bLimitLK">Признак учета лимита ЛК при формировании списка</param> /// <returns>Возвращает список ключей, по которым возможен поиск компонента</returns> public virtual List <FormChangeMode.KeyDevice> GetListKeyTECComponent(FormChangeMode.MODE_TECCOMPONENT mode, bool bLimitLK) { List <FormChangeMode.KeyDevice> listRes = new List <FormChangeMode.KeyDevice> (); int iLimitIdTec = bLimitLK == true ? (int)TECComponent.ID.LK : (int)TECComponent.ID.GTP; switch (mode) { case FormChangeMode.MODE_TECCOMPONENT.TEC: foreach (TEC tec in m_list_tec) { if (!(tec.m_id > iLimitIdTec)) { listRes.Add(new FormChangeMode.KeyDevice() { Id = tec.m_id, Mode = mode }); } else { ; } } break; case FormChangeMode.MODE_TECCOMPONENT.GTP: case FormChangeMode.MODE_TECCOMPONENT.PC: case FormChangeMode.MODE_TECCOMPONENT.TG: foreach (TECComponent comp in allTECComponents) { if ((!(comp.tec.m_id > iLimitIdTec)) && (mode == comp.Mode)) { listRes.Add(new FormChangeMode.KeyDevice() { Id = comp.m_id, Mode = mode }); } else { ; } } break; default: break; } return(listRes); }
/// <summary> /// Заполнение ComboBox значениями ГТП /// </summary> /// <param name="mode">Переменная типа отображаемых значений</param> public override void InitializeComboBoxTecComponent(FormChangeMode.MODE_TECCOMPONENT mode) { base.InitializeComboBoxTecComponent(mode); for (int i = 0; i < m_listTECComponentIndex.Count; i++) comboBoxTecComponent.Items.Add(m_admin.allTECComponents[m_listTECComponentIndex[i]].tec.name_shr + " - " + m_admin.GetNameTECComponent(m_listTECComponentIndex[i])); if (comboBoxTecComponent.Items.Count > 0) { m_admin.indxTECComponents = m_listTECComponentIndex[0]; comboBoxTecComponent.SelectedIndex = 0; } else ; }
public void InitTEC(int idListener, FormChangeMode.MODE_TECCOMPONENT mode, TYPE_DATABASE_CFG typeCfg, HMark markQueries, bool bIgnoreTECInUse) { //Logging.Logg().Debug("Admin::InitTEC () - вход..."); //m_ignore_connsett_data = ! bUseData; if (!(idListener < 0)) { if (mode == FormChangeMode.MODE_TECCOMPONENT.UNKNOWN) { switch (typeCfg) { case TYPE_DATABASE_CFG.CFG_190: this.m_list_tec = new InitTEC_190(idListener, bIgnoreTECInUse, false).tec; break; case TYPE_DATABASE_CFG.CFG_200: this.m_list_tec = new InitTEC_200(idListener, bIgnoreTECInUse, false).tec; break; default: break; } } else { switch (typeCfg) { case TYPE_DATABASE_CFG.CFG_190: this.m_list_tec = new InitTEC_190(idListener, (short)mode, bIgnoreTECInUse, false).tec; break; case TYPE_DATABASE_CFG.CFG_200: this.m_list_tec = new InitTEC_200(idListener, (short)mode, bIgnoreTECInUse, false).tec; break; default: break; } } } else { this.m_list_tec = new InitTECBase.ListTEC(); } initQueries(markQueries); initTEC(); }
public void InitTEC(FormChangeMode.MODE_TECCOMPONENT mode, /*TYPE_DATABASE_CFG typeCfg, */ HMark markQueries, bool bIgnoreTECInUse, int[] arTECLimit, bool bUseData = false) { //Logging.Logg().Debug("Admin::InitTEC () - вход..."); if (mode == FormChangeMode.MODE_TECCOMPONENT.ANY) { this.m_list_tec = DbTSQLConfigDatabase.DbConfig().InitTEC(bIgnoreTECInUse, arTECLimit, bUseData) as DbTSQLConfigDatabase.ListTEC; } else { this.m_list_tec = DbTSQLConfigDatabase.DbConfig().InitTEC(mode, bIgnoreTECInUse, arTECLimit, bUseData) as DbTSQLConfigDatabase.ListTEC; } initQueries(markQueries); initTECComponents(); }
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}")); } } }
public PanelAdmin(FormChangeMode.MODE_TECCOMPONENT mode, HMark markQueries, int [] arTECLimit) : base(MODE_UPDATE_VALUES.ACTION, FormMain.formGraphicsSettings.FontColor, FormMain.formGraphicsSettings.BackgroundColor) { createAdmin(); try { m_admin.InitTEC(mode, markQueries, false, arTECLimit); } catch (Exception e) { Logging.Logg().Exception(e, "PanelAdmin::Initialize () - m_admin.InitTEC ()...", Logging.INDEX_MESSAGE.NOT_SET); } if (!(m_admin.m_list_tec.Count > 0)) { Logging.Logg().Error(@"PanelAdmin::PanelAdmin () - список ТЭЦ пуст...", Logging.INDEX_MESSAGE.NOT_SET); } else { ; } initialize(); }
public override void InitializeComboBoxTecComponent(FormChangeMode.MODE_TECCOMPONENT mode) { base.InitializeComboBoxTecComponent(mode); if (m_listTECComponentIndex.Count > 0) { comboBoxTecComponent.Items.AddRange(((AdminTS_TG)m_admin).GetListNameTEC()); if (comboBoxTecComponent.Items.Count > 0) { m_admin.indxTECComponents = m_listTECComponentIndex[0]; comboBoxTecComponent.SelectedIndex = 0; } else { ; } } else { ; } }
public FormChangeMode.MODE_TECCOMPONENT modeTECComponent(int indx) { FormChangeMode.MODE_TECCOMPONENT modeRes = FormChangeMode.MODE_TECCOMPONENT.ANY; ////Вариант №1 //if ((allTECComponents[indx].m_id > 0) && (allTECComponents[indx].m_id < 100)) // //??? // modeRes = FormChangeMode.MODE_TECCOMPONENT.TEC; //else // if (allTECComponents[indx].IsGTP == true) // modeRes = FormChangeMode.MODE_TECCOMPONENT.GTP; // else // if (allTECComponents[indx].IsPC == true) // modeRes = FormChangeMode.MODE_TECCOMPONENT.PC; // else // if (allTECComponents[indx].IsTG == true) // modeRes = FormChangeMode.MODE_TECCOMPONENT.TG; // else // ; //Вариант №2 modeRes = TECComponent.Mode(allTECComponents[indx].m_id); return(modeRes); }
protected override void timerService_Tick(object sender, EventArgs e) { FormChangeMode.MODE_TECCOMPONENT mode = FormChangeMode.MODE_TECCOMPONENT.GTP; switch (handlerCmd.ModeMashine) { case MODE_MASHINE.SERVICE_ON_EVENT: // остановить таймер; это первый вызов (можно обрабытывать также в 'timer_Start') stopTimerService(); FillComboBoxTECComponent(mode, true); CT = new ComponentTesting(comboBoxTECComponent.Items.Count); setDatetimePicker(DateTime.Now); m_arAdmin [(int)CONN_SETT_TYPE.SOURCE].Activate(true); if ((handlerCmd.DebugTurn == true) && (handlerCmd.ModeMashine == MODE_MASHINE.SERVICE_ON_EVENT)) { // отладка переопубликации плана (m_arAdmin [(int)CONN_SETT_TYPE.SOURCE] as AdminMC).DebugEventReloadPlanValues(); } else { ; } // обязательный запрос актуального плана для всех подразделений (m_arAdmin [(int)CONN_SETT_TYPE.SOURCE] as AdminMC).ToDateRequest(ASUTP.Core.HDateTime.ToMoscowTimeZone().Date); break; default: base.timerService_Tick(sender, e); break; } }
///// <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; //} 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; // ТГ не аналог "вывода". "Вывод" аналог ГТП(ЩУ), Параметр "вывода" аналог ТГ. try { //Получить список ТЭЦ, используя статическую функцию list_tec = GetListTEC(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); tecRes.Add(newTECItem); //indx_tec = tec.Count - 1; EventTECListUpdate += newTECItem /*tec[indx_tec]*/.PerformUpdate; indx = -1; initTECConnectionSettings(newTECItem, list_tec.Rows[i]); // получить перечень ТГ со всеми значениями всех свойств all_PARAM_DETAIL = getALL_PARAM_TG(0, out err); if (err == 0) { #region Добавить ТГ для ТЭЦ try { 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; try { 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]) ); } catch (Exception e) { Logging.Logg().Exception(e, @"InitTEC_200.ctor () - ...", Logging.INDEX_MESSAGE.NOT_SET); } } } else { ; //Ошибка получения списка ТГ } } catch (Exception e) { Logging.Logg().Exception(e, @"InitTEC_200.ctor () - ...", Logging.INDEX_MESSAGE.NOT_SET); } #endregion #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 { 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(FormChangeMode.MODE_TECCOMPONENT.Unknown), 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(FormChangeMode.MODE_TECCOMPONENT.Unknown)}={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 { ; //Ошибка получения списка ТЭЦ } } 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); }
/// <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 List <TEC> InitTEC(FormChangeMode.MODE_TECCOMPONENT indx, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData) //indx = {GTP или PC} { //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вход..."); ListTEC tecRes = 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; //Использование статической функции list_tec = GetListTEC(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"]))) { //Создание объекта ТЭЦ tecRes.Add(new TEC(list_tec.Rows[i], bUseData)); EventTECListUpdate += tecRes[i].PerformUpdate; initTECConnectionSettings(tecRes [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"]); tecRes[i].AddTECComponent(list_TECComponents.Rows[indx_comp]); tecRes[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"]); tecRes[i].AddTECComponent(list_TECComponents.Rows[indx_comp]); tecRes[i].InitParamVyvod(-1, all_PARAM_DETAIL.Select($"ID_{FormChangeMode.getPrefixMode(indx)}={id_comp}")); } } } else { ; //Ошибка ??? } } } else { ; //Ошибка получения списка ТЭЦ } //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вЫход..."); return(tecRes); }