Пример #1
0
        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();
        }
Пример #2
0
        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();
        }