Beispiel #1
0
        private void ddlResourceField_SelectedIndexChanged(object sender, EventArgs e)
        {
//            Sync(delegate() {
            int resID      = Toolkit.ToInt32(ddlResource.SelectedValue, -1);
            int resFieldID = Toolkit.ToInt32(ddlResourceField.SelectedValue, -1);

            if (ResourceType == "dataview")
            {
                var dt = AdminProxy.ListDataViewFields(resID, resFieldID).Tables["list_dataview_fields"];

                if (dt.Rows.Count > 0)
                {
                    lblType.Text = "(" + dt.Rows[0]["field_type"].ToString() + ")";
                    initCompareDropdown(ddlCompare, lblType.Text.ToLower(), ddlCompare.Text);
                }
            }
            else if (ResourceType == "table")
            {
                var dt = AdminProxy.ListTableFields(resID, resFieldID, false).Tables["list_table_fields"];

                if (dt.Rows.Count > 0)
                {
                    lblType.Text = "(" + dt.Rows[0]["field_type"].ToString() + ")";
                    initCompareDropdown(ddlCompare, lblType.Text.ToLower(), ddlCompare.Text);
                }
            }
            CheckDirty();
            //           });
        }
Beispiel #2
0
        private void ddlParentTableField_SelectedIndexChanged(object sender, EventArgs e)
        {
//            Sync(delegate() {
            var dt = AdminProxy.ListTableFields(Toolkit.ToInt32(ddlParentTable.SelectedValue, -1), Toolkit.ToInt32(ddlParentTableField.SelectedValue, -1), false).Tables["list_table_fields"];

            if (dt.Rows.Count > 0)
            {
                lblParentType.Text = "(" + dt.Rows[0]["field_type"].ToString() + ")";
            }
            initCompareDropdown(ddlParentCompare, lblParentType.Text.ToLower(), ddlParentCompare.Text);
            CheckDirty();
            //            });
        }
Beispiel #3
0
        private void initDropDowns()
        {
            if (ShowFieldDropDown)
            {
                // ID is table id, look it up from the database
                var defaultTableText = "(None)";
                var defaultFieldText = "(None)";
                if (ID > -1)
                {
                    var dt = AdminProxy.ListTableFields(-1, ID, false).Tables["list_table_fields"];
                    if (dt.Rows.Count > 0)
                    {
                        defaultTableText = dt.Rows[0]["table_name"].ToString();
                        defaultFieldText = dt.Rows[0]["field_name"].ToString();
                    }
                }

                initTableDropDown(ddlTable, true, "(None)", -1);
                ddlTable.SelectedIndex = ddlTable.FindString(defaultTableText);
                initTableFieldDropDown(ddlField, Toolkit.ToInt32(ddlTable.SelectedValue, -1), true, "(None)");
                ddlField.SelectedIndex = ddlField.FindString(defaultFieldText);
            }
            else
            {
                // ID is table id, look it up from the database
                var defaultTableText = "(None)";
                if (ID > -1)
                {
                    var dt = AdminProxy.ListTables(ID).Tables["list_tables"];
                    if (dt.Rows.Count > 0)
                    {
                        defaultTableText = dt.Rows[0]["table_name"].ToString();
                    }
                }

                initTableDropDown(ddlTable, true, defaultTableText, -1);
                ddlTable.SelectedIndex = ddlTable.FindString(defaultTableText);
            }
        }
Beispiel #4
0
        public override void RefreshData()
        {
            this.Text = "Table Mapping - " + MainFormCurrentNodeText("") + " - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : "");

            if (ID > -1)
            {
                var ds = AdminProxy.ListTableFields(ID, -1, true);
                var dt = ds.Tables["list_table_fields"];
                if (dt.Rows.Count > 0)
                {
                    var dr = dt.Rows[0];
                    _tableName           = dr["table_name"].ToString();
                    txtDatabaseArea.Text = dr["database_area_code"].ToString();
                    chkEnabled.Checked   = dr["table_is_enabled"].ToString().ToUpper() == "Y";

                    lvFieldMappings.Items.Clear();
                    foreach (DataRow fld in dt.Rows)
                    {
                        var lvi = new ListViewItem(fld["field_name"].ToString(), 0);


                        lvi.Tag = Toolkit.ToInt32(fld["sys_table_field_id"], -1);

                        lvi.SubItems.Add(convertFieldPurpose(fld["field_purpose"].ToString().ToUpper()));

                        lvi.SubItems.Add(convertFieldType(fld["field_type"].ToString().ToUpper()));

                        lvi.SubItems.Add(convertFieldGuiHint(fld["gui_hint"].ToString().ToUpper()));


                        lvi.SubItems.Add(fld["default_value"].ToString());
                        // stored as nullable, displaying required -- meaning it's just the opposite.
                        var required = fld["is_nullable"].ToString().ToUpper() == "Y" ? "N" : "Y";
                        lvi.SubItems.Add(required);

                        if (required == "Y")
                        {
                            // show required field icon
                            lvi.ImageIndex = 3;
                        }

                        lvi.SubItems.Add(fld["is_readonly"].ToString());
                        lvi.SubItems.Add(fld["is_foreign_key"].ToString());
                        lvi.SubItems.Add(fld["foreign_key_table_field_name"].ToString());
                        lvi.SubItems.Add(fld["foreign_key_dataview_name"].ToString());
                        lvi.SubItems.Add(fld["group_name"].ToString());


                        lvFieldMappings.Items.Add(lvi);
                    }
                }

                lvRelationships.Items.Clear();
                var dtRel = ds.Tables["list_table_relationships"];
                if (dtRel.Rows.Count > 0)
                {
                    foreach (DataRow drRel in dtRel.Rows)
                    {
                        var lvi     = new ListViewItem(drRel["table_name"].ToString() + "." + drRel["field_name"].ToString(), 1);
                        var relType = drRel["relationship_type_tag"].ToString();
                        switch (relType)
                        {
                        case "PARENT":
                            lvi.SubItems.Add("Parent");
                            break;

                        case "OWNER_PARENT":
                            lvi.SubItems.Add("Parent and owner");
                            break;

                        case "SELF":
                            lvi.SubItems.Add("Self-referential parent");
                            break;

                        default:
                            lvi.SubItems.Add(relType);
                            break;
                        }
                        lvi.SubItems.Add(drRel["table_name2"].ToString() + "." + drRel["field_name2"].ToString());
                        lvi.Tag = drRel["sys_table_relationship_id"];
                        lvRelationships.Items.Add(lvi);
                    }
                }

                lvIndexes.Items.Clear();
                var dtIndex = ds.Tables["list_table_indexes"];
                if (dtIndex.Rows.Count > 0)
                {
                    for (var i = 0; i < dtIndex.Rows.Count; i++)
                    {
                        var drIndex = dtIndex.Rows[i];

                        var lvi = new ListViewItem(drIndex["index_name"].ToString(), 2);
                        lvi.SubItems.Add(drIndex["is_unique"].ToString().ToUpper() == "Y" ? "Y" : "N");
                        lvi.Tag = Toolkit.ToInt32(drIndex["sys_index_id"], -1);

                        var fields   = new List <string>();
                        var prevName = dtIndex.Rows[i]["index_name"].ToString();
                        var curName  = dtIndex.Rows[i]["index_name"].ToString();
                        while (curName == prevName)
                        {
                            fields.Add(dtIndex.Rows[i]["field_name"].ToString());
                            if (i < dtIndex.Rows.Count - 1)
                            {
                                curName = dtIndex.Rows[i + 1]["index_name"].ToString();
                            }
                            else
                            {
                                curName = null;
                            }

                            if (curName == prevName)
                            {
                                i++;
                            }
                        }

                        lvi.SubItems.Add("(" + fields.Count + ") " + String.Join(", ", fields.ToArray()));
                        lvIndexes.Items.Add(lvi);
                    }
                }
            }
            else
            {
            }

            MarkClean();
        }
Beispiel #5
0
        public override void RefreshData()
        {
            initDropDowns();
            // this form has multiple uses, as does the underlying ListTableMappings method.
            // it can:
            // List all TableMappings (0,[0])
            // List permission info for a single permission (37,[0])
            // List TableMappings that are NOT in a list (0, [2,3,4,5,6])

            dgvLanguages.AutoGenerateColumns = false;

            var filled = false;

            if (ID > -1)
            {
                var ds = AdminProxy.ListTableFields(TableID, ID, false);
                var dt = ds.Tables["list_table_fields"];
                if (dt.Rows.Count > 0)
                {
                    var dr = dt.Rows[0];
                    TableID               = Toolkit.ToInt32(dr["sys_table_id"], -1);
                    txtFieldName.Text     = dr["field_name"].ToString();
                    _previousDefaultValue = txtDefaultValue.Text = dr["default_value"].ToString();
                    if (txtDefaultValue.Text == "{DBNull.Value}")
                    {
                        chkDefaultIsNull.Checked = true;
                    }
                    chkAutoIncrement.Checked = dr["is_autoincrement"].ToString().ToUpper() == "Y";
                    chkForeignKey.Checked    = dr["is_foreign_key"].ToString().ToUpper() == "Y";
                    // stored as nullable, displaying required -- so it's just the opposite
                    chkRequired.Checked = !(dr["is_nullable"].ToString().ToUpper() == "Y");
                    chkPK.Checked       = dr["is_primary_key"].ToString().ToUpper() == "Y";
                    chkReadOnly.Checked = dr["is_readonly"].ToString().ToUpper() == "Y";

                    txtMinLength.Text  = dr["min_length"].ToString();
                    _previousMaxLength = txtMaxLength.Text = dr["max_length"].ToString();
                    if (txtMaxLength.Text == "32767")
                    {
                        chkUnlimitedLength.Checked = true;
                    }
                    txtPrecision.Text = dr["numeric_precision"].ToString();
                    txtScale.Text     = dr["numeric_scale"].ToString();

                    _foreignKeyTableFieldID       = Toolkit.ToInt32(dr["foreign_key_table_field_id"], -1);
                    lblForeignKeyField.Text       = dr["foreign_key_table_field_name"].ToString();
                    ddlLookupPicker.SelectedIndex = ddlLookupPicker.FindString(dr["foreign_key_dataview_name"].ToString());
                    ddlGuiHint.SelectedIndex      = ddlGuiHint.FindString(convertFieldGuiHint(dr["gui_hint"].ToString()));
                    ddlCodeGroup.SelectedIndex    = ddlCodeGroup.FindString(dr["group_name"].ToString());
                    syncPurpose(dr["field_purpose"].ToString());
                    syncType(dr["field_type"].ToString());
                    syncGuiHint(dr["gui_hint"].ToString());

                    var f = ((frmTableMapping)this.Owner);
                    if (f.GetPreviousFieldID(false) > -1)
                    {
                        btnPrevious.Enabled = true;
                    }
                    else
                    {
                        btnPrevious.Enabled = false;
                    }

                    if (f.GetNextFieldID(false) > -1)
                    {
                        btnNext.Enabled = true;
                    }
                    else
                    {
                        btnNext.Enabled = false;
                    }

                    _dtLangs = ds.Tables["list_table_field_langs"];
                    dgvLanguages.DataSource = _dtLangs;
                    _rtlRows = new List <int>();
                    for (var i = 0; i < _dtLangs.Rows.Count; i++)
                    {
                        var drLang = _dtLangs.Rows[i];
                        if (drLang["script_direction"].ToString().ToUpper() == "RTL")
                        {
                            _rtlRows.Add(i);
                        }
                    }

                    filled = true;

                    MarkClean();
                }
            }

            if (!filled)
            {
                txtFieldName.Text        = "";
                txtDefaultValue.Text     = "";
                chkAutoIncrement.Checked = false;
                chkForeignKey.Checked    = false;
                chkRequired.Checked      = true;
                chkPK.Checked            = false;
                chkReadOnly.Checked      = false;

                ddlCodeGroup.SelectedIndex = ddlCodeGroup.FindString("(None)");
                syncPurpose("Editable Data");
                syncType("Text");
                syncGuiHint("Textbox (free-form)");
            }
        }