/// <summary> /// Инициализация параметров соединения с БД_конфигурации /// </summary> /// <param name="msgError">Сообщение об ошибке (при наличии)</param> /// <returns>Признак выполнения функции</returns> private int validateUser(out string msgError) { int iRes = 0; msgError = string.Empty; //Проверить наличие пользователя в БД_конфигурации try { //Создать И удалить объект с пользовательскими настройками (заполнить статические члены) using (HStatisticUsers users = new HStatisticUsers(DbTSQLConfigDatabase.DataSource().ListenerId, HUsers.MODE_REGISTRATION.MIXED)) {; } } catch (Exception e) { if (e is HException) { iRes = ((HException)e).m_code; //-2, -3, -4 } else { iRes = -1; // общая (неизвестная) ошибка } msgError = e.Message; } if (iRes == 0) { if (HStatisticUsers.IsAllowed((int)HStatisticUsers.ID_ALLOWED.MENUITEM_SETTING_PARAMETERS_SYNC_DATETIME_DB) == false) { msgError = @"Пользователю не разрешено использовать задачу"; iRes = -6; } else { //Успех... ; } } else { ; } return(iRes); }
protected override void Start() { int i = -1; EditFormConnectionSettings("connsett_gtp.ini", true); //Добавление необходимого кол-ва элементов настроек для соединения с БД конфигурации //if (m_formConnectionSettingsConfigDB.Count < 2) //{ // while (!(m_formConnectionSettingsConfigDB.Count < 2)) // m_formConnectionSettingsConfigDB.addConnSett(m_formConnectionSettingsConfigDB.Count); // конфигурацияБДToolStripMenuItem.PerformClick(); // return; //} //else // ; //m_sFileINI.AddMainPar(@"ТипБДКфгИсточник", @"190"); //m_sFileINI.AddMainPar(@"РДГФорматТаблицаИсточник", @"STATIC"); ////Для переназначения идентификаторов источников данных БийскТЭЦ //m_fileINI.Add(@"ID_БДНазначение_ASKUE", @"6,"); //m_fileINI.Add(@"ID_БДНазначение_SOTIASSO", @"6,"); //m_fileINI.Add(@"ID_БДНазначение_PPBR_PBR", @"6,103"); //m_fileINI.Add(@"ID_БДНазначение_PPBR_ADMIN", @"6,"); //int[] arConfigDB = new int[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE]; //string[] arKeyTypeConfigDB = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { @"ТипБДКфгИсточник", @"ТипБДКфгНазначение" }; //TYPE_DATABASE_CFG[] arTypeConfigDB = new TYPE_DATABASE_CFG[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { TYPE_DATABASE_CFG.UNKNOWN, TYPE_DATABASE_CFG.UNKNOWN }; //for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) //{ // arConfigDB[i] = Int32.Parse(m_sFileINI.GetMainValueOfKey(arKeyTypeConfigDB[i])); // for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t++) // { // if (t.ToString().Contains(arConfigDB[i].ToString()) == true) // { // arTypeConfigDB[i] = t; // break; // } // else // ; // } //} //string[] arStrTypeField = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE]; //arStrTypeField[(int)CONN_SETT_TYPE.SOURCE] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаИсточник"); //arStrTypeField[(int)CONN_SETT_TYPE.DEST] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаНазначение"); bool bIgnoreDateTime = false; if (Boolean.TryParse(m_sFileINI.GetMainValueOfKey(@"ИгнорДатаВремя-techsite"), out bIgnoreDateTime) == false) { bIgnoreDateTime = false; } else { ; } m_sFileINI.AddMainPar(@"ТЭЦПараметрыНазначение", @"{}"); ASUTP.Core.HMark markQueries = new ASUTP.Core.HMark(0); markQueries.Set((int)StatisticCommon.CONN_SETT_TYPE.PBR, ОпросППБРToolStripMenuItem.Checked); markQueries.Set((int)StatisticCommon.CONN_SETT_TYPE.ADMIN, ОпросАдминЗначенияToolStripMenuItem.Checked); // определить пользователя по 1-ой БД конфигурации new DbTSQLConfigDatabase(s_listFormConnectionSettings [(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(0)); DbTSQLConfigDatabase.DbConfig().Register(); try { using (HStatisticUsers users = new HStatisticUsers(DbTSQLConfigDatabase.DataSource().ListenerId, ASUTP.Helper.HUsers.MODE_REGISTRATION.MIXED)) {; } } catch (Exception e) { Logging.Logg().Exception(e, "FormMainTransGTP::FormMainTransGTP ()", Logging.INDEX_MESSAGE.NOT_SET); } //Инициализация объектов получения данных for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++) { bool bPPBRSavedValues = false; if (i == (Int16)CONN_SETT_TYPE.DEST) { bPPBRSavedValues = СохранППБРToolStripMenuItem.Checked; } else { ; } m_arAdmin[i] = new AdminTS_KomDisp(new bool[] { false, bPPBRSavedValues }); try { //((AdminTS_KomDisp)m_arAdmin[i]).InitTEC(m_formConnectionSettingsConfigDB.getConnSett((Int16)CONN_SETT_TYPE.DEST), m_modeTECComponent, true, false); m_arAdmin[i].InitTEC(m_modeTECComponent, /*arTypeConfigDB[i], */ markQueries, true, new int[] { 0, (int)TECComponent.ID.GTP }); RemoveTEC(m_arAdmin[i]); } catch (Exception e) { Logging.Logg().Exception(e, "FormMainTransGTP::FormMainTransGTP ()", Logging.INDEX_MESSAGE.NOT_SET); //ErrorReport("Ошибка соединения. Перехож в ожидание."); //setUIControlConnectionSettings(i); break; } ////Для переназначения идентификаторов источников данных БийскТЭЦ //int j = -1; //string val = m_fileINI.GetValueOfKey (@"ID_БДНазначение_PPBR_PBR"); //val = val.Split (',')[0]; //for (j = 0; j < m_arAdmin[i].m_list_tec.Count; j ++) { // if (m_arAdmin[i].m_list_tec[j].m_id == Int32.Parse (val)) // break; // else // ; //} //if (j < m_arAdmin[i].m_list_tec.Count) { //} else { //} if ((i == (int)CONN_SETT_TYPE.DEST) /*&& (arTypeConfigDB[(int)CONN_SETT_TYPE.DEST] == TYPE_DATABASE_CFG.CFG_190)*/ ) { string strTECParametersDest = m_sFileINI.GetMainValueOfKey(@"ТЭЦПараметрыНазначение"); if (strTECParametersDest.Equals(string.Empty) == false) { ////if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) { // int err = -1 // , indx = -1 // , indx_tec = -1; // foreach (TEC t in m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec) // if (t.m_id == 6) //Идентификатор БиТЭЦ // { // indx_tec = m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec.IndexOf(t); // break; // } // else // ; // if (!(indx_tec < 0)) // { // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].m_arNameTableAdminValues[(int)((AdminTS)m_arAdmin[(int)CONN_SETT_TYPE.DEST]).m_typeFields] = @""; // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].m_arNameTableUsedPPBRvsPBR[(int)((AdminTS)m_arAdmin[(int)CONN_SETT_TYPE.DEST]).m_typeFields] = @"BiPPBRvsPBR"; //??? // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].SetNamesField(@"", //ADMIN_DATETIME // @"", //ADMIN_REC // @"", //ADMIN_IS_PER // @"", //ADMIN_DIVIAT // @"Date_time", //PBR_DATETIME // @"PBR", //PPBRvsPBR // @"PBR_number"); // m_arAdmin[(int)CONN_SETT_TYPE.DEST].m_list_tec[indx_tec].connSettings(ConnectionSettingsSource.GetConnectionSettings(TYPE_DATABASE_CFG.CFG_190, idListener, 103, -1, out err), (int)StatisticCommon.CONN_SETT_TYPE.PBR); // } // else ; ////} ////else ; } else { ; } } else { } //for (AdminTS.TYPE_FIELDS tf = AdminTS.TYPE_FIELDS.STATIC; i < (int)AdminTS.TYPE_FIELDS.COUNT_TYPE_FIELDS; tf++) // if (arStrTypeField[i].Equals(tf.ToString()) == true) // { // ((AdminTS)m_arAdmin[i]).m_typeFields = tf; // break; // } // else // ; m_arAdmin[i].m_ignore_date = bIgnoreDateTime; //m_arAdmin[i].m_ignore_connsett_data = true; //-> в конструктор setUIControlConnectionSettings(i); m_arAdmin[i].SetDelegateWait(delegateStartWait, delegateStopWait, delegateEvent); //m_arAdmin[i].SetDelegateWait(new DelegateFunc(StartWait), new DelegateFunc (StopWait), delegateEvent); m_arAdmin[i].SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear); m_arAdmin[i].SetDelegateData(setDataGridViewAdmin, errorDataGridViewAdmin); m_arAdmin[i].SetDelegateSaveComplete(saveDataGridViewAdminComplete); m_arAdmin[i].SetDelegateDatetime(setDatetimePicker); //m_arAdmin [i].mode (FormChangeMode.MODE_TECCOMPONENT.GTP); m_arAdmin[i].Start(); DbTSQLConfigDatabase.DataSource().UnRegister(); if (i + 1 < (int)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE) { DbTSQLConfigDatabase.DbConfig().SetConnectionSettings(s_listFormConnectionSettings [(int)StatisticCommon.CONN_SETT_TYPE.CONFIG_DB].getConnSett(i + 1)); DbTSQLConfigDatabase.DbConfig().Register(); } else { ; } } if (!(i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE)) { start(); } else { ; } }
/// <summary> /// Инициализация панели /// </summary> /// <param name="msgError">Сообщение об ошибке (при наличии)</param> public bool InitializePanel(out string msgError) { bool bRes = true; msgError = string.Empty; if (s_listFormConnectionSettings[(int)CONN_SETT_TYPE.CONFIG_DB].Ready == 0) { //!!! Один экземпляр для всего приложения, на весь срок выполнения new DbTSQLConfigDatabase(s_listFormConnectionSettings [(int)CONN_SETT_TYPE.CONFIG_DB].getConnSett()); //Идентификатор соединения с БД_конфигурации DbTSQLConfigDatabase.DbConfig().Register(); _state = validateUser(out msgError); switch (_state) { case -1: msgError = FormMainStatistic.MSG_ERROR_INIT[(int)FormMainStatistic.INDEX_ERROR_INIT.UNKNOWN]; break; case -3: //@"Не найден пользователь@ break; case -2: case -5: case -4: //@"Необходимо изменить параметры соединения с БД" - получено из 'Initialize' bRes = false; break; case -6: //@"Пользователю не разрешено использовать задачу" - получено из 'Initialize' break; default: //Успех... пост-инициализация m_panel = new PanelCommonAux(formParameters.m_arParametrSetup [(int)StatisticCommon.FormParameters.PARAMETR_SETUP.COMMON_AUX_PATH] , SystemColors.ControlText , SystemColors.Control); m_panel.SetDelegateReport(ErrorReport, WarningReport, ActionReport, ReportClear); m_panel.Start(); (this.MainMenuStrip.Items [1] as ToolStripMenuItem).DropDownItems [0].Enabled = HStatisticUsers.RoleIsAdmin; #region Добавить рабочую панель на форму this._panelMain.SuspendLayout(); _panelMain.Controls.Add(this.m_panel); this._panelMain.ResumeLayout(false); this._panelMain.PerformLayout(); #endregion break; } //Отменить регистрацию соединения с БД_конфигурации DbTSQLConfigDatabase.DataSource().UnRegister(); } else {//Файла с параметрами соединения нет совсем или считанные параметры соединения не валидны msgError = @"Необходимо изменить параметры соединения с БД конфигурации"; bRes = false; } return(bRes); }