Exemple #1
0
        /// <summary>
        /// Возвращает список таблиц в(вне) группе
        /// </summary>
        /// <param name="id">ID группы</param>
        /// <param name="in_group">Если TRUE, то то список будет таблиц в группе, FALSE- список вне группы</param>
        /// <returns></returns>
        public List <itemObjOrdered> GetListTablesInOrOutGroup(int id, bool in_group)
        {
            List <itemObjOrdered> list_of_tables = new List <itemObjOrdered>();
            SqlWork sqlCmd = new SqlWork();

            if (in_group)
            {
                sqlCmd.sql = "SELECT t.id,t.name_db,t.name_map,g.order_num FROM " + Program.scheme + ".table_groups_table AS g,"
                             + Program.scheme + ".table_info AS t WHERE g.id_group=" + id.ToString() + " AND g.id_table=t.id AND t.type=1 and hidden = false ORDER BY g.order_num";
                try
                {
                    sqlCmd.Execute(false);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return(null);
                }
            }
            else
            {
                sqlCmd.sql =
                    "SELECT * FROM " +
                    "(SELECT t.id,t.name_db,t.name_map FROM " + Program.scheme + ".table_info AS t WHERE t.type=1 and hidden=false" +
                    " EXCEPT " +
                    "SELECT DISTINCT t.id,t.name_db,t.name_map FROM " + Program.scheme + ".table_groups_table AS g," + Program.scheme +
                    ".table_info AS t WHERE g.id_group=" + id.ToString() + " AND g.id_table=t.id and hidden = false " +
                    ")AS al ORDER BY al.name_map";
                try
                {
                    sqlCmd.Execute(false);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return(null);
                }
            }

            while (sqlCmd.CanRead())
            {
                int    id_table       = sqlCmd.GetInt32(0);
                string db_name_table  = sqlCmd.GetString(1);
                string map_name_table = sqlCmd.GetString(2);
                int    ord            = 0;
                if (in_group)
                {
                    ord = sqlCmd.GetInt32(3);
                }
                itemObjOrdered io = new itemObjOrdered(id_table, map_name_table, db_name_table, ord);
                list_of_tables.Add(io);
            }
            sqlCmd.Close();
            return(list_of_tables);
        }
Exemple #2
0
        /// <summary>
        /// Метод загружает из базы все группы в List
        /// </summary>
        public List <itemObjOrdered> LoadGroups()
        {
            List <itemObjOrdered> list_groups = new List <itemObjOrdered>();
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id,name_group,descript,order_num FROM " + Program.scheme + ".table_groups ORDER BY order_num";
            try
            {
                sqlCmd.Execute(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                sqlCmd.Close();
                return(null);
            }
            while (sqlCmd.CanRead())
            {
                int            id_gr     = sqlCmd.GetInt32(0);
                string         name_gr   = sqlCmd.GetString(1);
                string         desc_gr   = sqlCmd.GetString(2);
                int            order_num = sqlCmd.GetInt32(3);
                itemObjOrdered io        = new itemObjOrdered(id_gr, name_gr, desc_gr, order_num);//использую уже готовую структуру, вместо Layer там будет храниться описание
                list_groups.Add(io);
            }
            sqlCmd.Close();

            return(list_groups);
        }
        private void cbRefTable_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbRefTable.SelectedItem != null)
            {
                cbRefLink.Items.Clear();
                cbRefFieldName.Items.Clear();
                cbFileNameColumn.Items.Clear();

                using (SqlWork sqlCmd = new SqlWork())
                {
                    sqlCmd.sql = "SELECT id, name_db, name_map, type_field FROM " + Program.scheme + ".table_field_info WHERE id_table = " + ((itemObj)cbRefTable.SelectedItem).Id_o.ToString();
                    sqlCmd.Execute(false);

                    while (sqlCmd.CanRead())
                    {
                        int     type_field = sqlCmd.GetInt32("type_field");
                        itemObj item       = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(1), sqlCmd.GetValue <string>(2));

                        if (type_field == 1 || type_field == 6)
                        {
                            cbRefLink.Items.Add(item);
                        }
                        else if (type_field == 2)
                        {
                            cbRefFieldName.Items.Add(item);
                            cbFileNameColumn.Items.Add(item);
                        }
                    }
                }
            }
        }
Exemple #4
0
        private void comboBox9_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox9.SelectedItem != null)
            {
                comboBox10.Items.Clear();
                SqlWork sqlCmd = new SqlWork();
                sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_field_info WHERE (type_field = 1 OR type_field = 6) AND id_table = " + ((itemObj)comboBox9.SelectedItem).Id_o.ToString();
                sqlCmd.Execute(false);
                while (sqlCmd.CanRead())
                {
                    itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(1), sqlCmd.GetValue <string>(2));
                    comboBox10.Items.Add(item);
                }
                sqlCmd.Close();

                comboBox11.Items.Clear();
                sqlCmd     = new SqlWork();
                sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_field_info WHERE type_field = 2 AND id_table = " + ((itemObj)comboBox9.SelectedItem).Id_o.ToString();
                sqlCmd.Execute(false);
                while (sqlCmd.CanRead())
                {
                    itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(1), sqlCmd.GetValue <string>(2));
                    comboBox11.Items.Add(item);
                }
                sqlCmd.Close();
            }
        }
Exemple #5
0
        public void reloadTables()
        {
            listBox1.Items.Clear();
            listBox2.Items.Clear();

            List <itemObjOrdered> list_of_tables         = new List <itemObjOrdered>();
            List <itemObjOrdered> list_of_tables_visible = new List <itemObjOrdered>();

            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id,name_map,order_num,default_visibl FROM " + Program.scheme + ".table_info WHERE type=1 ORDER BY order_num";
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObjOrdered item = new itemObjOrdered(sqlCmd.GetInt32(0), sqlCmd.GetString(1), sqlCmd.GetBoolean(3).ToString(), sqlCmd.GetInt32(2));
                list_of_tables.Add(item);
                if (item.Layer.Contains("True"))
                {
                    list_of_tables_visible.Add(item);
                }
            }
            sqlCmd.Close();

            listBox1.Items.AddRange(list_of_tables_visible.ToArray());
            listBox2.Items.AddRange(list_of_tables.ToArray());

            label6.Text = changeTextOfCount(listBox1.Items.Count);
            label7.Text = changeTextOfCount(listBox2.Items.Count);
        }
Exemple #6
0
        public List <itemObj> GetGroupsWithTable(int id, bool with)
        {
            List <itemObj> list_of_tables = new List <itemObj>();
            SqlWork        sqlCmd         = new SqlWork();

            if (with)
            {
                sqlCmd.sql = "SELECT * FROM " + Program.scheme + ".get_group_list_for_table(" + id.ToString() + ")";
            }
            else
            {
                sqlCmd.sql = "SELECT * FROM " + Program.scheme + ".get_group_list_no_for_table(" + id.ToString() + ")";
            }

            try
            {
                sqlCmd.Execute(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                sqlCmd.Close();
                return(null);
            }
            while (sqlCmd.CanRead())
            {
                int     id_table   = sqlCmd.GetInt32(0);
                string  name_group = sqlCmd.GetString(1);
                string  descript   = sqlCmd.GetString(2);
                itemObj io         = new itemObj(id_table, name_group, descript);
                list_of_tables.Add(io);
            }
            sqlCmd.Close();
            return(list_of_tables);
        }
Exemple #7
0
        /// <summary>
        /// Удаляет группу с определенным ID, пересчитывает их порядок
        /// </summary>
        /// <param name="id">ID группы</param>
        public void DeleteGroup(int id)
        {
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "DELETE FROM " + Program.scheme + ".table_groups WHERE id=" + id.ToString() + " RETURNING name_group";
            try
            {
                sqlCmd.Execute(false);
                if (sqlCmd.CanRead())
                {
                    string name_gr = sqlCmd.GetString(0);
                    Rekod.Classes.workLogFile.writeLogFile("deleted group --> id=" + id.ToString() + " name_group=" + name_gr, false, false);
                }
            }
            catch (NpgsqlException ex)
            {
                if (ex.Code.CompareTo("42501") == 0)
                {
                    MessageBox.Show(Rekod.Properties.Resources.GF_ErrorCreateGroup);
                }
                else
                {
                    throw ex;
                }
            }
            finally
            {
                sqlCmd.Close();
            }

            List <itemObjOrdered> newGroupsOrder = getRecalcedGroupsOrderList();

            SetGroupsOrder(newGroupsOrder);
        }
        private axVisUtils.Styles.objStylesM setStyleFromDB(int idT)
        {
            axVisUtils.Styles.objStylesM s1 = new axVisUtils.Styles.objStylesM();

            string sql = "SELECT fontname, fontcolor, fontframecolor, fontsize,";

            sql += " symbol,";
            sql += " pencolor, pentype, penwidth,";
            sql += " brushbgcolor, brushfgcolor, brushstyle, brushhatch";
            sql += " FROM " + Program.scheme + ".table_info WHERE id=" + id.ToString();
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = sql;
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                s1.FontStyle.FontName   = sqlCmd.GetString(0);
                s1.FontStyle.Color      = sqlCmd.GetValue <uint>(1);
                s1.FontStyle.FrameColor = sqlCmd.GetValue <uint>(2);
                s1.FontStyle.Size       = sqlCmd.GetInt32(3);

                s1.SymbolStyle.Shape = sqlCmd.GetValue <uint>(4);

                s1.PenStyle.Color = sqlCmd.GetValue <uint>(5);
                s1.PenStyle.Type  = sqlCmd.GetValue <ushort>(6);
                s1.PenStyle.Width = sqlCmd.GetValue <uint>(7);

                s1.BrushStyle.bgColor = sqlCmd.GetValue <uint>(8);
                s1.BrushStyle.fgColor = sqlCmd.GetValue <uint>(9);
                s1.BrushStyle.Style   = sqlCmd.GetValue <ushort>(10);
                s1.BrushStyle.Hatch   = sqlCmd.GetValue <ushort>(11);
            }
            sqlCmd.Close();
            return(s1);
        }
Exemple #9
0
        public itemObj GetGroup(int id_gr)
        {
            itemObj group  = null;
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT name_group,descript FROM " + Program.scheme + ".table_groups WHERE id=" + id_gr.ToString();
            try
            {
                sqlCmd.Execute(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                sqlCmd.Close();
                return(null);
            }
            if (sqlCmd.CanRead())
            {
                string name_gr = sqlCmd.GetString(0);
                string desc_gr = sqlCmd.GetString(1);
                group = new itemObj(id_gr, name_gr, desc_gr);//использую уже готовую структуру, вместо Layer там будет храниться описание
            }
            sqlCmd.Close();

            return(group);
        }
        private void loadTableStyleField()
        {
            cbRefStyleField.Items.Clear();
            cbIntervalStyleField.Items.Clear();
            cbAngleColumn.Items.Clear();
            cbAngleColumn.Items.Add(new itemObj(-1, "<Не указано>", null));
            cbAngleColumn.SelectedIndex = 0;
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = String.Format(@"SELECT 
                                            tfi.id, tfi.name_db, tfi.name_map 
                                            FROM sys_scheme.table_field_info tfi
                                            INNER JOIN sys_scheme.table_info ti
                                            ON ti.id = tfi.id_table
                                            WHERE (tfi.type_field = 1 OR tfi.type_field = 6) 
                                                AND tfi.id_table = {0} AND tfi.name_db <> ti.pk_fileld", id);
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(1), sqlCmd.GetValue <string>(2));
                cbRefStyleField.Items.Add(item);
                cbIntervalStyleField.Items.Add(item);
                cbAngleColumn.Items.Add(item);
            }
            sqlCmd.Close();
        }
Exemple #11
0
        private void loadNewLabelStyleIntoBase()
        {
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = SQL;
            sqlCmd.Execute(true);
            sqlCmd.Close();
        }
        private void loadTables()
        {
            cbRefTable.Items.Clear();
            cbIntervalTable.Items.Clear();

            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id, name_db, name_map, type FROM " + Program.scheme + ".table_info ti WHERE map_style = true ORDER BY name_db";
            sqlCmd.Execute(false);

            int max_width_1 = 0, max_width_2 = 0;

            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0),
                                           String.Format("{0} ({1})", sqlCmd.GetValue <string>(1), sqlCmd.GetValue <string>(2)),
                                           sqlCmd.GetValue <string>(1));

                Label tempLabel = new Label();

                switch (sqlCmd.GetInt32(3))
                {
                case 2:
                    cbRefTable.Items.Add(item);

                    tempLabel.Text = item.Name_o;
                    if (tempLabel.PreferredWidth > max_width_1)
                    {
                        max_width_1 = tempLabel.PreferredWidth;
                    }
                    break;

                case 3:
                    cbIntervalTable.Items.Add(item);

                    tempLabel.Text = item.Name_o;
                    if (tempLabel.PreferredWidth > max_width_2)
                    {
                        max_width_2 = tempLabel.PreferredWidth;
                    }
                    break;

                default:
                    break;
                }
            }

            if (max_width_1 > cbRefTable.DropDownWidth)
            {
                cbRefTable.DropDownWidth = max_width_1;
            }
            if (max_width_2 > cbIntervalTable.DropDownWidth)
            {
                cbIntervalTable.DropDownWidth = max_width_2;
            }

            sqlCmd.Close();
        }
Exemple #13
0
        private void saveTable(int id, bool default_visibl, int order_num)
        {
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "UPDATE " + Program.scheme + ".table_info SET default_visibl=" + default_visibl.ToString()
                         + ", order_num=" + order_num.ToString() + " WHERE id=" + id.ToString();
            sqlCmd.Execute(true);
            sqlCmd.Close();
        }
        private void loadDaipazonInfo(int id_table)
        {
            loadColumsForDiapazon(id_table);
            SqlWork sqlCmd = new SqlWork();

            typeColors = new List <itemObj>();
            typeColors.Add(new itemObj(0, Rekod.Properties.Resources.PTC_BasicElement, ""));
            typeColors.Add(new itemObj(1, Rekod.Properties.Resources.PTC_Background, ""));
            typeColors.Add(new itemObj(2, Rekod.Properties.Resources.PTC_BordersAndLines, ""));
            typeColors.Add(new itemObj(3, Rekod.Properties.Resources.PTC_BorderSymbol, ""));
            sqlCmd.sql = "SELECT range_colors, range_column, precision_point, type_color, min_color, " +
                         "min_val, max_color, max_val, use_min_val, use_max_val, null_color, " +
                         "use_null_color, geom_type FROM " + Program.scheme + ".table_info WHERE id = " + id_table;
            sqlCmd.Execute(false);
            if (sqlCmd.CanRead())
            {
                switch (sqlCmd.GetInt32(12))
                {
                case 0:    //Без геометрии
                    Classes.workLogFile.writeLogFile(new Exception("Загружена таблица без геометрии"), true, false);
                    break;

                case 1:    //Точки
                    typeColors.RemoveAt(2);
                    typeColors.RemoveAt(1);
                    break;

                case 2:    //Линии
                    typeColors.RemoveAt(3);
                    typeColors.RemoveAt(1);
                    typeColors.RemoveAt(0);
                    break;

                case 3:    //площадные
                    typeColors.RemoveAt(3);
                    break;
                }
                cbRangeColorChange.DataSource = typeColors;
                setComboBox(cbRangeValueField, sqlCmd.GetValue <string>(1));
                setComboBox(cbRangeColorChange, sqlCmd.GetInt32(3).ToString(), sqlCmd.GetInt32(3));

                numericUpDownRangePrec.Value     = sqlCmd.GetInt32(2);
                panelRangeMinColor.BackColor     = convColor(sqlCmd.GetValue <uint>(4));
                numericUpDownRangeMinValue.Value = sqlCmd.GetInt32(5);
                panelRangeMaxColor.BackColor     = convColor(sqlCmd.GetValue <uint>(6));
                numericUpDownRangeMaxValue.Value = sqlCmd.GetInt32(7);
                checkBoxRangeMin.Checked         = sqlCmd.GetBoolean(8);
                checkBoxRangeMax.Checked         = sqlCmd.GetBoolean(9);
            }
            sqlCmd.Close();
            numericUpDownRangeMinValue.Enabled = checkBoxRangeMin.Checked;
            numericUpDownRangeMaxValue.Enabled = checkBoxRangeMax.Checked;
        }
 public void save_data()
 {
     for (int k = 0; k < listBox1.Items.Count; k++)
     {
         itemObjOrdered obj = listBox1.Items[k] as itemObjOrdered;
         if (obj.order != k)
         {//сохраняем
             SqlWork sqlCmd = new SqlWork();
             sqlCmd.sql = "UPDATE " + Program.scheme + ".table_field_info SET num_order=" + k.ToString() + " WHERE id=" + obj.Id_o;
             sqlCmd.Execute(true);
             sqlCmd.Close();
         }
     }
 }
        private void loadColumsForDiapazon(int id_table)
        {
            cbRangeValueField.Items.Clear();
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_field_info WHERE (type_field = 1 OR type_field = 6) AND id_table = " + id_table.ToString();
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(2), sqlCmd.GetValue <string>(1));
                cbRangeValueField.Items.Add(item);
            }
            sqlCmd.Close();
        }
        private void loadTableGeomField()
        {
            cbGeomField.Items.Clear();
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_field_info WHERE type_field = 5 AND id_table = " + id.ToString();
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(1), sqlCmd.GetValue <string>(2));
                cbGeomField.Items.Add(item);
            }
            sqlCmd.Close();
        }
        private string select_name_db()
        {
            string  table_db = "";
            SqlWork sqlCmd   = new SqlWork();

            sqlCmd.sql = "SELECT name_db FROM " + Program.scheme + ".table_info WHERE id = " + id.ToString();
            sqlCmd.Execute(false);
            if (sqlCmd.CanRead())
            {
                table_db = sqlCmd.GetValue <string>(0);
            }
            sqlCmd.Close();
            return(table_db);
        }
        private bool getGeomTable(int idT)
        {
            bool    map    = false;
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT tt.map_layer, ti.name_db FROM " + Program.scheme + ".table_info ti, " + Program.scheme + ".table_type_table tt" +
                         " WHERE tt.id=ti.type AND ti.id= " + idT;
            sqlCmd.Execute(false);
            if (sqlCmd.CanRead())
            {
                map       = sqlCmd.GetBoolean(0);
                tableName = sqlCmd.GetValue <string>(1);
            }
            sqlCmd.Close();
            return(map);
        }
        public void loadFields(int idT)
        {
            listBox1.Items.Clear();
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id,name_db,type_field,name_map,num_order FROM " + Program.scheme + ".table_field_info WHERE id_table=" + idT.ToString() + " ORDER BY num_order";
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObjOrdered item = new itemObjOrdered(sqlCmd.GetInt32(0),
                                                         sqlCmd.GetString(1) + " (" + classesOfMetods.getTipField(sqlCmd.GetInt32(2)).nameTipData + ") - " +
                                                         sqlCmd.GetString(3), sqlCmd.GetString(1), sqlCmd.GetInt32(4));
                listBox1.Items.Add(item);
            }
            sqlCmd.Close();
            label2.Text = changeTextOfCount(listBox1.Items.Count);
        }
Exemple #21
0
        public void DeleteTableFromGroup(int id_group, int id_table)
        {
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "DELETE FROM " + Program.scheme + ".table_groups_table WHERE id_table=" + id_table.ToString() + " AND id_group=" + id_group.ToString();
            try
            {
                sqlCmd.Execute(true);
            }
            catch (NpgsqlException ex)
            {
                MessageBox.Show(ex.BaseMessage);
            }
            finally
            {
                sqlCmd.Close();
            }
        }
        private bool getstyleExists()
        {
            bool    exists_style = false;
            SqlWork sqlCmd       = new SqlWork();

            sqlCmd.sql = "SELECT * FROM " + Program.scheme + "." + tableName + " LIMIT 1";
            sqlCmd.Execute(false);
            for (int i = 0; sqlCmd.GetFiealdCount() > i; i++)
            {
                if (sqlCmd.GetFieldName(i) == "exists_style")
                {
                    exists_style = true;
                    break;
                }
            }
            sqlCmd.Close();
            return(exists_style);
        }
Exemple #23
0
        private List <itemObjOrdered> getRecalcedGroupsOrderList()
        {
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = String.Format("SELECT id, name_group, descript FROM {0}.{1} ORDER BY order_num", Program.scheme, "table_groups");
            sqlCmd.Execute(false);
            List <itemObjOrdered> newGroupsOrder = new List <itemObjOrdered>();
            int orderObj = 1;

            while (sqlCmd.CanRead())
            {
                int            idObj    = sqlCmd.GetInt32(0);
                String         nameObj  = sqlCmd.GetValue <string>(1);
                String         descObj  = sqlCmd.GetValue <string>(2);
                itemObjOrdered itObjOrd = new itemObjOrdered(idObj, nameObj, descObj, orderObj);
                orderObj++;
            }
            return(newGroupsOrder);
        }
Exemple #24
0
        public void SetOrderTableInGroup(int id_group, int id_table, int ord)
        {
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "UPDATE " + Program.scheme + ".table_groups_table SET order_num=" + ord.ToString() + " WHERE id_table=" + id_table.ToString() + " AND id_group=" + id_group.ToString();
            //"INSERT INTO " + Program.scheme + ".table_groups_table (id_table,id_group) VALUES ("+id_table.ToString()+","+id_group.ToString()+")";
            try
            {
                sqlCmd.Execute(true);
            }
            catch (NpgsqlException ex)
            {
                MessageBox.Show(ex.BaseMessage);
            }
            finally
            {
                sqlCmd.Close();
            }
        }
Exemple #25
0
        private void SignControl_Load(object sender, EventArgs e)
        {
            SqlWork sqlCmd = new SqlWork();

            if (!Program.WorkSets.CurrentWorkSet.IsDefault)
            {
                sqlCmd.sql = "SELECT lablefiled FROM sys_scheme.table_info_sets WHERE id_table=" + _idT.ToString() + " AND id_set = " + Program.WorkSets.CurrentWorkSet.Id;
            }
            else
            {
                sqlCmd.sql = "SELECT lablefiled FROM sys_scheme.table_info WHERE id=" + _idT.ToString();
            }
            sqlCmd.Execute(false);
            if (sqlCmd.CanRead())
            {
                String form = getFromBase(sqlCmd.GetValue <string>(0));
                textBox1.Text           = form;
                textBox1.SelectionStart = form.Length;
                textBox1.Focus();
            }
            sqlCmd.Close();

            List <fieldInfo> afi = classesOfMetods.getFieldInfoTable(_idT);

            foreach (fieldInfo fi in afi)
            {
                comboBox1.Items.Add(fi.nameDB);
                comboBox_2.Items.Add(fi.nameDB);
            }

            if (classesOfMetods.getTableInfo(_idT).label_showlabel)
            {
                panel1.Enabled          = true;
                button4.Enabled         = true;
                check_showLabel.Checked = true;
            }
            else
            {
                check_showLabel.Checked = false;
                panel1.Enabled          = false;
                button4.Enabled         = false;
            }
        }
Exemple #26
0
        /// <summary>
        /// Получает из базы проекции в формате proj4
        /// </summary>
        public static string GetProj4(int srid)
        {
            string wkt = String.Empty;

            using (var sqlCmd = new SqlWork())
            {
                sqlCmd.sql = "SELECT proj4text FROM spatial_ref_sys WHERE srid=" + srid;
                sqlCmd.Execute(false);
                if (sqlCmd.CanRead())
                {
                    wkt = sqlCmd.GetString(0);
                }
                else
                {
                    return(null);
                }
            }
            return(wkt);
        }
Exemple #27
0
        private void loadTables()
        {
            comboBox1.Items.Clear();
            comboBox4.Items.Clear();
            comboBox9.Items.Clear();

            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_info WHERE type = 2";
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(2) + " (" +
                                           sqlCmd.GetValue <string>(1) + ")", sqlCmd.GetValue <string>(1));
                comboBox1.Items.Add(item);
            }
            sqlCmd.Close();

            sqlCmd     = new SqlWork();
            sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_info WHERE type = 3";
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(2) + " (" +
                                           sqlCmd.GetValue <string>(1) + ")", sqlCmd.GetValue <string>(1));
                comboBox4.Items.Add(item);
            }
            sqlCmd.Close();

            sqlCmd     = new SqlWork();
            sqlCmd.sql = "SELECT id, name_db, name_map FROM " + Program.scheme + ".table_info WHERE type = 1 OR type=4";
            sqlCmd.Execute(false);
            while (sqlCmd.CanRead())
            {
                itemObj item = new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetValue <string>(2) + " (" +
                                           sqlCmd.GetValue <string>(1) + ")", sqlCmd.GetValue <string>(1));
                comboBox9.Items.Add(item);
            }
            sqlCmd.Close();
        }
        public void saveStyle(Rekod.DBTablesEdit.StyleControl sc)
        {
            objStyleBrush  brush1  = sc.createBrush();
            objStyleFont   font1   = sc.createFont();
            objStylePen    pen1    = sc.createPen();
            objStyleSymbol symb1   = sc.createSymbol();
            string         bgColor = "";

            if (sc.checkBox1.Enabled && !sc.checkBox1.Checked)
            {
                bgColor = "4294967295";
            }
            else
            {
                bgColor = brush1.bgColor.ToString();
            }
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "UPDATE " + Program.scheme + ".table_info SET fontname = '" + font1.FontName + "', " +
                         "fontcolor = " + font1.Color.ToString() + ", " +
                         "fontframecolor = " + font1.FrameColor.ToString() + ", " +
                         "fontsize = " + font1.Size.ToString() + ", " +
                         "symbol = " + symb1.Shape.ToString() + ", " +
                         "pencolor = " + pen1.Color.ToString() + ", " +
                         "pentype = " + pen1.Type.ToString() + ", " +
                         "penwidth = " + pen1.Width.ToString() + ", " +
                         "brushbgcolor = " + bgColor + ", " +
                         "brushfgcolor = " + brush1.fgColor.ToString() + ", " +
                         "brushstyle = " + brush1.Style.ToString() + ", " +
                         "brushhatch = " + brush1.Hatch.ToString() + " WHERE id = " + id.ToString();
            sqlCmd.Execute(true);
            sqlCmd.Close();
            sqlCmd     = new SqlWork();
            sqlCmd.sql = "UPDATE " + Program.scheme + ".table_info SET default_style = true WHERE id = " + id.ToString();
            sqlCmd.Execute(true);
            sqlCmd.Close();

            DBTablesEdit.SyncController.ReloadStyle(id);
        }
Exemple #29
0
        /// <summary>
        /// Добавляет таблицу в группу
        /// </summary>
        /// <param name="id_group"></param>
        /// <param name="id_table"></param>
        /// <returns>Была ли добавлена таблица в группу, если FALSE то были переданы неверные ID</returns>
        public bool MoveTableToGroup(int id_group, int id_table)
        {
            bool    moved  = false;
            SqlWork sqlCmd = new SqlWork();

            sqlCmd.sql = "SELECT " + Program.scheme + ".add_table_in_group(" + id_table.ToString() + "," + id_group.ToString() + ")";
            //"INSERT INTO " + Program.scheme + ".table_groups_table (id_table,id_group) VALUES ("+id_table.ToString()+","+id_group.ToString()+")";
            try
            {
                sqlCmd.Execute(true);
            }
            catch (NpgsqlException ex)
            {
                if (ex.Code.CompareTo("23503") == 0)
                {
                    MessageBox.Show(Rekod.Properties.Resources.GF_NonexistentGroupTable);
                    return(false);
                }
                else
                if (ex.Code.CompareTo("23505") == 0)
                {
                    moved = true;
                }
                else
                {
                    throw ex;
                }
            }
            finally
            {
                sqlCmd.Close();
            }
            if (!moved)
            {
                Rekod.Classes.workLogFile.writeLogFile("move table to group --> id_group=" + id_group.ToString() + " id_table=" + id_table.ToString(), false, false);
            }
            return(true);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedItem != null)
            {
                int idTable   = -1;
                int typetable = -1;
                foreach (tablesInfo ti in Program.tables_info)
                {
                    if (ti.idTable == ((itemObj)listBox1.SelectedItem).Id_o)
                    {
                        idTable   = ti.idTable;
                        typetable = ti.type;
                        break;
                    }
                }
                List <itemObj> list_tables = new List <itemObj>();
                if (typetable == 3) // если интервал
                {
                    SqlWork sqlCmd = new SqlWork();
                    sqlCmd.sql = "SELECT id_table,name_db FROM " + Program.scheme + ".table_field_info WHERE ref_table=" + idTable;
                    sqlCmd.Execute(false);
                    while (sqlCmd.CanRead())
                    {
                        list_tables.Add(new itemObj(sqlCmd.GetInt32(0), sqlCmd.GetString(1), sqlCmd.GetString(1)));
                    }
                    sqlCmd.Close();
                }

                DialogResult dr = DialogResult.Cancel;
                switch (typetable)
                {
                case 1:
                    dr = QuestionDelete.ShowDialog(Rekod.Properties.Resources.TLE_DeletingLayer,
                                                   Rekod.Properties.Resources.TLE_DeletingLayerAsk,
                                                   Rekod.Properties.Resources.FELC_Forever);
                    break;

                case 2:
                    dr = QuestionDelete.ShowDialog(Rekod.Properties.Resources.TLE_DeletingCatalog,
                                                   Rekod.Properties.Resources.TLE_Attention + "\n" + Rekod.Properties.Resources.TLE_DeletingCatalogAsk,
                                                   Rekod.Properties.Resources.FELC_Forever);
                    break;

                case 3:
                    dr = QuestionDelete.ShowDialog(Rekod.Properties.Resources.TLE_DeletingInterval,
                                                   Rekod.Properties.Resources.TLE_Attention + "\n" + Rekod.Properties.Resources.TLE_DeletingIntervalAsk,
                                                   Rekod.Properties.Resources.FELC_Forever, SystemIcons.Warning);
                    break;

                case 4:
                    dr = QuestionDelete.ShowDialog(Rekod.Properties.Resources.TLE_DeletingTable,
                                                   Rekod.Properties.Resources.TLE_Attention + "\n" + Rekod.Properties.Resources.TLE_DeletingTableAsk,
                                                   Rekod.Properties.Resources.FELC_Forever);
                    break;
                }
                if (dr != DialogResult.Cancel)
                {
                    SqlWork sqlCmd = new SqlWork();
                    foreach (itemObj io in list_tables)
                    {
                        sqlCmd     = new SqlWork();
                        sqlCmd.sql = "UPDATE " + Program.scheme + ".table_info SET default_style=true,style_field='style' WHERE id=" + io.Id_o + " AND style_field='" + io.Name_o + "'";
                        sqlCmd.Execute(true);
                        sqlCmd.Close();
                    }
                    // удалить все ссылки на связанные таблицы
                    sqlCmd     = new SqlWork();
                    sqlCmd.sql = String.Format("UPDATE {0}.table_field_info SET ref_table=null, ref_field=null, ref_field_name=null, is_reference=false, is_interval = FALSE WHERE ref_table={1};", Program.scheme, idTable);
                    sqlCmd.Execute(true);
                    sqlCmd.Close();
                    sqlCmd     = new SqlWork();
                    sqlCmd.sql = "SELECT " + Program.scheme + ".delete_table(" + ((itemObj)listBox1.SelectedItem).Id_o + "," + (dr == DialogResult.Yes).ToString() + ")";
                    sqlCmd.Execute(true);
                    sqlCmd.Close();
                    classesOfMetods.DeleteLayerInMap(((itemObj)listBox1.SelectedItem).Id_o);
                    try
                    {
                        SyncController.DeleteTable(((itemObj)listBox1.SelectedItem).Id_o, false);
                    }
                    catch (Exception ex)
                    {
                        Classes.workLogFile.writeLogFile(ex, false, true);
                    }
                    classesOfMetods cls = new classesOfMetods();

                    cls.reloadInfo();
                    loadTables();

                    MessageBox.Show(((dr == DialogResult.Yes) ? Rekod.Properties.Resources.TLE_DeleteForever : Rekod.Properties.Resources.TLE_DeleteNoForever));
                    Control[] cntrs = parent.Controls.Find("CloseButton", true);
                    if (cntrs.Length == 1)
                    {
                        ((CloseButton)cntrs[0]).CloseBox(e);
                    }
                }
            }
        }