Ejemplo n.º 1
0
        private void buttonOk_Click(object sender, EventArgs e)
        {
            int err = 0,
                i   = -1;

            DbConnection conn = DbSources.Sources().GetConnection(m_idListener, out err);

            for (i = 0; i < m_list_data /*_original*/.Length; i++)
            {
                DbTSQLInterface.RecUpdateInsertDelete(ref conn, FormChangeMode.getPrefixMode(i) + "_LIST", @"ID", m_list_data_original[i], m_list_data[i], out err);
            }

            buttonClick(DialogResult.Yes);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Возвратить объект-таблицу со значениями из таблицы с временными для расчета
        /// </summary>
        /// <param name="type">Тип значений (входные, выходные)</param>
        /// <param name="err">Признак выполнения функции</param>
        /// <returns>Объект-таблица</returns>
        public DataTable GetValuesVar(TaskCalculate.TYPE type
                                      , out int err)
        {
            DataTable tableRes = new DataTable();

            err = -1;

            tableRes = DbTSQLInterface.Select(ref _dbConnection
                                              , GetQueryValuesVar(type)
                                              , null, null
                                              , out err);

            return(tableRes);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="tableOrigin">первоначальная таблица</param>
        /// <param name="tableRes">измененная таблица</param>
        /// <param name="timezone">индентификатор таймзоны</param>
        /// <param name="err">номер ошибки</param>
        /// <returns>таблица данных</returns>
        public DataTable SaveValues(DataTable tableOrigin, DataTable tableRes, int timezone, out int err)
        {
            err = -1;
            DataTable tableEdit = new DataTable();
            DateTime  dtRes;
            string    rowSel = null;
            int       idUser = 0
            , idSource       = 0;

            tableEdit = tableOrigin.Clone();//копия структуры

            for (int i = 0; i < tableRes.Rows.Count; i++)
            {
                rowSel = tableRes.Rows[i]["ID_PUT"].ToString();
                //dtRes = Convert.ToDateTime(tableRes.Rows[i]["WR_DATETIME"]);

                //for (int j = 0; j < tableOrigin.Rows.Count; j++)
                //    if (rowSel == tableOrigin.Rows[j]["ID_PUT"].ToString())
                //        if (dtRes == Convert.ToDateTime(tableOrigin.Rows[j]["DATE_TIME"]))
                //            if (tableOrigin.Rows[j]["Value"].ToString() == tableRes.Rows[i]["VALUE"].ToString())
                //            {
                //                idUser = (int)tableOrigin.Rows[j]["ID_USER"];
                //                idSource = (int)tableOrigin.Rows[j]["ID_SOURCE"];
                //                break;
                //            }
                //            else
                //            {
                idUser   = HUsers.Id;
                idSource = 0;
                //            }

                tableEdit.Rows.Add(new object[]
                {
                    DbTSQLInterface.GetIdNext(tableEdit, out err)
                    , rowSel
                    , idUser.ToString()
                    , idSource.ToString()
                    , Convert.ToDateTime(tableRes.Rows[i]["WR_DATETIME"].ToString()).AddHours(27).ToString(CultureInfo.InvariantCulture)
                    , ID_PERIOD.DAY
                    , timezone
                    , tableRes.Rows[i]["QUALITY"].ToString()
                    , tableRes.Rows[i]["VALUE"].ToString()
                    , DateTime.Now
                });
            }

            return(tableEdit);
        }
Ejemplo n.º 4
0
            /// <summary>
            /// Обновить(прочитать) значения параметров профиля, список параметров
            /// </summary>
            /// <param name="iListenerId">Идентификатор подписчика объекта обращения к данным</param>
            /// <param name="id_role">Идентификатор группы(роли) пользователей</param>
            /// <param name="id_user">Идентификатор пользователя</param>
            /// <param name="bThrow">Признак инициирования исключения при ошибке</param>
            public void Read(int iListenerId, int id_role, int id_user, bool bThrow)
            {
                int    err   = -1;
                string query = string.Empty
                , errMsg     = string.Empty;

                DbConnection dbConn = DbSources.Sources().GetConnection(iListenerId, out err);

                if (!(err == 0))
                {
                    errMsg = @"нет соединения с БД";
                }
                else
                {
                    m_tblValues = getDataTableUserValues(ref dbConn, id_role, id_user, out err);

                    if (!(err == 0))
                    {
                        errMsg = @"Ошибка при чтении НАСТРоек для группы(роли) (irole = " + id_role + @"), пользователя (iuser="******")";
                    }
                    else
                    {
                        query      = $@"SELECT * from {s_nameTableProfilesUnit}";
                        m_tblTypes = DbTSQLInterface.Select(ref dbConn, query, null, null, out err);

                        if (!(err == 0))
                        {
                            errMsg = @"Ошибка при чтении ТИПов ДАНных настроек для группы(роли) (irole = " + id_role + @"), пользователя (iuser="******")";
                        }
                        else
                        {
                            ;
                        }
                    }
                }

                if (
                    (!(err == 0)) &&
                    (bThrow == true)
                    )
                {
                    throw new Exception($"HProfiles::HProfiles () - {errMsg}...");
                }
                else
                {
                    ;
                }
            }
Ejemplo n.º 5
0
        /// <summary>
        /// Функция запроса для поиска пользователя
        /// </summary>
        public static void GetUsers(ref DbConnection conn, string where, string orderby, out DataTable users, out int err)
        {
            err   = 0;
            users = null;

            if (!(conn == null))
            {
                users = new DataTable();
                Logging.Logg().Debug(@"HUsers::GetUsers () - запрос для поиска пользователей = [" + getUsersRequest(where, orderby) + @"]", Logging.INDEX_MESSAGE.NOT_SET);
                users = DbTSQLInterface.Select(ref conn, getUsersRequest(where, orderby), null, null, out err);
            }
            else
            {
                err = -1;
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Обработчик для получения следующего идентификатора
        /// </summary>
        /// <returns>Возвращает идентификатор</returns>
        private int GetNextID(object sender, TreeView_Users.GetIDEventArgs e)
        {
            int ID  = 0;
            int err = 0;

            if (e.IdComp == (int)ID_Table.Role)
            {
                ID = DbTSQLInterface.GetIdNext(m_arr_UserRolesTable[(int)ID_Table.Role], out err);
            }
            if (e.IdComp == (int)ID_Table.User)
            {
                ID = DbTSQLInterface.GetIdNext(m_arr_UserRolesTable[(int)ID_Table.User], out err);
            }

            return(ID);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Получить все (ТГ, ТСН) значения для станции
        /// </summary>
        /// <param name="tec">Станция, для которой необходимо получить значения</param>
        /// <param name="dbConn">Ссылка на объект соединения с БД-источником данных</param>
        /// <param name="dtStart">Дата - начало</param>
        /// <param name="dtEnd">Дата - окончание</param>
        /// <param name="indx">Индекс группы сигналов</param>
        /// <returns>Результат выполнения - признак ошибки (0 - успех)</returns>
        public int Request(TEC_LOCAL tec,ref DbConnection dbConn,DateTime dtStart,DateTime dtEnd,TEC_LOCAL.INDEX_DATA indx)
        {
            int iRes       = 0
            ,err           = -1;
            string   query = string.Empty;
            DateTime dtQuery;
            TimeSpan tsQuery;

            dtQuery = DateTime.Now;

            tec.m_arTableResult[(int)indx] = null;
            query = getQuery(tec,indx,dtStart,dtEnd);

            if (query.Equals(string.Empty) == false)
            {
                tec.m_arTableResult[(int)indx] = new TEC_LOCAL.TableResult(DbTSQLInterface.Select(ref dbConn,query,null,null,out err));

                tsQuery = DateTime.Now - dtQuery;

                Logging.Logg().Action(string.Format(@"TEC.ID={0}, ИНДЕКС={1}, время={4}{2}запрос={3} сек"
                                                    ,tec.m_Id,indx.ToString(),Environment.NewLine,query,tsQuery.TotalSeconds)
                                      ,Logging.INDEX_MESSAGE.NOT_SET);

                if (err == 0)
                {
                    tec.parseTableResult(dtStart,dtEnd,indx,out err);
                }
                else
                {
                    Logging.Logg().Error(string.Format("TEC.ID={0}, ИНДЕКС={1} не получены данные за {2}{3}Запрос={4}"
                                                       ,tec.m_Id,indx.ToString(),dtEnd,Environment.NewLine,query)
                                         ,Logging.INDEX_MESSAGE.NOT_SET);

                    iRes = -1;
                }
            }
            else
            {
                Logging.Logg().Error(string.Format("TEC.ID={0}, группа ИНДЕКС={1} пропущена, не сформирован запрос за {2}"
                                                   ,tec.m_Id,indx.ToString(),dtStart,Environment.NewLine,query)
                                     ,Logging.INDEX_MESSAGE.NOT_SET);

                iRes = 1; // Предупреждение
            }

            return(iRes);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Удалить запись о параметрах сессии расчета (по триггеру - все входные и выходные значения)
        /// </summary>
        /// <param name="idSession">Идентификатор сессии расчета</param>
        /// <param name="err">Идентификатор ошибки при выполнеинии функции</param>
        public void DeleteSession(out int err)
        {
            err = -1;

            int    iRegDbConn = -1; // признак регистрации соединения с БД
            string strQuery   = string.Empty;

            if (_Session.m_Id > 0)
            {
                RegisterDbConnection(out iRegDbConn);

                if (!(iRegDbConn < 0))
                {
                    strQuery = @"DELETE FROM [dbo].[" + HandlerDbTaskCalculate.s_NameDbTables[(int)INDEX_DBTABLE_NAME.SESSION] + @"]"
                               + @" WHERE [ID_CALCULATE]=" + _Session.m_Id;

                    DbTSQLInterface.ExecNonQuery(ref _dbConnection, strQuery, null, null, out err);

                    if (err == 0)
                    {
                        _Session.m_Id = -1;
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                    ;
                }

                if (!(iRegDbConn > 0))
                {
                    UnRegisterDbConnection();
                }
                else
                {
                    ;
                }
            }
            else
            {
                ;
            }
        }
Ejemplo n.º 9
0
        public string TestRead()
        {
            int       err = -1;
            DataTable dataTest;

            //dataTest = DbTSQLInterface.Select(m_MySQLConnections[(int)CONN_SETT_TYPE.PPBR], "SELECT page FROM settings", null, null, out err);
            dataTest = DbTSQLInterface.Select(ref m_connection, "SELECT page FROM settings", null, null, out err);

            if (err == 0)
            {
                return(dataTest.Rows[0][0].ToString());
            }
            else
            {
                return(string.Empty);
            }
        }
Ejemplo n.º 10
0
        public override bool ReadFromDatabase(DateTime DT)
        {
            bool bRes = true;

            int err = -1
                      /*, i = -1*/;

            DataTable rec;

            //rec = DbTSQLInterface.Select(parent.m_MySQLConnections[(int)MySQLtechsite.CONN_SETT_TYPE.PPBR], "SELECT * FROM " + parent.m_strTableNamePPBR + " WHERE date_time = ?", new DbType[] { DbType.DateTime }, new object[] { DT }, out err);
            rec = DbTSQLInterface.Select(ref parent.m_connection, "SELECT * FROM " + parent.m_strTableNamePPBR + " WHERE date_time = @0", new DbType[] { DbType.DateTime }, new object[] { DT }, out err);

            if ((rec.Rows.Count == 1) && (err == 0))
            {
                throw new NotImplementedException();

                string prefix_comp = string.Empty;

                foreach (KeyValuePair <int, double?[]> pair in m_srtlist_ppbr)
                {
                    //NotImplementedException
                    //prefix_comp = parent.GetPrefixOfId(pair.Key, false);

                    for (MySQLtechsite.Params par = 0; par < MySQLtechsite.Params.COUNT_PARAMS; par++)
                    {
                        pair.Value[(int)par] = Convert.ToDouble(rec.Rows[0][prefix_comp + @"_" + par.ToString()]);
                    }
                }
            }
            else
            {
                bRes = false;

                if (rec.Rows.Count > 1)
                {
                    //Вообще ошибка! 2-х строк за одну дату НЕ может быть
                }
                else
                {
                    ; //err тоже при анализе следовало бы учитывать...
                }
            }

            return(bRes);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Инициализация
        /// </summary>
        /// <param name="dbConn"></param>
        /// <param name="err"></param>
        /// <param name="errMsg"></param>
        protected override void initialize(ref DbConnection dbConn, out int err, out string errMsg)
        {
            err    = 0;
            errMsg = string.Empty;
            DataGridView  dgv = null;
            List <string> listNAlg;
            string        strItem = string.Empty;

            m_tblOrigin = DbTSQLInterface.Select(ref dbConn, "SELECT * FROM [dbo].[ftable]", null, null, out err);

            if (err == 0)
            {
                m_tblEdit = m_tblOrigin.Copy();
                m_zGraph_fTABLE.Set(m_tblEdit);

                dgv      = Controls.Find(INDEX_CONTROL.DGV_NALG.ToString(), true)[0] as DataGridView;
                listNAlg = new List <string>();

                if (dgv.RowCount > 0)
                {
                    dgv.Rows.Clear();
                }
                else
                {
                    ;
                }
                //var distinctRows = (from DataRow r in m_tblOrigin.Rows select new { nalg = r["N_ALG"] }).Distinct();

                foreach (DataRow r in m_tblEdit.Rows)
                {
                    strItem = ((string)r[@"N_ALG"]).Trim();
                    if (listNAlg.Contains(strItem) == false)
                    {
                        listNAlg.Add(strItem);
                        dgv.Rows.Add(strItem, string.Empty, r[@"ID"]);
                    }
                    else
                    {
                        ;
                    }
                }
            }

            Logging.Logg().Debug(@"PluginTepPrjFTable::initialize () - усПех ...", Logging.INDEX_MESSAGE.NOT_SET);
        }
Ejemplo n.º 12
0
        public static DataTable getListTEC(ref DbConnection connConfigDB, bool bIgnoreTECInUse, out int err)
        {
            string req = string.Empty;

            req = "SELECT * FROM TEC_LIST ";

            if (bIgnoreTECInUse == false)
            {
                req += "WHERE INUSE=1 ";
            }
            else
            {
                ;
            }

            if (bIgnoreTECInUse == true)
            {
                // условие еще не добавлено - добавляем
                req += @"WHERE ";
            }
            else
            if (bIgnoreTECInUse == false)
            {
                // условие уже добавлено
                req += @"AND ";
            }
            else
            {
                ;
            }

            if (!(HStatisticUsers.allTEC == 0))
            {
                req += @"ID=" + HStatisticUsers.allTEC.ToString();
            }
            else
            {
                //??? ограничение (временное) для ЛК
                req += @"ID>0"
                       //+ @" AND NOT (ID>10)"
                ;
            }

            return(DbTSQLInterface.Select(ref connConfigDB, req, null, null, out err));
        }
Ejemplo n.º 13
0
        private string readString(string key, string valDef)
        {
            string    strRes = valDef;
            int       err    = -1;
            DataTable table  = null;

            table = DbTSQLInterface.Select(ref m_dbConn, @"SELECT * FROM [dbo].[setup] WHERE [KEY]='" + key + @"'", null, null, out err);
            if (table.Rows.Count == 1)
            {
                strRes = table.Rows [0][@"Value"].ToString().Trim();
            }
            else
            {
                ;
            }

            return(strRes);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Конструктор - дополнительный
        /// </summary>
        public TECComponent(TEC tec, DataRow rComp)
            : this(tec)
        {
            name_shr = rComp["NAME_SHR"].ToString(); //rComp["NAME_GNOVOS"]
            if (DbTSQLInterface.IsNameField(rComp, "NAME_FUTURE") == true)
            {
                this.name_future = rComp["NAME_FUTURE"].ToString();
            }
            else
            {
                ;
            }
            m_id                        = Convert.ToInt32(rComp["ID"]);
            m_listMCentreId             = getMCentreId(rComp);
            m_listMTermId               = getMTermId(rComp);
            m_indx_col_export_pbr_excel = ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_EXPORT_PBR_EXCEL") == true) && (!(rComp["INDX_COL_EXPORT_PBR_EXCEL"] is System.DBNull)))
                ? Convert.ToInt32(rComp["INDX_COL_EXPORT_PBR_EXCEL"])
                    : -1; // значение по умолчанию "-1" - не установлено
            if ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_RDG_EXCEL") == true) && (!(rComp["INDX_COL_RDG_EXCEL"] is System.DBNull)))
            {
                m_indx_col_rdg_excel = Convert.ToInt32(rComp["INDX_COL_RDG_EXCEL"]);
            }
            else
            {
                ;
            }
            if ((DbTSQLInterface.IsNameField(rComp, "KoeffAlarmPcur") == true) && (!(rComp["KoeffAlarmPcur"] is System.DBNull)))
            {
                m_dcKoeffAlarmPcur = Convert.ToInt32(rComp["KoeffAlarmPcur"]);
            }
            else
            {
                ;
            }

            if ((DbTSQLInterface.IsNameField(rComp, @"KOM_UCHET") == true) && (!(rComp[@"KOM_UCHET"] is System.DBNull)))
            {
                m_bKomUchet = Convert.ToByte(rComp[@"KOM_UCHET"]) == 1 ? true : false;
            }
            else
            {
                m_bKomUchet = true;
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Сохранить изменения
        /// </summary>
        /// <param name="tableOrigin">первичная таблица</param>
        /// <param name="tableRes">таблица результирующая</param>
        /// <param name="err">признак ошибки</param>
        public DataTable saveRes(DataTable tableOrigin, DataTable tableRes, out int err, DataGridView dgvRes)
        {
            err = -1;

            DataTable tableEdit = new DataTable();
            string    rowSel    = null;
            Array     namePut   = Enum.GetValues(typeof(PanelTaskAutobookMonthValues.INDEX_GTP));

            tableEdit = tableOrigin.Clone();//копия структуры

            if (tableRes != null)
            {
                foreach (DataGridViewRow r in dgvRes.Rows)
                {
                    for (int i = 0; i < tableRes.Rows.Count; i++)
                    {
                        if (r.Cells[namePut.GetValue(i).ToString()].Value != null)
                        {
                            rowSel = tableRes.Rows[i][0].ToString();

                            tableEdit.Rows.Add(new object[]
                            {
                                DbTSQLInterface.GetIdNext(tableEdit, out err)
                                , rowSel
                                , HUsers.Id.ToString()
                                , 0.ToString()
                                , Convert.ToDateTime(r.Cells["DATE"].Value.ToString()).AddDays(1).ToString(CultureInfo.InvariantCulture)
                                , ID_PERIOD.DAY
                                , ID_TIMEZONE.NSK
                                , 1.ToString()
                                , r.Cells[namePut.GetValue(i).ToString()].Value.ToString()
                                , DateTime.Now
                            });
                        }
                    }
                }
            }
            else
            {
                ;
            }

            return(tableEdit);
        }
Ejemplo n.º 16
0
        protected override void initProp(ref DbConnection dbConn, out int err, out string errMsg)
        {
            base.initProp(ref dbConn, out err, out errMsg);

            if (err == 0)
            {
                m_tblEditPswd = DbTSQLInterface.Select(ref dbConn, @"SELECT * FROM passwords WHERE ID_ROLE=" + s_iIdSourceData, null, null, out err);
                initTablePswd();

                m_dgvProp.Rows.Add(new object[] { s_strPswdPropName, string.Empty });
                //DataGridViewTextBoxCell cell;
                //cell = new DataGridViewPasswordTextBoxCell();
                //m_dgvProp.Rows[m_dgvProp.RowCount - 1].Cells[1] = new DataGridViewPasswordTextBoxCell();
                //cell = m_dgvProp.Rows[m_dgvProp.RowCount - 1].Cells[1] as DataGridViewTextBoxCell;
            }
            else
            {
            }
        }
Ejemplo n.º 17
0
        public static DataTable getListTEC(ref DbConnection connConfigDB, out int err)
        {
            string req             = string.Empty;
            bool   bIgnoreTECInUse = true;

            req = "SELECT * FROM TEC_LIST ";

            if (bIgnoreTECInUse == false)
            {
                req += "WHERE INUSE=1 ";
            }
            else
            {
                ;
            }
            if (!(HStatisticUsers.allTEC == 0))
            {
                if (bIgnoreTECInUse == false)
                {
                    req += @"AND ";
                }
                else
                {
                    ;
                }

                if (bIgnoreTECInUse == true)
                {
                    req += @"WHERE ";
                }
                else
                {
                    ;
                }
                req += @"ID=" + HStatisticUsers.allTEC.ToString();
            }
            else
            {
                ;
            }

            return(DbTSQLInterface.Select(ref connConfigDB, req, null, null, out err));
        }
Ejemplo n.º 18
0
        ///// <summary>
        ///// Конструктор - дополнительный (с параметрами)
        ///// </summary>
        //public TG(DataRow row_tg, DataRow row_param_tg)
        //    // передавать только строку из представления
        //    : this (row_param_tg)
        //{
        //    //initTG(row_tg, row_param_tg);
        //}

        //private void initTG(DataRow row_tg, DataRow row_param_tg)
        //{
        //    #region Здесь столбцы из старой таблицы [LIST_TG]
        //    // row_tg: NAME_SHR, NAME_FUTURE, ID, INDX_COL_RDG_EXCEL
        //    // , теперь используется строки из представления [ALL_PARAM_TG]
        //    // , к наименованиям полей добавлен префикс "_TG"
        //    name_shr = row_param_tg ["NAME_SHR_TG"].ToString();
        //    if (DbTSQLInterface.IsNameField(row_param_tg, "NAME_FUTURE_TG") == true) name_future = row_param_tg ["NAME_FUTURE_TG"].ToString(); else ;
        //    m_id = Convert.ToInt32(row_param_tg ["ID_TG"]);
        //    if (!(row_param_tg ["INDX_COL_RDG_EXCEL_TG"] is System.DBNull))
        //        m_indx_col_rdg_excel = Convert.ToInt32(row_param_tg ["INDX_COL_RDG_EXCEL_TG"]);
        //    else
        //        ;
        //    #endregion

        //    #region Здесь столбцы из нового представления [ALL_PARAM_TG]
        //    m_strKKS_NAME_TM = row_param_tg[@"KKS_NAME"].ToString();
        //    m_arIds_fact[(int)HDateTime.INTERVAL.MINUTES] =
        //        //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_3"].ToString())
        //        // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM"
        //        new AISKUE_KEY () { IdObject = Int32.Parse (row_param_tg [@"PIRAMIDA_OBJECT"].ToString ()), IdItem = Int32.Parse (row_param_tg [@"PIRAMIDA_ITEM"].ToString ()) }
        //        ;
        //    m_arIds_fact[(int)HDateTime.INTERVAL.HOURS] =
        //        //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_30"].ToString())
        //        // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM"
        //        new AISKUE_KEY () { IdObject = Int32.Parse (row_param_tg [@"PIRAMIDA_OBJECT"].ToString ()), IdItem = Int32.Parse (row_param_tg [@"PIRAMIDA_ITEM"].ToString ()) }
        //        ;
        //    #endregion
        //}

        /// <summary>
        /// Инициализировать значения полей свойств объекта из строки представления БД
        /// </summary>
        /// <param name="row_param_tg">Строка из набора - результата запроса к представлению БД [ALL_PARAM_TG]</param>
        private void initTG(DataRow row_param_tg)
        {
            // , теперь используется строки из представления [ALL_PARAM_TG]
            // , к наименованиям полей добавлен префикс "_TG"
            name_shr = row_param_tg ["NAME_SHR_TG"].ToString();
            if (DbTSQLInterface.IsNameField(row_param_tg, "NAME_FUTURE_TG") == true)
            {
                name_future = row_param_tg ["NAME_FUTURE_TG"].ToString();
            }
            else
            {
                ;
            }
            m_id = Convert.ToInt32(row_param_tg ["ID_TG"]);
            if (!(row_param_tg ["INDX_COL_RDG_EXCEL_TG"] is System.DBNull))
            {
                m_indx_col_rdg_excel = Convert.ToInt32(row_param_tg ["INDX_COL_RDG_EXCEL_TG"]);
            }
            else
            {
                ;
            }

            m_SensorsString_SOTIASSO = row_param_tg [@"KKS_NAME"].ToString();
            m_aiskue_keys [(int)HDateTime.INTERVAL.MINUTES] =
                //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_3"].ToString())
                // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM"
                new AISKUE_KEY()
            {
                IdObject = Int32.Parse(row_param_tg [@"PIRAMIDA_OBJECT"].ToString()), IdItem = Int32.Parse(row_param_tg [@"PIRAMIDA_ITEM"].ToString())
            }
            ;
            m_SensorsStrings_ASKUE [(int)HDateTime.INTERVAL.MINUTES] = m_aiskue_keys [(int)HDateTime.INTERVAL.MINUTES].ToString();
            m_aiskue_keys [(int)HDateTime.INTERVAL.HOURS]            =
                //Int32.Parse(row_param_tg[@"ID_IN_ASKUE_30"].ToString())
                // ChrjapinAN, 26.12.2017 переход на составной ключ "OBJECT/ITEM"
                new AISKUE_KEY()
            {
                IdObject = Int32.Parse(row_param_tg [@"PIRAMIDA_OBJECT"].ToString()), IdItem = Int32.Parse(row_param_tg [@"PIRAMIDA_ITEM"].ToString())
            }
            ;
            m_SensorsStrings_ASKUE [(int)HDateTime.INTERVAL.HOURS] = m_aiskue_keys [(int)HDateTime.INTERVAL.HOURS].ToString();
        }
Ejemplo n.º 19
0
        protected override void recUpdateInsertDelete(ref DbConnection dbConn, out int err)
        {
            //!!!Шифрация паролей
            foreach (DataRow r in m_tblEditPswd.Rows)
            {
                r["HASH"] = Crypt.Crypting().Encrypt(r["HASH"].ToString().Trim(), Crypt.KEY);
            }

            DbTSQLInterface.RecUpdateInsertDelete(ref dbConn, @"passwords", @"ID_EXT, ID_ROLE", m_tblOriginPswd, m_tblEditPswd, out err);

            if (err == 0)
            {
                base.recUpdateInsertDelete(ref dbConn, out err);
            }
            else
            {
                throw new Exception(@"HPanelTepPrjSources::recUpdateInsertDelete () - err=" + err + @" ...");
            }
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Возвратить следующий целочисленный идентификатор для добавляемой строки
        ///  в таблице с параметрами в алгоритме расчета
        /// </summary>
        /// <returns>Целочисленный идентификатор</returns>
        protected override int getIdNextAlgoritm()
        {
            int iRes = -1
            , err = -1
            , min = -1, max = -1;
            string strNodeParentName = string.Empty;

            if ((ID_TASK)Int32.Parse(getIdNodePart(m_ctrlTreeView.SelectedNode.Name, ID_LEVEL.TASK)) == ID_TASK.TEP)
            {
                strNodeParentName = getIdNodePart(m_ctrlTreeView.SelectedNode.Name, (int)ID_LEVEL.N_ALG);
                if (strNodeParentName.Equals(@"norm") == true)
                {
                    min = (int)ID_START_RECORD.ALG_NORMATIVE;
                    max = (int)ID_START_RECORD.PUT;
                }
                else
                if (strNodeParentName.Equals(@"mkt") == true)
                {
                    min = (int)ID_START_RECORD.ALG;
                    max = (int)ID_START_RECORD.ALG_NORMATIVE;
                }
                else
                {
                    throw new Exception(@"PanelPrjOutParameters::getIdNextAlgoritm () - неизвестный тип ");
                }

                iRes = DbTSQLInterface.GetIdNext(m_arTableEdit[(int)INDEX_PARAMETER.ALGORITM], out err, @"ID", min - 1, max - 1);
                if (iRes == 0)
                {
                    iRes += (int)ID_START_RECORD.ALG;
                }
                else
                {
                    ;
                }
            }
            else
            {
                iRes = base.getIdNextAlgoritm();
            }

            return(iRes);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Добавить функцию
        /// </summary>
        private void addRecNAlg()
        {
            int err    = -1;
            int idNALG = DbTSQLInterface.GetIdNext(m_tblEdit, out err);

            m_tblEdit.Rows.Add(new object[]
            {
                idNALG,
                "func:1",
                1,
                0,
                0,
                1,
                "func:1"
            });

            m_tblEdit.AcceptChanges();
            updateDGVNalg(m_tblEdit);
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Добавить точку для функции
        /// </summary>
        /// <param name="nameAlg">имя функции</param>
        private void addRecNAlgPoint(string nameAlg)
        {
            int err    = -1;
            int idNALG = DbTSQLInterface.GetIdNext(m_tblEdit, out err);

            m_tblEdit.Rows.Add(new object[]
            {
                idNALG,
                nameAlg,
                1,
                0,
                0,
                1,
                nameAlg
            });

            m_tblEdit.AcceptChanges();
            updateDGVNalg(m_tblEdit);
        }
Ejemplo n.º 23
0
        /// <summary>
        /// Формирование таблицы для сохранения значений OUT
        /// </summary>
        /// <param name="tableOrigin">первичная таблица</param>
        /// <param name="tableRes">таблица с параметрами</param>
        /// <param name="err"></param>
        /// <returns>таблицу значений</returns>
        public DataTable saveResOut(DataTable tableOrigin, DataTable tableRes, out int err)
        {
            err = -1;
            DataTable tableEdit = new DataTable();
            string    rowSel    = null;

            tableEdit = tableOrigin.Clone();//копия структуры

            if (tableRes != null)
            {
                //foreach (DataGridViewRow r in dgvRes.Rows)
                //{
                for (int i = 0; i < tableRes.Rows.Count; i++)
                {
                    //if (r.Cells[namePut.GetValue(i).ToString()].Value != null)
                    //{
                    rowSel = tableRes.Rows[i]["ID_PUT"].ToString();

                    tableEdit.Rows.Add(new object[]
                    {
                        DbTSQLInterface.GetIdNext(tableEdit, out err)
                        , rowSel
                        , HUsers.Id.ToString()
                        , 0.ToString()
                        , Convert.ToDateTime(tableRes.Rows[i]["WR_DATETIME"].ToString()).AddDays(1).ToString(CultureInfo.InvariantCulture)
                        , ID_PERIOD.DAY
                        , ID_TIMEZONE.NSK
                        , 1.ToString()
                        , tableRes.Rows[i]["VALUE"]
                        , DateTime.Now
                    });
                    //}
                }
                //}
            }
            else
            {
                ;
            }

            return(tableEdit);
        }
Ejemplo n.º 24
0
            /// <summary>
            /// Установить значение для параметра профиля
            /// , если параметр не определен - добавить в таблицу БД
            /// </summary>
            public static void SetAllowed(int iListenerId, int id, string val)
            {
                string query = string.Empty;
                int err = -1
                    , cntRows = -1;
                DbConnection dbConn = null;

                //Проверить наличие индивидуальной записи...
                cntRows = m_tblValues.Select (@"ID_UNIT=" + id).Length;
                switch (cntRows) {
                    case 1: //Вставка записи...
                        query = $@"INSERT INTO {s_nameTableProfilesData} ([ID_EXT],[IS_ROLE],[ID_UNIT],[VALUE]) VALUES ({Id}, 0, {id}, '{val}')";
                        break;
                    case 2: //Обновление записи...
                        query = $@"UPDATE {s_nameTableProfilesData} SET [VALUE]='{val}' WHERE ID_EXT={Id} AND IS_ROLE=0 AND ID_UNIT={id}";
                        break;
                    default: //Ошибка - исключение
                        throw new Exception ($@"HUsers.HProfiles::SetAllowed (id={id}) - не найдено ни одной записи...");
                }

                dbConn = DbSources.Sources ().GetConnection (iListenerId, out err);
                if ((!(dbConn == null)) && (err == 0)) {
                    DbTSQLInterface.ExecNonQuery (ref dbConn, query, null, null, out err);
                    //Проверить результат сохранения...
                    if (err == 0) {//Обновить таблицу пользовательских настроек...
                        switch (cntRows) {
                            case 1: //Вставка записи...
                                m_tblValues.Rows.Add (new object [] { Id, 0, id, val });
                                break;
                            case 2: //Обновление записи...
                                DataRow [] rows = m_tblValues.Select ($@"ID_EXT={Id} AND IS_ROLE=0 AND ID_UNIT={id}");
                                rows [0] [@"VALUE"] = val;
                                break;
                            default: //Ошибка - исключение
                                     //Ошибка обработана - создано исключение...
                                break;
                        }
                    } else
                        ;
                } else
                    ;
            }
Ejemplo n.º 25
0
        /// <summary>
        /// Возвратить объект-таблицу со значениями из таблицы с сохраняемыми значениями из источников информации
        /// </summary>
        /// <param name="cntBasePeriod">Количество периодов расчета в интервале запрашиваемых данных</param>
        /// <param name="arQueryRanges">Массив диапазонов даты/времени - интервал(ы) заправшиваемых данных</param>
        /// <param name="err">Признак выполнения функции</param>
        /// <returns>Таблица со значенями</returns>
        public DataTable GetValuesVar(TaskCalculate.TYPE type
                                      , ID_PERIOD idPeriod
                                      , int cntBasePeriod
                                      , DateTimeRange[] arQueryRanges
                                      , out int err)
        {
            DataTable tableRes = new DataTable();

            err = -1;

            tableRes = DbTSQLInterface.Select(ref _dbConnection
                                              , getQueryValuesVar(type
                                                                  , idPeriod
                                                                  , cntBasePeriod
                                                                  , arQueryRanges)
                                              , null, null
                                              , out err);

            return(tableRes);
        }
Ejemplo n.º 26
0
        private int?GetIdNextRec(DateTime DT, out int er)
        {
            int?iRes = null;

            er = -1;
            string errMsg = string.Empty;

            DataTable data;

            //data = DbTSQLInterface.Select(m_MySQLConnections[(int)CONN_SETT_TYPE.PPBR], "SELECT id FROM PPBRvsPBRnew where date_time = ?", new DbType[] { DbType.DateTime }, new object[] { DT }, out er);
            data = DbTSQLInterface.Select(ref m_connection, "SELECT id FROM " + m_strTableNamePPBR + " where date_time = @0", new DbType[] { DbType.DateTime }, new object[] { DT }, out er);
            //data = DbTSQLInterface.Select(m_connection, "SELECT id FROM PPBRvsPBRnew where date_time = ?", new DbType[] { DbType.DateTime }, new object[] { DT }, out er);
            if (!(er == 0))
            {
                errMsg = "Не получен идентификатор для новой записи в '" + m_strTableNamePPBR + "'";
                itssAUX.PrintErrorMessage(errMsg);
                throw new Exception(errMsg);  //Чтобы остановить дальнейшее выполнение
            }
            else
            {
                if (data.Rows.Count == 1)
                {
                    iRes = (int?)data.Rows[0][0];
                }
                else
                {
                    if (data.Rows.Count > 1)
                    {
                        errMsg = "Не получен идентификатор для новой записи в '" + m_strTableNamePPBR + "'";
                        itssAUX.PrintErrorMessage(errMsg);
                        throw new Exception(errMsg);  //Чтобы остановить дальнейшее выполнение
                    }
                    else
                    {
                        ; //Нет строк вообще - нормально
                    }
                }
            }

            return(iRes);
        }
Ejemplo n.º 27
0
        protected override int StateRequest(int state)
        {
            int    iRes = 0;
            string msg  = string.Empty;

            switch (state)
            {
            case (int)StatesMachine.CurrentTime:
                if (!(IdGroupSignalsCurrent < 0))
                {
                    GetCurrentTimeRequest(DbTSQLInterface.getTypeDB(m_connSett.port),m_dictIdListeners[IdGroupSignalsCurrent][0]);
                }
                else
                {
                    throw new Exception(@"HHandlerDbULoader::StateRequest (::CurrentTime) - ...");
                }
                break;

            case (int)StatesMachine.Values:
                if (RowCountRecieved == -1)
                {
                    RowCountRecieved = 0;
                }
                else
                {
                    ;
                }

                msg = @"HHandlerDbULoaderSrc::StateRequest (::Values) - Query=" + Query;
                //Console.WriteLine (msg);
                //Logging.Logg().Debug(msg, Logging.INDEX_MESSAGE.NOT_SET);

                Request(m_dictIdListeners[IdGroupSignalsCurrent][0],Query);
                break;

            default:
                break;
            }

            return(iRes);
        }
Ejemplo n.º 28
0
        /// <summary>
        /// Возвратить таблицу [ID_TSN_AISKUE_2017] из БД конфигурации
        /// </summary>
        /// <param name="iListenerId">Идентификатор подписчика для обращения к БД</param>
        /// <param name="err">Идентификатор ошибки при выполнении запроса</param>
        /// <returns>Таблица - с данными</returns>
        public static DataTable getListChannels(int iListenerId, out int err)
        {
            DataTable tableRes = new DataTable();

            DbConnection connConfigDB;
            string       req = string.Empty;

            connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err);

            if (err == 0)
            {
                req = getQueryListChannels();

                tableRes = DbTSQLInterface.Select(ref connConfigDB, req, null, null, out err);
            }
            else
            {
            }

            return(tableRes);
        }
Ejemplo n.º 29
0
        public override void SaveParamKey(string column, string value)
        {
            int    err        = -1;
            int    idListener = DbSources.Sources().Register(m_connSett, false, @"CONFIG_DB");
            string query      = string.Empty;

            m_dbConn = DbSources.Sources().GetConnection(idListener, out err);

            query += getWriteStringRequest(column, value, false) + @";";

            if (query.Equals(string.Empty) == false)
            {
                DbTSQLInterface.ExecNonQuery(ref m_dbConn, query, null, null, out err);
            }
            else
            {
                ;
            }

            DbSources.Sources().UnRegister(idListener);
        }
Ejemplo n.º 30
0
            /// <summary>
            /// Изменить идентификатор активного источника данных (СОТИАССО)
            /// </summary>
            /// <param name="ev">Параметры для изменения, например новый идентификатор источника данных</param>
            public void UpdateSourceId(PanelContainerTec.EventSourceIdChangedArgs ev)
            {
                int err = -1;

                RegisterConfigDb(out err);

                err = _connConfigDb == null ? -1 : 0;

                if (err == 0)
                {
                    DbTSQLInterface.ExecNonQuery(ref _connConfigDb
                                                 , string.Format("UPDATE [TEC_LIST] SET  [ID_LINK_SOURCE_DATA_TM] = {0} WHERE [ID] = {1}", ev.m_iNewSourceId, ev.m_tec.m_id)
                                                 , null, null,
                                                 out err);
                }
                else
                {
                    ;
                }

                UnregisterConfigDb();
            }