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(); // }); }
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(); // }); }
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); } }
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(); }
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)"); } }