public override void RefreshData() { this.Text = (ID < 0) ? "New Restriction" : "Restriction for " + MainFormCurrentNodeText("Permission"); Sync(true, delegate() { var dt = AdminProxy.ListPermissionFields(PermissionID, (ID < 0 ? int.MaxValue : ID)).Tables["list_permission_fields"]; if (dt.Rows.Count > 0) { var dr = dt.Rows[0]; PermissionID = Toolkit.ToInt32(dr["sys_permission_id"], -1); int dvID = Toolkit.ToInt32(dr["sys_dataview_id"], -1); int tblID = Toolkit.ToInt32(dr["sys_table_id"], -1); // if neither is specified, leave them alone so the user can change to them if need be if (dvID != -1 || tblID != -1) { DataViewID = dvID; TableID = tblID; } int parentTableID = Toolkit.ToInt32(dr["parent_table_id"].ToString(), -1); //ParentTableFieldID = Toolkit.ToInt32(dr["parent_table_field_id"].ToString(), -1); string compareMode = dr["compare_mode"].ToString(); if (compareMode == "parent") { rdoChildValue.Checked = true; } else { rdoFieldValue.Checked = true; } initDropDowns(); if (DataViewID > -1) { ddlResource.SelectedIndex = Toolkit.Max(-1, ddlResource.FindString(dr["dataview_name"].ToString())); syncResourceFieldDropDown(); ddlResourceField.SelectedIndex = Toolkit.Max(-1, ddlResourceField.FindString(dr["dataview_field_name"].ToString())); } else if (TableID > -1) { ddlResource.SelectedIndex = Toolkit.Max(-1, ddlResource.FindString(dr["table_name"].ToString())); syncResourceFieldDropDown(); ddlResourceField.SelectedIndex = Toolkit.Max(-1, ddlResourceField.FindString(dr["table_field_name"].ToString())); } else { } string verbiage = getVerbiageForSpecialCommand(dr["compare_value"].ToString()); if (!String.IsNullOrEmpty(verbiage)) { cboValue.SelectedIndex = cboValue.FindString(verbiage); if (cboValue.SelectedIndex < 0) { cboValue.Text = verbiage; } } ddlCompare.SelectedIndex = ddlCompare.FindString(dr["compare_operator"].ToString()); verbiage = getVerbiageForSpecialCommand(dr["parent_compare_value"].ToString()); if (!String.IsNullOrEmpty(verbiage)) { cboParentValue.SelectedIndex = cboParentValue.FindString(verbiage); if (cboParentValue.SelectedIndex < 0) { cboParentValue.Text = verbiage; } } ddlParentCompare.SelectedIndex = ddlParentCompare.FindString(dr["parent_compare_operator"].ToString()); } else { initDropDowns(); } }); MarkClean(); syncGUI(); }
public override void RefreshData() { this.Text = "Permission " + MainFormCurrentNodeText("") + " - " + this.AdminProxy.Connection.ServerName + (Toolkit.IsProcessElevated() ? " - Administrator " : ""); initDropDowns(); if (ID > -1) { var dt = AdminProxy.ListPermissions(ID, null, false).Tables["list_permissions"]; if (dt.Rows.Count > 0) { var dr = dt.Rows[0]; txtCode.Text = dr["permission_tag"].ToString(); txtName.Text = dr["title"].ToString(); txtDescription.Text = dr["description"].ToString(); ddlDataView.SelectedIndex = ddlDataView.FindString(dr["dataview_name"].ToString()); ddlTable.SelectedIndex = ddlTable.FindString(dr["table_name"].ToString()); ddlCreate.SelectedIndex = ddlCreate.FindString(dr["create_permission_text"].ToString()); ddlRead.SelectedIndex = ddlRead.FindString(dr["read_permission_text"].ToString()); ddlUpdate.SelectedIndex = ddlUpdate.FindString(dr["update_permission_text"].ToString()); ddlDelete.SelectedIndex = ddlDelete.FindString(dr["delete_permission_text"].ToString()); chkEnabled.Checked = dr["is_enabled"].ToString().Trim().ToUpper() == "Y"; var dt2 = AdminProxy.ListPermissionFields(ID, -1).Tables["list_permission_fields"]; lvPermFields.Items.Clear(); foreach (DataRow dr2 in dt2.Rows) { var lvi = new ListViewItem(); lvi.Tag = dr2["sys_permission_field_id"]; lvi.UseItemStyleForSubItems = false; var dv = dr2["dataview_name"].ToString(); var tbl = dr2["table_name"].ToString(); var mode = dr2["compare_mode"].ToString(); if (mode == "parent") { // restricting by parent... lvi.Text = dr2["parent_table_name"].ToString() + " (for all children)"; lvi.SubItems.Add(dr2["parent_table_field_name"].ToString()); lvi.SubItems.Add(dr2["parent_compare_operator"].ToString()); string verbiage = getVerbiageForSpecialCommand(dr2["parent_compare_value"].ToString()); lvi.SubItems.Add(verbiage); lvi.SubItems.Add(dr2["parent_table_name"].ToString() + "." + dr2["parent_Table_field_name"].ToString() + " " + dr2["parent_compare_operator"] + " " + verbiage + " (for all children)"); // lvi.Text = dr2["parent_table_name"].ToString() + "." + dr2["parent_Table_field_name"].ToString() + " " + dr2["parent_compare_operator"] + " " + dr2["parent_compare_value"] + " (for all children)"; } else if (dv == "") { lvi.Text = tbl; lvi.SubItems.Add(dr2["table_field_name"].ToString()); lvi.SubItems.Add(dr2["compare_operator"].ToString()); string verbiage = getVerbiageForSpecialCommand(dr2["compare_value"].ToString()); lvi.SubItems.Add(verbiage); lvi.SubItems.Add(dr2["table_name"].ToString() + "." + dr2["Table_field_name"].ToString() + " " + dr2["compare_operator"] + " " + verbiage); // lvi.Text = dr2["table_name"].ToString() + "." + dr2["Table_field_name"].ToString() + " " + dr2["compare_operator"] + " " + dr2["compare_value"]; } else { lvi.Text = dv + " (dataview)"; lvi.SubItems.Add(dr2["dataview_field_name"].ToString()); lvi.SubItems.Add(dr2["compare_operator"].ToString()); string verbiage = getVerbiageForSpecialCommand(dr2["compare_value"].ToString()); lvi.SubItems.Add(verbiage); lvi.SubItems.Add(dr2["dataview_field_name"].ToString() + "." + dr2["dataview_field_name"].ToString() + " " + dr2["compare_operator"] + " " + verbiage + " (dataview)"); // lvi.Text = dr2["dataview_field_name"].ToString() + "." + dr2["dataview_field_name"].ToString() + " " + dr2["compare_operator"] + " " + dr2["compare_value"] + " (dataview)"; } lvPermFields.Items.Add(lvi); } } } else { ddlDataView.SelectedIndex = 0; ddlTable.SelectedIndex = 0; ddlCreate.SelectedIndex = 0; ddlRead.SelectedIndex = 0; ddlUpdate.SelectedIndex = 0; ddlDelete.SelectedIndex = 0; } MarkClean(); }