protected override void getPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/) { string query = string.Empty; DateTime dtReq = date.Date.Add(-HDateTime.TS_MSK_OFFSET_OF_UTCTIMEZONE); int i = -1; query += @"SELECT [objName], [idFactor], [PBR_NUMBER], [Datetime]," //+ @" SUM([Value_MBT]) as VALUE" + @" [Value_MBT] as VALUE" + @" FROM [dbo].[v_ALL_PARAM_MODES_" + t.GetAddingParameter(TEC.ADDING_PARAM_KEY.PREFIX_MODES_TERMINAL).ToString() + @"]" + @" WHERE [ID_Type_Data] = 3" + @" AND [objName] IN (" + string.Join(@",", comp.m_listMTermId.ToArray()) + @")" + @" AND [Datetime] > " + @"'" + dtReq.ToString(@"yyyyMMdd HH:00:00.000") + @"'" + @" AND [Datetime] <= " + @"'" + dtReq.AddDays(1).ToString(@"yyyyMMdd HH:00:00.000") + @"'" + @" AND [PBR_NUMBER] > 0" //+ @" GROUP BY [idFactor], [PBR_NUMBER], [Datetime]" + @" ORDER BY [Datetime], [PBR_NUMBER]" ; DbSources.Sources().Request(m_IdListenerCurrent, query); //Logging.Logg().Debug("AdminMT::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вЫход...: query=" + query, Logging.INDEX_MESSAGE.NOT_SET); }
/// <summary> /// Журналирование завершения приложения /// </summary> public static void Exit() { List <Form> listApplicationOpenForms = new List <Form>(); foreach (Form f in Application.OpenForms) { listApplicationOpenForms.Add(f); } foreach (Form f in listApplicationOpenForms) { if (f is IFormMainBase) { (f as IFormMainBase).Close(true); } else if (f is IFormWait) { //Здесь м. возникнуть ошибка - // вызов формы из потока в котором форма не была создана ??? (f as IFormWait).StopWaitForm(); } else { f.Close(); } } Logging.Logg().PostStop(MessageExit); Logging.Logg().Stop(); DbSources.Sources().UnRegister(); Application.Exit(new System.ComponentModel.CancelEventArgs(true)); HCmd_Arg.SingleInstance.ReleaseMtx(); }
/// <summary> /// Функция получения пароля для пользователя /// </summary> private Errors GetPassword(out int er) { Errors errRes = Errors.NoError; DbConnection conn = DbSources.Sources().GetConnection(m_idListener, out er); DataTable passTable = DbTSQLInterface.Select(ref conn, GetPassRequest(), null, null, out er); if (er == 0) { if (!(passTable.Rows[0][0] is DBNull)) { passReceive = passTable.Rows[0][0].ToString(); } else { errRes = Errors.ParseError; } } else { errRes = Errors.NoAccess; } return(errRes); }
public override void Update(out int err) { err = -1; int idListener = DbSources.Sources().Register(m_connSett, false, @"CONFIG_DB"); m_dbConn = DbSources.Sources().GetConnection(idListener, out err); if (err == 0) { loadParam(false); //???Прочитать обновляемые параметры для ТЭЦ //???Прочитать обновляемые параметры ... //???Куда размещать обновляемые параметры } else { ; } DbSources.Sources().UnRegister(idListener); }
public static DataTable getConnSettingsOfIdSource(TYPE_DATABASE_CFG typeDB_CFG, int idListener, int id_ext, int id_role, out int err) { DbConnection conn = DbSources.Sources().GetConnection(idListener, out err); return(getConnSettingsOfIdSource(typeDB_CFG, ref conn, id_ext, id_role, out err)); }
public static void OnTECUpdate(object obj, EventArgs ev) { TEC tec = obj as TEC; int iListenerId = (ev as TECListUpdateEventArgs).m_iListenerId , err = -1; DataTable tableRes; DataRow [] selRows; DbConnection connConfigDB; try { connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err); if (err == 0) { //tableRes = getListTEC(ref connConfigDB, true, new int[] { 0, (int)TECComponent.ID.GTP }, out err); ////??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM) //tec.Update (tableRes); tableRes = getListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err); // обновление параметров ГТП if (err == 0) { if (tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0) { // поиск ГТП foreach (TECComponent tc in tec.list_TECComponents) { if (tc.IsGTP == true) { selRows = tableRes.Select(@"ID=" + tc.m_id); // проверить наличие значения if ((selRows.Length == 1) && (!(selRows[0]["KoeffAlarmPcur"] is System.DBNull))) { // обновить значение коэффициента tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows[0]["KoeffAlarmPcur"]); } else { ; } } else { ; } } } else { ; } } else { ; } } else { ; } } catch (Exception e) { Logging.Logg().Exception(e, string.Format(@"InitTEC_200::OnTECUpdate (ID={0}, NAME={1}) - ...", (obj as TEC).m_id, (obj as TEC).name_shr), Logging.INDEX_MESSAGE.NOT_SET); } }
/// <summary> /// Инициализация данных формы /// </summary> /// <param name="msgError">Сообщение об ошибке (при наличии)</param> /// <returns>Признак выполнения функции</returns> private bool Initialize(out string msgError) { bool bRes = true; msgError = string.Empty; int idListenerConfigDB = -1; if (s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].Ready == 0) { _state = InitializeConfigDB(out msgError, out idListenerConfigDB); switch (_state) { case -1: msgError = FormMainStatistic.MSG_ERROR_INIT[(int)FormMainStatistic.INDEX_ERROR_INIT.UNKNOWN]; break; case -3: //@"Не найден пользователь@ break; case -2: case -5: case -4: //@"Необходимо изменить параметры соединения с БД" - получено из 'Initialize' bRes = false; break; case -6: //@"Пользователю не разрешено использовать задачу" - получено из 'Initialize' break; default: //Успех... пост-инициализация formParameters = new FormParameters_DB(s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett()); updateParametersSetup(); s_iMainSourceData = Int32.Parse(formParameters.m_arParametrSetup[(int)FormParameters.PARAMETR_SETUP.MAIN_DATASOURCE]); //Создать "рабочую" панель m_panelAlarm = new PanelAlarm(idListenerConfigDB , new HMark(new int [] { (int)CONN_SETT_TYPE.ADMIN, (int)CONN_SETT_TYPE.PBR, (int)CONN_SETT_TYPE.DATA_AISKUE, (int)CONN_SETT_TYPE.DATA_SOTIASSO }) , MODE.SERVICE); _panelMain.Controls.Add(m_panelAlarm); m_formAlarmEvent = new MessageBoxAlarmEvent(this); m_panelAlarm.EventGUIReg += new AlarmNotifyEventHandler(OnPanelAlarmEventGUIReg); m_formAlarmEvent.EventActivateTabPage += new DelegateBoolFunc(activateTabPage); m_formAlarmEvent.EventFixed += new DelegateObjectFunc(m_panelAlarm.OnEventFixed); m_panelAlarm.Start(); break; } //Отменить регистрацию соединения с БД_конфигурации DbSources.Sources().UnRegister(idListenerConfigDB); } else {//Файла с параметрами соединения нет совсем или считанные параметры соединения не валидны msgError = @"Необходимо изменить параметры соединения с БД конфигурации"; bRes = false; } return(bRes); }
protected override void Start() { int i = -1; EditFormConnectionSettings("connsett_tg.ini", true); int iConfigDB = -1; string keyTypeConfigDB = @"ТипБДКфгНазначение"; //FileINI fileINI = new FileINI(@"setup.ini"); //string sec = "Main (" + ProgramBase.AppName + ")"; iConfigDB = Int32.Parse(m_sFileINI.GetMainValueOfKey(keyTypeConfigDB)); //TYPE_DATABASE_CFG iTypeConfigDB = TYPE_DATABASE_CFG.UNKNOWN; //for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t++) //{ // if (t.ToString().Contains(iConfigDB.ToString()) == true) // { // iTypeConfigDB = t; // break; // } // else // ; //} bool bIgnoreTECInUse = false; HMark markQueries = new HMark(new int[] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR }); //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.ADMIN); //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.PBR); int idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(), false, @"CONFIG_DB"); for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) { if (i == (Int16)CONN_SETT_TYPE.SOURCE) { m_arAdmin[i] = new AdminTransTG(new bool [] { false, false }); } else if (i == (Int16)CONN_SETT_TYPE.DEST) { m_arAdmin[i] = new AdminTransTG(new bool[] { false, true }); } else { ; } try { ((AdminTS)m_arAdmin[i]).InitTEC(idListener, FormChangeMode.MODE_TECCOMPONENT.ANY, /*iTypeConfigDB, */ markQueries, bIgnoreTECInUse, new int[] { 0, (int)TECComponent.ID.LK }); RemoveTEC(m_arAdmin[i]); } catch (Exception e) { Logging.Logg().Exception(e, "FormMainTransTG::FormMainTransTG ()", Logging.INDEX_MESSAGE.NOT_SET); //ErrorReport("Ошибка соединения. Перехож в ожидание."); //setUIControlConnectionSettings(i); break; } //((AdminTS)m_arAdmin[i]).connSettConfigDB = m_formConnectionSettings.getConnSett(); //((AdminTS)m_arAdmin[i]).m_typeFields = AdminTS.TYPE_FIELDS.DYNAMIC; if (i == (Int16)CONN_SETT_TYPE.SOURCE) { m_arAdmin[i].m_ignore_date = false; } else if (i == (Int16)CONN_SETT_TYPE.DEST) { m_arAdmin[i].m_ignore_date = true; } else { ; } //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор } DbSources.Sources().UnRegister(idListener); if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE)) { setUIControlConnectionSettings((Int16)CONN_SETT_TYPE.DEST); for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) { m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent); //m_arAdmin[i].SetDelegateWait(new DelegateFunc(StartWait), new DelegateFunc(StopWait), delegateEvent); m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear); m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin); m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete); m_arAdmin[i].SetDelegateDatetime(setDatetimePicker); //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP); m_arAdmin[i].Start(); } /* * // This needs to be declared in a place where it will not go out of scope. * // For example, it would be a class variable in a form class. * System.IO.FileSystemWatcher watcher = new System.IO.FileSystemWatcher(); * // This code would go in one of the initialization methods of the class. * watcher.Path = "c:\\"; * // Watch only for changes to *.txt files. * watcher.Filter = "*.txt"; * watcher.IncludeSubdirectories = false; * // Enable the component to begin watching for changes. * watcher.EnableRaisingEvents = true; * // Filter for Last Write changes. * watcher.NotifyFilter = System.IO.NotifyFilters.LastWrite; * // Example of watching more than one type of change. * watcher.NotifyFilter = System.IO.NotifyFilters.LastWrite | System.IO.NotifyFilters.Size; * * //Асинхронно * watcher.Changed += new System.IO.FileSystemEventHandler(this.watcher_Changed); * * //Сихронно * watcher.WaitForChanged(System.IO.WatcherChangeTypes.All); */ //panelMain.Visible = false; start(); } else { ; } }
/// <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 параметра) - вЫход..."); }
protected override void Start() { int i = -1; EditFormConnectionSettings("connsett_gtp.ini", true); //Добавление необходимого кол-ва элементов настроек для соединения с БД конфигурации //if (m_formConnectionSettingsConfigDB.Count < 2) //{ // while (!(m_formConnectionSettingsConfigDB.Count < 2)) // m_formConnectionSettingsConfigDB.addConnSett(m_formConnectionSettingsConfigDB.Count); // конфигурацияБДToolStripMenuItem.PerformClick(); // return; //} //else // ; //m_sFileINI.AddMainPar(@"ТипБДКфгИсточник", @"190"); //m_sFileINI.AddMainPar(@"РДГФорматТаблицаИсточник", @"STATIC"); ////Для переназначения идентификаторов источников данных БийскТЭЦ //m_fileINI.Add(@"ID_БДНазначение_ASKUE", @"6,"); //m_fileINI.Add(@"ID_БДНазначение_SOTIASSO", @"6,"); //m_fileINI.Add(@"ID_БДНазначение_PPBR_PBR", @"6,103"); //m_fileINI.Add(@"ID_БДНазначение_PPBR_ADMIN", @"6,"); //int[] arConfigDB = new int[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE]; //string[] arKeyTypeConfigDB = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { @"ТипБДКфгИсточник", @"ТипБДКфгНазначение" }; //TYPE_DATABASE_CFG[] arTypeConfigDB = new TYPE_DATABASE_CFG[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { TYPE_DATABASE_CFG.UNKNOWN, TYPE_DATABASE_CFG.UNKNOWN }; //for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) //{ // arConfigDB[i] = Int32.Parse(m_sFileINI.GetMainValueOfKey(arKeyTypeConfigDB[i])); // for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t++) // { // if (t.ToString().Contains(arConfigDB[i].ToString()) == true) // { // arTypeConfigDB[i] = t; // break; // } // else // ; // } //} //string[] arStrTypeField = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE]; //arStrTypeField[(int)CONN_SETT_TYPE.SOURCE] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаИсточник"); //arStrTypeField[(int)CONN_SETT_TYPE.DEST] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаНазначение"); bool bIgnoreDateTime = false; if (Boolean.TryParse(m_sFileINI.GetMainValueOfKey(@"ИгнорДатаВремя-techsite"), out bIgnoreDateTime) == false) { bIgnoreDateTime = false; } else { ; } m_sFileINI.AddMainPar(@"ТЭЦПараметрыНазначение", @"{}"); HMark markQueries = new HMark(0); markQueries.Set((int)StatisticCommon.CONN_SETT_TYPE.PBR, ОпросППБРToolStripMenuItem.Checked); markQueries.Set((int)StatisticCommon.CONN_SETT_TYPE.ADMIN, ОпросАдминЗначенияToolStripMenuItem.Checked); int idListener = -1; // определить пользователя по 1-ой БД конфигурации idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(0), false, @"CONFIG_DB"); try { using (HStatisticUsers users = new HStatisticUsers(idListener, HUsers.MODE_REGISTRATION.MIXED)) {; } } catch (Exception e) { Logging.Logg().Exception(e, "FormMainTransGTP::FormMainTransGTP ()", Logging.INDEX_MESSAGE.NOT_SET); } //Инициализация объектов получения данных for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) { bool bPPBRSavedValues = false; if (i == (Int16)CONN_SETT_TYPE.DEST) { bPPBRSavedValues = СохранППБРToolStripMenuItem.Checked; } else { ; } m_arAdmin[i] = new AdminTS_KomDisp(new bool[] { false, bPPBRSavedValues }); idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(i), false, @"CONFIG_DB"); try { //((AdminTS_KomDisp)m_arAdmin[i]).InitTEC(m_formConnectionSettingsConfigDB.getConnSett((Int16)CONN_SETT_TYPE.DEST), m_modeTECComponent, true, false); m_arAdmin[i].InitTEC(idListener, m_modeTECComponent, /*arTypeConfigDB[i], */ markQueries, true, new int[] { 0, (int)TECComponent.ID.GTP }); RemoveTEC(m_arAdmin[i]); } catch (Exception e) { Logging.Logg().Exception(e, "FormMainTransGTP::FormMainTransGTP ()", Logging.INDEX_MESSAGE.NOT_SET); //ErrorReport("Ошибка соединения. Перехож в ожидание."); //setUIControlConnectionSettings(i); break; } ////Для переназначения идентификаторов источников данных БийскТЭЦ //int j = -1; //string val = m_fileINI.GetValueOfKey (@"ID_БДНазначение_PPBR_PBR"); //val = val.Split (',')[0]; //for (j = 0; j < m_arAdmin[i].m_list_tec.Count; j ++) { // if (m_arAdmin[i].m_list_tec[j].m_id == Int32.Parse (val)) // break; // else // ; //} //if (j < m_arAdmin[i].m_list_tec.Count) { //} else { //} if ((i == (int)CONN_SETT_TYPE.DEST) /*&& (arTypeConfigDB[(int)CONN_SETT_TYPE.DEST] == TYPE_DATABASE_CFG.CFG_190)*/ ) { string strTECParametersDest = m_sFileINI.GetMainValueOfKey(@"ТЭЦПараметрыНазначение"); if (strTECParametersDest.Equals(string.Empty) == false) { ////if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) { // int err = -1 // , indx = -1 // , indx_tec = -1; // foreach (TEC t in m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec) // if (t.m_id == 6) //Идентификатор БиТЭЦ // { // indx_tec = m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec.IndexOf(t); // break; // } // else // ; // if (!(indx_tec < 0)) // { // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].m_arNameTableAdminValues[(int)((AdminTS)m_arAdmin[(int)CONN_SETT_TYPE.DEST]).m_typeFields] = @""; // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].m_arNameTableUsedPPBRvsPBR[(int)((AdminTS)m_arAdmin[(int)CONN_SETT_TYPE.DEST]).m_typeFields] = @"BiPPBRvsPBR"; //??? // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].SetNamesField(@"", //ADMIN_DATETIME // @"", //ADMIN_REC // @"", //ADMIN_IS_PER // @"", //ADMIN_DIVIAT // @"Date_time", //PBR_DATETIME // @"PBR", //PPBRvsPBR // @"PBR_number"); // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].connSettings(ConnectionSettingsSource.GetConnectionSettings(TYPE_DATABASE_CFG.CFG_190, idListener, 103, -1, out err), (int)StatisticCommon.CONN_SETT_TYPE.PBR); // } // else ; ////} ////else ; } else { ; } } else { } //for (AdminTS.TYPE_FIELDS tf = AdminTS.TYPE_FIELDS.STATIC; i < (int)AdminTS.TYPE_FIELDS.COUNT_TYPE_FIELDS; tf++) // if (arStrTypeField[i].Equals(tf.ToString()) == true) // { // ((AdminTS)m_arAdmin[i]).m_typeFields = tf; // break; // } // else // ; m_arAdmin[i].m_ignore_date = bIgnoreDateTime; //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор setUIControlConnectionSettings(i); m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent); //m_arAdmin[i].SetDelegateWait(new DelegateFunc(StartWait), new DelegateFunc (StopWait), delegateEvent); m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear); m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin); m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete); m_arAdmin[i].SetDelegateDatetime(setDatetimePicker); //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP); m_arAdmin[i].Start(); DbSources.Sources().UnRegister(idListener); } if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE)) { start(); } else { ; } }
public override void StartDbInterfaces() { if (!(m_list_tec == null)) { bool bInitSensorsStrings = (m_markQueries.IsMarked((int)CONN_SETT_TYPE.DATA_AISKUE) == true) || (m_markQueries.IsMarked((int)CONN_SETT_TYPE.DATA_SOTIASSO) == true) || (m_markQueries.IsMarked((int)CONN_SETT_TYPE.MTERM) == true); foreach (TEC t in m_list_tec) { if (!(t.connSetts == null)) { CONN_SETT_TYPE i = CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; if (m_dictIdListeners.ContainsKey(t.m_id) == false) { m_dictIdListeners.Add(t.m_id, new int[(int)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE]); for (i = CONN_SETT_TYPE.ADMIN; i < CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) { m_dictIdListeners[t.m_id][(int)i] = -1; } } else { ; } for (i = CONN_SETT_TYPE.ADMIN; i < CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) { if ((!(t.connSetts[(int)i] == null)) && (m_markQueries.IsMarked((int)i) == true)) { if (m_dictIdListeners[t.m_id][(int)i] < 0) { ; } else { DbSources.Sources().UnRegister(m_dictIdListeners[t.m_id][(int)i]); } register(t.m_id, t.connSetts[(int)i], t.name_shr, i); } else { ; } } if ((bInitSensorsStrings == true) && (t.m_bSensorsStrings == false)) { t.InitSensorsTEC(); } else { ; } } else { //Вообще нельзя что-либо инициализировать Logging.Logg().Error(@"HAdmin::StartDbInterfaces () - connSetts == null ...", Logging.INDEX_MESSAGE.NOT_SET); } } //foreach... } else { //Вообще нельзя что-либо инициализировать Logging.Logg().Error(@"HAdmin::StartDbInterfaces () - m_list_tec == null ...", Logging.INDEX_MESSAGE.NOT_SET); } }
/// <summary> /// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ) /// </summary> /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param> /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param> /// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param> /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param> public InitTEC_200(int idListener, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData) { //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вход..."); int err = -1; TEC newTECItem = null; tec = new ListTEC(); //m_user = new Users(idListener); //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - получение объекта MySqlConnection..."); m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err); int indx = -1 //, indx_tec = -1 ; string strLog = string.Empty; // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы DataTable list_tec = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"), , list_TECComponents = null , list_lowPointDev = null , all_PARAM_DETAIL = null; // ТГ не аналог "вывода". "Вывод" аналог ГТП(ЩУ), Параметр "вывода" аналог ТГ. if (err == 0) { //Получить список ТЭЦ, используя статическую функцию list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, arTECLimit, out err); if (err == 0) { for (int i = 0; i < list_tec.Rows.Count; i++) { //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_tec.Rows[i][\"ID\"] = " + list_tec.Rows[i]["ID"]); if ((HStatisticUsers.allTEC == 0) || (HStatisticUsers.allTEC == Convert.ToInt32(list_tec.Rows[i]["ID"])) /*|| (HStatisticUsers.RoleIsDisp == true)*/) { //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Count = " + tec.Count); //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) { //Создание объекта ТЭЦ newTECItem = new TEC(list_tec.Rows[i], bUseData); tec.Add(newTECItem); //indx_tec = tec.Count - 1; EventTECListUpdate += newTECItem /*tec[indx_tec]*/.PerformUpdate; indx = -1; initTECConnectionSettings(i, list_tec.Rows[i]); // получить перечень ТГ со всеми значениями всех свойств all_PARAM_DETAIL = getALL_PARAM_TG(0, out err); if (err == 0) { #region Добавить ТГ для ТЭЦ list_lowPointDev = getListTG(newTECItem.m_id, out err); if (err == 0) { for (int k = 0; k < list_lowPointDev.Rows.Count; k++) { newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_lowPointDev.Rows[k])); indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1; newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_listLowPointDev.Add(new TG(list_lowPointDev.Rows[k], all_PARAM_DETAIL.Select(@"ID_TG=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)[0])); } } else { ; //Ошибка получения списка ТГ } #endregion #region Добавить компоненты ТЭЦ (ГТП, ЩУ) for (int c = (int)FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > (int)FormChangeMode.MODE_TECCOMPONENT.PC); c++) { list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(c), newTECItem.m_id, out err); //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TECComponents.Count = " + list_TECComponents.Rows.Count); if (err == 0) { try { for (int j = 0; j < list_TECComponents.Rows.Count; j++) { //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - ...tec[indx_tec].list_TECComponents.Add(new TECComponent..."); newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_TECComponents.Rows[j])); indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1; newTECItem /*tec[indx_tec]*/.InitTG(indx , all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(c) + @"=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)); } } catch (Exception e) { Logging.Logg().Exception(e, "InitTEC::InitTEC (3 параметра) - ...for (int j = 0; j < list_TECComponents.Rows.Count; j++)...", Logging.INDEX_MESSAGE.NOT_SET); } } else { ; //Ошибка при получении списка компонентов } } #endregion } else { ; // ошибка при получении параметров ТГ } // получить перечень параметров выводов со всеми значениями всех свойств all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err); if (err == 0) {// ВАЖНО! первоначально добавляются компоненты нижнего уровня #region Добавить параметры ВЫВОДов для ТЭЦ list_lowPointDev = getALL_ParamVyvod(newTECItem.m_id, out err); if (err == 0) { for (int k = 0; k < list_lowPointDev.Rows.Count; k++) { newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_lowPointDev.Rows[k])); indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1; newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_listLowPointDev.Add(new Vyvod.ParamVyvod(all_PARAM_DETAIL.Select(@"ID=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)[0])); } } else { ; //Ошибка получения списка параметров ВЫВОДов } #endregion #region Добавить компоненты ТЭЦ (ВЫВОДы) list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(-1), newTECItem.m_id, out err); if (err == 0) { foreach (DataRow r in list_TECComponents.Rows) { newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, r)); indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1; //??? newTECItem /*tec[indx_tec]*/.InitParamVyvod(-1, all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(-1) + @"=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)); } } else { ; // ошибка получения перечня выводов } #endregion } else { ; // ошибка получения параметров выводов } //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok"); } else { ; } } // for i } else { ; //Ошибка получения списка ТЭЦ } } else { ; //Ошибка получения всех параметров для всех ТГ } //DbTSQLInterface.CloseConnection(m_connConfigDB, out err); //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход..."); }
/// <summary> /// Отправить запрос к источнику данных /// </summary> /// <param name="idListener">Идентификатор подписчика обработки запросов</param> /// <param name="request">Содержание запроса</param> public void Request(int idListener, string request) { DbSources.Sources().Request(m_IdListenerCurrent = idListener, request); }
public void OnTECUpdate(object obj, EventArgs ev) { TEC tec = obj as TEC; int iListenerId = (ev as TECListUpdateEventArgs).m_iListenerId , err = -1; string strMesError = string.Empty; DataTable tableRes; DataRow [] selRows; DbConnection connConfigDB; try { connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err); if (err == 0) { //tableRes = getListTEC(ref connConfigDB, true, new int[] { 0, (int)TECComponent.ID.GTP }, out err); ////??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM) //tec.Update (tableRes); tableRes = GetListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err); // обновление параметров ГТП if (err == 0) { err = tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0 ? 0 : -2; // ранее возвращалось значение "-1" if (err == 0) { // поиск ГТП foreach (TECComponent tc in tec.list_TECComponents) { if (tc.IsGTP == true) { selRows = tableRes.Select(@"ID=" + tc.m_id); // проверить наличие значения if ((selRows.Length == 1) && (!(selRows [0] ["KoeffAlarmPcur"] is System.DBNull))) { // обновить значение коэффициента tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows [0] ["KoeffAlarmPcur"]); } else { ; } } else { ; } } } else { strMesError = "результ. табл. не содержит поле [KoeffAlarmPcur]"; } } else { //strMesError = "не удалось получить таблицу - список компонентов ТЭЦ" throw new InvalidOperationException(string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - {2} ..." , (obj as TEC).m_id, (obj as TEC).name_shr, @"не удалось получить таблицу - список компонентов ТЭЦ")) ; } } else { strMesError = "не удалось получить объект соединения с БД конфигурации"; } } catch (Exception e) { Logging.Logg().Exception(e, string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - ...", (obj as TEC).m_id, (obj as TEC).name_shr), Logging.INDEX_MESSAGE.NOT_SET); } if (err < 0) { Logging.Logg().Error(string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - {2} ..." , (obj as TEC).m_id, (obj as TEC).name_shr, strMesError), Logging.INDEX_MESSAGE.NOT_SET); } else { ; } }
/// <summary> /// Отмена регистрации ID /// </summary> /// <param name="idListener">ID</param> protected void unregister_idListenerConfDB(int idListener) { DbSources.Sources().UnRegister(idListener); }
public FormTECComponent(ConnectionSettings connSett) { int err = 0; //m_connectionSetttings = connSett; InitializeComponent(); m_list_UIControl = new List <System.Windows.Forms.Control> (); m_list_UIControl.Add(dataGridViewTEC); //INDEX_UICONTROL.TEC m_list_UIControl.Add(dataGridViewTECComponent); //INDEX_UICONTROL.TEC_COMPONENT m_list_UIControl.Add(dataGridViewTG); //INDEX_UICONTROL.TG this.ColumnTextBoxTECName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TEC].Width - (2 * (23 + 1)); //Пока добавлять/удалять ТЭЦ нельзя this.ColumnTextBoxTECName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TEC].Width - (1 * (23 + 1) + 2); this.ColumnButtonTECDel.Visible = false; this.ColumnTECComponentName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TEC_COMPONENT].Width - (1 * (23 + 1) + 2); this.ColumnTGName.Width = m_list_UIControl[(int)INDEX_UICONTROL.DATAGRIDVIEW_TG].Width - (1 * (23 + 1) + 2); m_list_UIControl.Add(textBoxTECAdd); m_list_UIControl.Add(buttonTECAdd); m_list_UIControl.Add(textBoxTECComponentAdd); m_list_UIControl.Add(buttonTECComponentAdd); m_list_UIControl.Add(comboBoxTGAdd); m_list_UIControl.Add(buttonTGAdd); m_lockObj = new Object(); lock (m_lockObj) { } //Пока добавлять/удалять ТЭЦ нельзя m_list_UIControl [(int)INDEX_UICONTROL.TEXTBOX_TEC_ADD].Enabled = false; m_list_UIControl[(int)INDEX_UICONTROL.BUTTON_TEC_ADD].Enabled = false; // + 1 для ТГ m_list_data_original = new DataTable[(int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN)]; m_list_data = new DataTable[(int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN)]; m_idListener = DbSources.Sources().Register(connSett, false, @"Изменение состава ТЭЦ(ГТП, ЩУ)"); DbConnection conn = DbSources.Sources().GetConnection(m_idListener, out err); int i = -1; //for (i = (int)(FormChangeMode.MODE_TECCOMPONENT.TEC); i < (int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN + 1); i++) for (i = (int)(FormChangeMode.MODE_TECCOMPONENT.TEC); i < (int)(FormChangeMode.MODE_TECCOMPONENT.UNKNOWN); i++) { if (m_list_data_original[i] == null) { m_list_data_original[i] = DbTSQLInterface.Select(ref conn, "SELECT * FROM " + FormChangeMode.getPrefixMode(i) + "_LIST", null, null, out err); } else { ; } m_list_data[i] = m_list_data_original[i].Copy(); Logging.Logg().Debug(@"FormTECComponent::FormTECComponent () - m_list_data[" + ((FormChangeMode.MODE_TECCOMPONENT)i).ToString() + @"].Columns.Count = " + m_list_data[i].Columns.Count, Logging.INDEX_MESSAGE.NOT_SET); } m_list_dataRow = new List <DataRow[]> (); //[(int)(INDEX_UICONTROL.DATAGRIDVIEW_TG - INDEX_UICONTROL.DATAGRIDVIEW_TEC + 1)]; for (i = (int)(INDEX_UICONTROL.DATAGRIDVIEW_TEC - INDEX_UICONTROL.DATAGRIDVIEW_TEC); i < (int)(INDEX_UICONTROL.DATAGRIDVIEW_TG - INDEX_UICONTROL.DATAGRIDVIEW_TEC + 1); i++) { m_list_dataRow.Add(null); } fillDataGridView(INDEX_UICONTROL.DATAGRIDVIEW_TEC); for (i = (int)FormChangeMode.MODE_TECCOMPONENT.TEC; i < (int)FormChangeMode.MODE_TECCOMPONENT.TG; i++) { comboBoxMode.Items.Add(FormChangeMode.getNameMode((short)i)); } comboBoxMode.SelectedIndex = 0; //StartThreadUIControl(); timerUIControl.Start(); }
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 параметра) - вЫход..."); }
/// <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 параметра) - вЫход..."); }
public void StartPan(PanelSourceData.PanelGetDate[] ar_panels) { int err = -1; //Признак выполнения метода/функции //Зарегистрировать соединение/получить идентификатор соединения int iListenerId = DbSources.Sources().Register(FormMain.s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett(), false, @"CONFIG_DB"); DbConnection dbConn = null; dbConn = DbSources.Sources().GetConnection(iListenerId, out err); if ((err == 0) && (!(dbConn == null))) { m_tableSourceData = DbTSQLInterface.Select(ref dbConn, @"SELECT * FROM source", null, null, out err); if (err == 0) { if (m_tableSourceData.Rows.Count > 0) { int i = -1 , j = -1; for (i = 0; i < INDEX_SOURCE_GETDATE.Length; i++) { ar_panels[i].EvtAskedData += new DelegateObjectFunc(onEvtQueryAskedData); for (j = 0; j < m_tableSourceData.Rows.Count; j++) { ar_panels[i].AddSourceData(m_tableSourceData.Rows[j][@"NAME_SHR"].ToString()); } } } else { ; } } else { ; } } else { throw new Exception(@"Нет соединения с БД"); } DbSources.Sources().UnRegister(iListenerId); for (int i = 0; i < INDEX_SOURCE_GETDATE.Length; i++) { ar_panels[i].Start(); //m_arPanels[i].TurnOn(INDEX_SOURCE_GETDATE [i]); ar_panels[i].Select(INDEX_SOURCE_GETDATE[i]); } //Выбрать действие lock (m_lockTimerGetDate) { if (this.Actived == true) {//Запустить поток if (m_timerGetDate == null) { m_timerGetDate = new //System.Threading.Timer(fThreadGetDate) System.Windows.Forms.Timer() ; m_timerGetDate.Tick += new EventHandler(fThreadGetDate); m_timerGetDate.Interval = 1000; } else { ; } //m_timerGetDate.Change(0, System.Threading.Timeout.Infinite); m_timerGetDate.Start(); } else { //Остановить поток stop(); } } for (int i = 0; i < m_ar_panels.Length; i++) { m_ar_panels[i].Activate(this.Actived); } }
private void Start() { m_idListenerConfigDB = DbSources.Sources().Register(m_connSett, false, @"CONFIG_DB"); }
/// <summary> /// Конструктор - основной (с аргументами) /// </summary> /// <param name="iListenerConfigDbId">Идентификатор установленного соединения с БД конфигурации</param> /// <param name="listTEC">Список ТЭЦ</param> public HandlerDbSignalValue(int iListenerConfigDbId, IEnumerable<TEC> listTEC, IEnumerable<CONN_SETT_TYPE>types) : base() { int err = -1 , id_tec = -1 , id_source = -1; DbConnection dbConn; _key._current_type = CONN_SETT_TYPE.UNKNOWN; _key._current_id_tec = -1; m_dictConnSett = new Dictionary<int, Dictionary<CONN_SETT_TYPE, ConnectionSettings>>(); // в ~ от списка ТЭЦ инициализация словаря с параметрами соединения с БД dbConn = DbSources.Sources().GetConnection(iListenerConfigDbId, out err); if (err == 0) foreach (TEC tec in listTEC) { id_tec = tec.m_id; if (m_dictConnSett.ContainsKey(id_tec) == false) m_dictConnSett.Add(id_tec, new Dictionary<CONN_SETT_TYPE, ConnectionSettings>()); else ; foreach (CONN_SETT_TYPE type in types) { id_source = id_tec * 10 + (type == CONN_SETT_TYPE.DATA_AISKUE ? 1 : type == CONN_SETT_TYPE.DATA_SOTIASSO ? 2 : -1); //??? "-1" - ошибка if (m_dictConnSett[id_tec].ContainsKey(type) == false) { m_dictConnSett[id_tec].Add(type , new ConnectionSettings(InitTECBase.getConnSettingsOfIdSource(iListenerConfigDbId, id_source, -1, out err)?.Rows[0], -1)); if (!(err == 0)) { Logging.Logg().Error(string.Format(@"HandlerDbSignalValue::ctor () - ошибка инициализации источника данных {0} для ТЭЦ.ID={1}, идентификатор источника данных={2}..." , type, tec.m_id, id_source) , Logging.INDEX_MESSAGE.NOT_SET); err = 0; } else ; } else ; } } else throw new Exception(string.Format(@"HandlerDbSignalValue::ctor () - ошибка при получения объекта с соединением с БД конфигурации по идентификатору в аргументе...")); //// на этапе отладки (без БД конфигурации) //m_dictConnSett = new Dictionary<CONN_SETT_TYPE, Dictionary<int, ConnectionSettings>> { // { CONN_SETT_TYPE.DATA_AISKUE, new Dictionary<int, ConnectionSettings>() { // { 1, new ConnectionSettings() } // , { 2, new ConnectionSettings() } // , { 3, new ConnectionSettings() } // , { 4, new ConnectionSettings() } // , { 5, new ConnectionSettings() } // } // } // , { CONN_SETT_TYPE.DATA_SOTIASSO, new Dictionary<int, ConnectionSettings>() { // { 1, new ConnectionSettings() } // , { 2, new ConnectionSettings() } // , { 3, new ConnectionSettings() } // , { 4, new ConnectionSettings() } // , { 5, new ConnectionSettings() } // } // } //}; m_arSyncStateCheckResponse = new AutoResetEvent[(int)INDEX_SYNC_STATECHECKRESPONSE.COUNT_INDEX_SYNC_STATECHECKRESPONSE] { new AutoResetEvent (false) , new AutoResetEvent (false) , new AutoResetEvent (false) }; request_handlers = new Dictionary<StatesMachine, Func<string>>() { { StatesMachine.LIST_SIGNAL, getListSignalRequest }, { StatesMachine.VALUES, getValuesRequest } }; response_handlers = new Dictionary<StatesMachine, Func<DataTable, bool>>() { { StatesMachine.LIST_SIGNAL, getListSignalResponse }, { StatesMachine.VALUES, getValuesResponse } }; Values = new VALUES() { serverTime = DateTime.MinValue, m_valuesHours = new List<VALUE>() }; _signals = new List<SIGNAL>(); }
private void Stop() { DbSources.Sources().UnRegister(m_idListenerConfigDB); m_idListenerConfigDB = -1; }
public static DataTable getConnSettingsOfIdSource(int idListener, int id_ext, int id_role, out int err) { DbConnection conn = DbSources.Sources().GetConnection(idListener, out err); return(getConnSettingsOfIdSource(ref conn, id_ext, id_role, out err)); }
protected override void loadParam(bool bInit) { int j = -1 , err = -1 , tg_id; Start(); DbConnection conn = DbSources.Sources().GetConnection(m_idListenerConfigDB, out err); DataTable tblTGSensors = DbTSQLInterface.Select(ref conn, getQueryParam((int)m_State), null, null, out err); DataRow [] rowsRes; if (err == 0) { for (j = 0; j < COUNT_TG; j++) { rowsRes = tblTGSensors.Select(getWhereParamTG(j + 1)); if (rowsRes.Length == 1) { for (int i = (int)TG.ID_TIME.MINUTES; i < (int)TG.ID_TIME.COUNT_ID_TIME; i++) { if (int.TryParse(rowsRes[0][NAME_FIELDS_TIME[i]].ToString(), out tg_id) == true) { m_tg_id[i, j] = tg_id; } else { ; } } } else { break; } } if (!(j < COUNT_TG)) { //tblTGSensors = DbTSQLInterface.Select(ref conn, getQueryParam((int)TYPE_VALUE.PREVIOUS), null, null, out err); tblTGSensors = DbTSQLInterface.Select(ref conn, getQueryParam(m_State + 1), null, null, out err); if (err == 0) { if (tblTGSensors.Rows.Count < COUNT_TG) { err = -2; } else { ; } } else { } if (err == 0) { for (j = 0; j < COUNT_TG; j++) { rowsRes = tblTGSensors.Select(getWhereParamTG(j + 1)); if (rowsRes.Length == 1) { for (int i = (int)TG.ID_TIME.MINUTES; i < (int)TG.ID_TIME.COUNT_ID_TIME; i++) { if (int.TryParse(rowsRes[0][NAME_FIELDS_TIME[i]].ToString(), out tg_id) == true) { m_tg_id_default[i, j] = tg_id; } else { ; } } } else { break; } } } else { for (j = 0; j < COUNT_TG; j++) { for (int i = (int)TG.ID_TIME.MINUTES; i < (int)TG.ID_TIME.COUNT_ID_TIME; i++) { m_tg_id_default [i, j] = m_tg_id [i, j]; } } } if (!(j < COUNT_TG)) { base.loadParam(bInit); } else { ; } } else { ; //Ошибка } } else { //Ошибка получения объекта "соединение" с БД конфигурации Logging.Logg().Error(@"FormParametrsTG::loadParam (" + getQueryParam((int)m_State) + @")", Logging.INDEX_MESSAGE.NOT_SET); } Stop(); }
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 параметра) - вЫход..."); }
/// <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 параметра) - вЫход..."); }
//SortedList<DateTime, OneField> HourlyFieldValues; /// <summary> /// Конструктор открывает коннект к базе. Закрывает деструктор. /// </summary> public MySQLtechsite(bool bCalculatedHalfHourValues) { int iRes = -1; m_bCalculatedHalfHourValues = bCalculatedHalfHourValues; int iConfigDB = -1; ConnectionSettings connSett = Program.ReadConnSettFromFileINI(out iConfigDB); connSett.id = ConnectionSettings.UN_ENUMERABLE_ID; Console.WriteLine("DB parametrs: IP=" + connSett.server + ", port=" + connSett.port + ", DBName=" + connSett.dbName + ", UID=" + connSett.userName + Environment.NewLine); //Соединение дл я БД конфигурации m_idListener = DbSources.Sources().Register(connSett, false, @"CONFIG_DB"); m_connection = DbSources.Sources().GetConnection(m_idListener, out iRes); //TYPE_DATABASE_CFG typeConfigDB = TYPE_DATABASE_CFG.UNKNOWN; //for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t ++) { // if (t.ToString().Contains(iConfigDB.ToString()) == true) // { // typeConfigDB = t; // break; // } // else // ; //} if (iRes == 0) { m_admin = new AdminTS(new bool [] { false, true }); HMark markQueries = new HMark(new int[] { (int)StatisticCommon.CONN_SETT_TYPE.ADMIN, (int)StatisticCommon.CONN_SETT_TYPE.PBR }); //markQueries.Marked ((int)StatisticCommon.CONN_SETT_TYPE.ADMIN); //markQueries.Marked((int)StatisticCommon.CONN_SETT_TYPE.PBR); m_admin.InitTEC(m_idListener, FormChangeMode.MODE_TECCOMPONENT.GTP, /*typeConfigDB, */ markQueries, true, new int [] { 0, (int)TECComponent.ID.LK }); m_listIndexTECComponent = m_admin.GetListIndexTECComponent(FormChangeMode.MODE_TECCOMPONENT.GTP, true); m_listIdMCTECComponent = new List <int>(); int i = -1, j = -1; for (i = 0; i < m_listIndexTECComponent.Count; i++) { for (j = 0; j < m_admin.allTECComponents[m_listIndexTECComponent[i]].m_listMCentreId.Count; j++) { m_listIdMCTECComponent.Add(m_admin.allTECComponents[m_listIndexTECComponent[i]].m_listMCentreId[j]); } } //Пересоединение для таблиц ПБР if ((DbTSQLInterface.IsConnected(ref m_connection) == true) && (m_listIdMCTECComponent.Count > 0)) { DbSources.Sources().UnRegister(m_idListener); m_idListener = DbSources.Sources().Register(m_admin.allTECComponents[m_listIndexTECComponent[0]].tec.connSetts[(int)StatisticCommon.CONN_SETT_TYPE.PBR], false, @"PBR"); m_connection = DbSources.Sources().GetConnection(m_idListener, out iRes); m_strTableNamePPBR = m_admin.allTECComponents[m_listIndexTECComponent[0]].tec.m_strNameTableUsedPPBRvsPBR /*[(int)AdminTS.TYPE_FIELDS.STATIC]*/; } else { } } else { ; } { //itssAUX.PrintErrorMessage("Ошибка! MySQLtechsite::MySQLtechsite () - чтение файла с шифрованными параметрами соединения (" + m_strFileNameConnSett + ")..."); itssAUX.PrintErrorMessage("Проверте параметры соединения (" + Program.m_fileINI.m_NameFileINI + "). Затем запустите программу с аргументом /setmysqlpassword..." + Environment.NewLine); } }
/// <summary> /// Инициализация п.п. главного меню /// в ~ от разрешенных к загрузке плюгИнов /// </summary> /// <param name="strErr">Сообщение об ошибке</param> /// <returns>Результат инициализации меню</returns> private int initializeMenu(out string strErr) { int iRes = -1 , idListener = -1; strErr = string.Empty; string strUserDomainName = string.Empty; idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)CONN_SETT_TYPE.MAIN_DB].getConnSett(), false, @"MAIN_DB"); try { using (HTepUsers users = new HTepUsers(idListener)) {; } iRes = 0; } catch (Exception e) { } if (iRes == 0) { initializeLogging(); s_plugIns.Load(HTepUsers.GetPlugins(idListener, out iRes)); if (iRes == 0) { //Проверить рез-т чтения наименования плюгина if (iRes == 0) { ToolStripMenuItem miOwner = null , miItem = null; string[] arHierarchyOwnerMenuItems; //Циклл по строкам - идентификатрам/разрешениям использовать плюгин foreach (IPlugIn plugIn in s_plugIns.Values) { arHierarchyOwnerMenuItems = (plugIn as PlugInMenuItem).NameOwnerMenuItem.Split(new char [] { '\\' }, StringSplitOptions.None);; //Поиск пункта "родительского" пункта меню для плюг'ина miOwner = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[0]); //Проверка найден ли "родительский" пункт меню для плюг'ина if (miOwner == null) { //НЕ найден - создаем int indx = -1; // индекс для добавляемого пункта if (arHierarchyOwnerMenuItems[0].Equals(@"Помощь") == false) { // индекс для всех пунктов кроме "Помощь" indx = this.MainMenuStrip.Items.Count - 1; } else { ; } if (indx < 0) { // для пункта "Помощь" - он всегда крайний // , и не имеет сложной иерархии this.MainMenuStrip.Items.Add(miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0])); } else { // для всех пунктов кроме "Помощь" this.MainMenuStrip.Items.Insert(indx, miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0])); } } else { ; } //Реализовать иерархию п.п. (признак наличия иерархии - длина массива) for (int i = 1; i < arHierarchyOwnerMenuItems.Length; i++) { //Найти п. меню очередного уровня miItem = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[i]); if (miItem == null) { // в случае отсутствия добавить к ранее найденному miOwner.DropDownItems.Add(miItem = new ToolStripMenuItem(arHierarchyOwnerMenuItems[i])); } else { ; } miOwner = miItem; } //Добавить пункт меню для плюг'ина miItem = miOwner.DropDownItems.Add((plugIn as PlugInMenuItem).NameMenuItem) as ToolStripMenuItem; //Обработку выбора пункта меню предоставить плюг'ину miItem.Click += (plugIn as PlugInMenuItem).OnClickMenuItem; //Добавить обработчик запросов для плюг'ина от главной формы (plugIn as PlugInBase).EvtDataAskedHost += new DelegateObjectFunc(s_plugIns.OnEvtDataAskedHost); initializePlugIn(plugIn); } if (iRes == 0) { профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Checked = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_CHECKED)); профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Enabled = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_ACCESS)); //Успешный запуск на выполнение приложения Start(); } else { switch (iRes) { case -2: strErr = @"Не удалось загрузить все разрешенные для использования модули из списка (несоответствие идентификатроов)"; break; case -1: default: strErr = @"Не удалось загрузить все разрешенные для использования модули из списка"; break; } } } else { if (iRes == 0) { iRes = -1; } else { ; } strErr = @"Не удалось сформировать список разрешенных для использования модулей"; } } else { if (iRes == 0) { iRes = -1; } else { ; } strErr = @"Не удалось сформировать правила для роли пользователя"; } } else { if (iRes == 0) { iRes = -1; } else { ; } strErr = @"Не удалось идентифицировать пользователя"; } DbSources.Sources().UnRegister(idListener); return(iRes); }
/// <summary> /// Инициализация п.п. главного меню /// в ~ от разрешенных к загрузке плюгИнов /// </summary> /// <param name="strErr">Сообщение об ошибке</param> /// <returns>Результат инициализации меню</returns> private int initializeMenu(out string strErr) { int iRes = -1 , idListener = -1 , iKeyPlugIn = -1, iKeyFPanel = -1; strErr = string.Empty; string strUserDomainName = string.Empty; string [] arIdFPanels = null; idListener = DbSources.Sources().Register(s_listFormConnectionSettings[(int)CONN_SETT_TYPE.MAIN_DB].getConnSett(), false, @"MAIN_DB"); initializeLogging(); s_plugIns.Load(HTepUsers.GetPlugins(idListener, out iRes), out iRes); if (iRes == 0) { arIdFPanels = HTepUsers.GetIdIsUseFPanels(idListener, out iRes).Split(new char[] { ',' }, StringSplitOptions.None); //Проверить рез-т чтения наименования плюгина if (iRes == 0) { ToolStripMenuItem miOwner = null , miItem = null; string[] arHierarchyOwnerMenuItems; //Циклл по строкам - идентификатрам/разрешениям использовать плюгин foreach (string key in arIdFPanels) { iKeyFPanel = Int32.Parse(key); iKeyPlugIn = s_plugIns.GetKeyOfIdFPanel(iKeyFPanel); if (!(iKeyPlugIn < 0)) { arHierarchyOwnerMenuItems = s_plugIns[iKeyPlugIn].GetNameOwnerMenuItem(iKeyFPanel).Split(new char[] { '\\' }, StringSplitOptions.None); //Поиск пункта "родительского" пункта меню для плюг'ина miOwner = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[0]); //Проверка найден ли "родительский" пункт меню для плюг'ина if (miOwner == null) { //НЕ найден - создаем int indx = -1; // индекс для добавляемого пункта if (arHierarchyOwnerMenuItems[0].Equals(@"Помощь") == false) { // индекс для всех пунктов кроме "Помощь" indx = this.MainMenuStrip.Items.Count - 1; } else { ; } if (indx < 0) { // для пункта "Помощь" - он всегда крайний // , и не имеет сложной иерархии this.MainMenuStrip.Items.Add(miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0])); } else { // для всех пунктов кроме "Помощь" this.MainMenuStrip.Items.Insert(indx, miOwner = new ToolStripMenuItem(arHierarchyOwnerMenuItems[0])); } } else { ; } //Реализовать иерархию п.п. (признак наличия иерархии - длина массива) for (int i = 1; i < arHierarchyOwnerMenuItems.Length; i++) { //Найти п. меню очередного уровня miItem = FindMainMenuItemOfText(arHierarchyOwnerMenuItems[i]); if (miItem == null) { // в случае отсутствия добавить к ранее найденному miOwner.DropDownItems.Add(miItem = new ToolStripMenuItem(arHierarchyOwnerMenuItems[i])); } else { ; } miOwner = miItem; } //Добавить пункт меню для плюг'ина miItem = miOwner.DropDownItems.Add(s_plugIns[iKeyPlugIn].GetNameMenuItem(iKeyFPanel)) as ToolStripMenuItem; miItem.Tag = iKeyFPanel; //Обработку выбора пункта меню предоставить плюг'ину miItem.Click += s_plugIns[iKeyPlugIn].OnClickMenuItem; //postOnClickMenuItem; //Добавить обработчик запросов для плюг'ина от главной формы // только ОДИН раз if ((s_plugIns[iKeyPlugIn] as PlugInBase).IsEvtDataAskedHostHandled == false) { (s_plugIns[iKeyPlugIn] as PlugInBase).EvtDataAskedHost += new DelegateObjectFunc(s_plugIns.OnEvtDataAskedHost); } else { ; } initializePlugIn(s_plugIns[iKeyPlugIn]); } else { Logging.Logg().Error(@"FormMain::initializeMenu () - не найден плюгИн для вкладки (ID=" + iKeyFPanel + @")...", Logging.INDEX_MESSAGE.NOT_SET); } } if (iRes == 0) { профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Checked = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_CHECKED)); профайлАвтоЗагрузитьСохранитьToolStripMenuItem.Enabled = Convert.ToBoolean(HTepUsers.GetAllowed((int)HTepUsers.ID_ALLOWED.AUTO_LOADSAVE_USERPROFILE_ACCESS)); //Успешный запуск на выполнение приложения Start(); } else { switch (iRes) { case -2: strErr = @"Не удалось загрузить все разрешенные для использования модули из списка (несоответствие идентификатроов)"; break; case -1: default: strErr = @"Не удалось загрузить все разрешенные для использования модули из списка"; break; } } } else { if (iRes == 0) { iRes = -1; } else { ; } strErr = @"Не удалось сформировать список разрешенных для использования модулей"; } } else { if (iRes == 0) { iRes = -1; } else { ; } strErr = @"Ошибка при загрузке библиотек - см. лог-файл..."; } DbSources.Sources().UnRegister(idListener); return(iRes); }
/// <summary> /// Запуск проверки пользователя /// </summary> private void registrationEnv(object par) { int idListener = (int)par //idListener = ((int [])par)[0] , i = -1 ; //Следующий приоритет DataBase if (isRegistration == false) { Logging.Logg().Debug(string.Format(@"HUsers::HUsers () - ... registrationEnv () - s_StateRegistration [{0}] = {1}", INDEX_REGISTRATION.DOMAIN_NAME, s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME].ToString()), Logging.INDEX_MESSAGE.NOT_SET); try { if (s_StateRegistration[(int)INDEX_REGISTRATION.ID] == STATE_REGISTRATION.CMD) { // идентификатор указан в командной строке ; } else // если идентификатор не указан в командной строке if (s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] == STATE_REGISTRATION.UNKNOWN) { //Определить из ENV //Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ switch (s_modeRegistration) { case MODE_REGISTRATION.MACHINE_DOMAINNAME: s_DataRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = MachineName; break; case MODE_REGISTRATION.USER_DOMAINNAME: default: s_DataRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = Environment.UserDomainName + @"\" + Environment.UserName; break; case MODE_REGISTRATION.MIXED: s_DataRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = MachineName + DELIMETER_DOMAINNAME + Environment.UserDomainName + @"\" + Environment.UserName; break; } s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] = STATE_REGISTRATION.ENV; Logging.Logg().Debug(string.Format(@"HUsers::HUsers () - ... registrationEnv () - s_StateRegistration [{0}] = {1}", INDEX_REGISTRATION.DOMAIN_NAME, s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME]), Logging.INDEX_MESSAGE.NOT_SET); } else { } } catch (Exception e) { Logging.Logg().Exception(e, @"HUsers::HUsers () - ... registrationEnv () ... Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ ... ", Logging.INDEX_MESSAGE.NOT_SET); throw e; } int err = -1; DataTable dataUsers; DbConnection connDB = DbSources.Sources().GetConnection((int)par, out err); if ((!(connDB == null)) && (err == 0)) { //Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ GetUsers(ref connDB, whereQueryUsers, string.Empty, out dataUsers, out err); Logging.Logg().Debug(@"HUsers::HUsers () - ... registrationEnv () - найдено пользователей = " + dataUsers.Rows.Count, Logging.INDEX_MESSAGE.NOT_SET); if ((err == 0) && (dataUsers.Rows.Count > 0)) {//Найдена хотя бы одна строка i = 0; if ((s_StateRegistration[(int)INDEX_REGISTRATION.ID] == STATE_REGISTRATION.UNKNOWN) || (s_StateRegistration[(int)INDEX_REGISTRATION.DOMAIN_NAME] == STATE_REGISTRATION.ENV)) { for (i = 0; i < dataUsers.Rows.Count; i++) { //Проверка IP-адрес //for (indxIP = 0; indxIP < listIP.Length; indxIP ++) { // if (listIP[indxIP].Equals(System.Net.IPAddress.Parse (dataUsers.Rows[i][@"IP"].ToString())) == true) { // //IP найден // break; // } // else // ; //} //Проверка ИМЯ_ПОЛЬЗОВАТЕЛЯ if (equalsDomainName(dataUsers.Rows[i][@"DOMAIN_NAME"].ToString(), dataUsers.Rows[i][@"COMPUTER_NAME"].ToString()) == true) { break; } else { ; } } } else { setDataRegistration(INDEX_REGISTRATION.DOMAIN_NAME, getUserDomainNameEnvironment(dataUsers.Rows[i][@"DOMAIN_NAME"].ToString(), dataUsers.Rows[i][@"COMPUTER_NAME"].ToString()), STATE_REGISTRATION.CMD); } if (i < dataUsers.Rows.Count) { setDataRegistration(INDEX_REGISTRATION.ID, dataUsers.Rows[i]["ID"], STATE_REGISTRATION.ENV); setDataRegistration(INDEX_REGISTRATION.ROLE, dataUsers.Rows[i]["ID_ROLE"], STATE_REGISTRATION.ENV); setDataRegistration(INDEX_REGISTRATION.ID_TEC, dataUsers.Rows[i]["ID_TEC"], STATE_REGISTRATION.ENV); } else { throw new HException((int)ERROR_CODE.UDN_NOT_FOUND, messageUserIDNotFind); } } else {//Не найдено ни одной строки if (connDB == null) { throw new HException((int)ERROR_CODE.NOT_CONNECT_CONFIGDB, "Нет соединения с БД конфигурации"); } else if (err == 0) { throw new HException((int)ERROR_CODE.UDN_NOT_FOUND, messageUserIDNotFind); } else { throw new HException((int)ERROR_CODE.QUERY_FAILED, "Ошибка получения списка пользователей из БД конфигурации"); } } } else //Нет возможности для проверки { if (connDB == null) { throw new HException((int)ERROR_CODE.NOT_CONNECT_CONFIGDB, "Нет соединения с БД конфигурации"); } else //??? if (!(err == 0)) { throw new HException((int)ERROR_CODE.NOT_CONNECT_CONFIGDB, "Нет соединения с БД конфигурации"); } else { ; } } } else { Logging.Logg().Debug(string.Format(@"HUsers::HUsers () - ... registrationEnv () - isRegistration = {0}", isRegistration.ToString()), Logging.INDEX_MESSAGE.NOT_SET); } try { m_profiles = createProfiles(idListener, (int)s_DataRegistration[(int)INDEX_REGISTRATION.ROLE], (int)s_DataRegistration[(int)INDEX_REGISTRATION.ID]); } catch (Exception e) { throw new HException(-6, e.Message); } }