Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        protected override void Start()
        {
            int i = -1;

            EditFormConnectionSettings("connsett_gtp.ini", true);

            //Добавление необходимого кол-ва элементов настроек для соединения с БД конфигурации
            //if (m_formConnectionSettingsConfigDB.Count < 2)
            //{
            //    while (!(m_formConnectionSettingsConfigDB.Count < 2))
            //        m_formConnectionSettingsConfigDB.addConnSett(m_formConnectionSettingsConfigDB.Count);
            //    конфигурацияБДToolStripMenuItem.PerformClick();

            //    return;
            //}
            //else
            //    ;

            //m_sFileINI.AddMainPar(@"ТипБДКфгИсточник", @"190");
            //m_sFileINI.AddMainPar(@"РДГФорматТаблицаИсточник", @"STATIC");

            ////Для переназначения идентификаторов источников данных БийскТЭЦ
            //m_fileINI.Add(@"ID_БДНазначение_ASKUE", @"6,");
            //m_fileINI.Add(@"ID_БДНазначение_SOTIASSO", @"6,");
            //m_fileINI.Add(@"ID_БДНазначение_PPBR_PBR", @"6,103");
            //m_fileINI.Add(@"ID_БДНазначение_PPBR_ADMIN", @"6,");

            //int[] arConfigDB = new int[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE];
            //string[] arKeyTypeConfigDB = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { @"ТипБДКфгИсточник", @"ТипБДКфгНазначение" };

            //TYPE_DATABASE_CFG[] arTypeConfigDB = new TYPE_DATABASE_CFG[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE] { TYPE_DATABASE_CFG.UNKNOWN, TYPE_DATABASE_CFG.UNKNOWN };
            //for (i = 0; i < (Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE; i++)
            //{
            //    arConfigDB[i] = Int32.Parse(m_sFileINI.GetMainValueOfKey(arKeyTypeConfigDB[i]));
            //    for (TYPE_DATABASE_CFG t = TYPE_DATABASE_CFG.CFG_190; t < TYPE_DATABASE_CFG.UNKNOWN; t++)
            //    {
            //        if (t.ToString().Contains(arConfigDB[i].ToString()) == true)
            //        {
            //            arTypeConfigDB[i] = t;
            //            break;
            //        }
            //        else
            //            ;
            //    }
            //}

            //string[] arStrTypeField = new string[(Int16)CONN_SETT_TYPE.COUNT_CONN_SETT_TYPE];
            //arStrTypeField[(int)CONN_SETT_TYPE.SOURCE] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаИсточник");
            //arStrTypeField[(int)CONN_SETT_TYPE.DEST] = m_sFileINI.GetMainValueOfKey(@"РДГФорматТаблицаНазначение");

            bool bIgnoreDateTime = false;

            if (Boolean.TryParse(m_sFileINI.GetMainValueOfKey(@"ИгнорДатаВремя-techsite"), out bIgnoreDateTime) == false)
            {
                bIgnoreDateTime = false;
            }
            else
            {
                ;
            }

            m_sFileINI.AddMainPar(@"ТЭЦПараметрыНазначение", @"{}");

            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
            {
                ;
            }
        }
Esempio n. 3
0
        /// <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);
        }