예제 #1
0
        private void mniDelete_Click(object sender, EventArgs e)
        {
            FunctionExecution functionNode = (FunctionExecution)tvwCondition.SelectedNode.Parent;

            NoBoldNode node = (NoBoldNode)tvwCondition.SelectedNode;

            if (node is FunctionExecution)
            {
                FunctionExecution funcNode = ((FunctionExecution)node);
                int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex((pol.ApplyElement)funcNode.ApplyBaseDefinition);
                functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index);
                functionNode.Nodes.Remove(funcNode);
            }
            else if (node is FunctionParameter)
            {
                FunctionParameter funcNode = ((FunctionParameter)node);
                int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(funcNode.FunctionDefinition);
                functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index);
                functionNode.Nodes.Remove(funcNode);
            }
            else if (node is AttributeValue)
            {
                AttributeValue attNode = ((AttributeValue)node);
                int            index   = functionNode.ApplyBaseDefinition.Arguments.GetIndex(attNode.AttributeValueDefinition);
                functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index);
                functionNode.Nodes.Remove(attNode);
            }
            else if (node is AttributeDesignator)
            {
                AttributeDesignator attNode = ((AttributeDesignator)node);
                int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(attNode.AttributeDesignatorDefinition);
                functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index);
                functionNode.Nodes.Remove(attNode);
            }
            else if (node is AttributeSelector)
            {
                AttributeSelector attNode = ((AttributeSelector)node);
                int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(attNode.AttributeSelectorDefinition);
                functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index);
                functionNode.Nodes.Remove(attNode);
            }
        }
예제 #2
0
        private void tvwCondition_BeforeSelect(object sender, TreeViewCancelEventArgs e)
        {
            NoBoldNode node = (NoBoldNode)tvwCondition.SelectedNode;

            if (node is FunctionExecution)
            {
                FunctionExecution funcNode = ((FunctionExecution)node);
                funcNode.ApplyBaseDefinition.FunctionId = cmbInternalFunctions.Text;
                tvwCondition.SelectedNode      = funcNode;
                tvwCondition.SelectedNode.Text = "[" + "dataType" + "] " + funcNode.ApplyBaseDefinition.FunctionId;
            }
            else if (node is FunctionParameter)
            {
                FunctionParameter funcNode = ((FunctionParameter)node);
                funcNode.FunctionDefinition.FunctionId = cmbInternalFunctions.Text;
                tvwCondition.SelectedNode      = funcNode;
                tvwCondition.SelectedNode.Text = "Function: " + funcNode.FunctionDefinition.FunctionId;;
            }
            else if (node is AttributeValue)
            {
                AttributeValue attNode = ((AttributeValue)node);
                attNode.AttributeValueDefinition.Value    = txtValue.Text;
                attNode.AttributeValueDefinition.DataType = cmbDataType.Text;
                tvwCondition.SelectedNode      = attNode;
                tvwCondition.SelectedNode.Text = "[" + attNode.AttributeValueDefinition.DataType + "] " + attNode.AttributeValueDefinition.Contents;
            }
            else if (node is AttributeDesignator)
            {
                AttributeDesignator attNode = ((AttributeDesignator)node);
                attNode.AttributeDesignatorDefinition.AttributeId = txtValue.Text;
                attNode.AttributeDesignatorDefinition.DataType    = cmbDataType.Text;
                tvwCondition.SelectedNode      = attNode;
                tvwCondition.SelectedNode.Text = "[" + attNode.AttributeDesignatorDefinition.DataType + "]:" + attNode.AttributeDesignatorDefinition.AttributeId;
            }
            else if (node is AttributeSelector)
            {
                AttributeSelector attNode = ((AttributeSelector)node);
                attNode.AttributeSelectorDefinition.RequestContextPath = txtValue.Text;
                tvwCondition.SelectedNode      = attNode;
                tvwCondition.SelectedNode.Text = "XPath: " + attNode.AttributeSelectorDefinition.RequestContextPath;
            }
        }
예제 #3
0
        private void DeleteFromRequest(NoBoldNode childNode)
        {
            var parentNode = (Request)_mainTree.SelectedNode.Parent;
            if (childNode is Action)
            {
                parentNode.RequestDefinition.Action = null;
            }
            else
            {
                var node = childNode as Resource;
                if (node != null)
                {
                    con.ResourceElementReadWrite resource = node.ResourceDefinition;

                    int index = parentNode.RequestDefinition.Resources.GetIndex(resource);
                    parentNode.RequestDefinition.Resources.RemoveAt(index);
                }
                else if (childNode is Subject)
                {
                    con.SubjectElementReadWrite subject = ((Subject)childNode).SubjectDefinition;

                    int index = parentNode.RequestDefinition.Subjects.GetIndex(subject);
                    parentNode.RequestDefinition.Subjects.RemoveAt(index);
                }
            }
        }
예제 #4
0
 private void DeleteFromPolicySet(NoBoldNode childNode)
 {
     var parentNode = (PolicySet)_mainTree.SelectedNode.Parent;
     var policy = childNode as Policy;
     if (policy != null)
     {
         var policyNode = policy;
         parentNode.PolicySetDefinition.Policies.Remove(policyNode.PolicyDefinition);
     }
     else
     {
         var policySet = childNode as PolicySet;
         if (policySet != null)
         {
             var policySetNode = policySet;
             parentNode.PolicySetDefinition.Policies.Remove(policySetNode.PolicySetDefinition);
         }
         else if (childNode is Obligations)
         {
             parentNode.PolicySetDefinition.Obligations = null;
         }
         else if (childNode is Target)
         {
             parentNode.PolicySetDefinition.Target = null;
         }
     }
 }
예제 #5
0
 private void DeleteFromPolicy(NoBoldNode childNode)
 {
     var parentNode = (Policy)_mainTree.SelectedNode.Parent;
     var node = childNode as Rule;
     if (node != null)
     {
         var rule = node.RuleDefinition;
         int index = parentNode.PolicyDefinition.Rules.GetIndex(rule);
         parentNode.PolicyDefinition.Rules.RemoveAt(index);
     }
     else if (childNode is Obligations)
     {
         parentNode.PolicyDefinition.Obligations = null;
     }
     else if (childNode is Target)
     {
         parentNode.PolicyDefinition.Target = null;
     }
 }
예제 #6
0
        private void DeleteContextAttribute(NoBoldNode parentNode)
        {
            var attributeNode = (Attribute)_mainTree.SelectedNode;
            con.AttributeElementReadWrite attribute = attributeNode.AttributeDefinition;

            var node = parentNode as Action;
            if (node != null)
            {
                con.ActionElementReadWrite action = node.ActionDefinition;

                int index = action.Attributes.GetIndex(attribute);
                action.Attributes.RemoveAt(index);
            }
            else
            {
                var resource1 = parentNode as Resource;
                if (resource1 != null)
                {
                    con.ResourceElementReadWrite resource = resource1.ResourceDefinition;

                    int index = resource.Attributes.GetIndex(attribute);
                    resource.Attributes.RemoveAt(index);
                }
                else
                {
                    var subject1 = parentNode as Subject;
                    if (subject1 != null)
                    {
                        con.SubjectElementReadWrite subject = subject1.SubjectDefinition;

                        int index = subject.Attributes.GetIndex(attribute);
                        subject.Attributes.RemoveAt(index);
                    }
                }
            }
        }