private static string GetActionParamString(IAction action)
        {
            StringBuilder sb        = new StringBuilder();
            IActionDef    actionDef =
                RuleEngine.GetActionManager().GetActionDef(action.GetActionDef().GetActionName());
            List <string> paramNameList = actionDef.GetParameterNames();

            foreach (string paramName in paramNameList)
            {
                if (sb.Length != 0)
                {
                    sb.Append(", ");
                }
                sb.Append(paramName);
                sb.Append("='");
                sb.Append(action.GetParameterValue(paramName));
                sb.Append("'");
            }
            return(sb.ToString());
        }
Ejemplo n.º 2
0
        private XmlNode WriteActionToXmlNode(IAction action)
        {
            // <Action>
            XmlElement actionNode = m_doc.CreateElement(RuleFileConstants.ActionElementName);

            actionNode.SetAttribute(RuleFileConstants.Name, action.GetActionDef().GetActionName());

            AbstractActionManager actionManager = RuleEngine.GetActionManager();
            IActionDef            actionDef     = actionManager.GetActionDef(action.GetActionDef().GetActionName());
            List <string>         paramList     = actionDef.GetParameterNames();

            foreach (string paramName in paramList)
            {
                // <Param>
                XmlElement newNameParamNode = m_doc.CreateElement(RuleFileConstants.Parameter);
                newNameParamNode.SetAttribute(RuleFileConstants.Key, paramName);
                newNameParamNode.SetAttribute(RuleFileConstants.Value,
                                              action.GetParameterValue(paramName));
                actionNode.AppendChild(newNameParamNode);
            }
            return(actionNode);
        }
        public static TreeNode GetActionTreeNode(IAction action)
        {
            TreeNode actionNode = new TreeNode();

            actionNode.Text = ACTION_NODE_TEXT + " : " + action.GetActionDef().GetActionName();
            if (!action.IsInitialized)
            {
                actionNode.Text += " <" + Resource.FormatString("Msg_EditUninitializedActionTip") + ">";
            }
            actionNode.Tag = action;

            IActionDef actionDef =
                RuleEngine.GetActionManager().GetActionDef(action.GetActionDef().GetActionName());
            List <string> paramNameList = actionDef.GetParameterNames();

            foreach (string paramName in paramNameList)
            {
                TreeNode      actionParameterNode = new TreeNode();
                StringBuilder sb = new StringBuilder();
                sb.Append(paramName);
                sb.Append(" = '");
                if (action.IsInitialized)
                {
                    sb.Append(action.GetParameterValue(paramName));
                }
                else
                {
                    sb.Append(TreeNodeConstants.Uninitialized_Value);
                }
                sb.Append("'");
                actionParameterNode.Text = sb.ToString();
                actionParameterNode.Tag  = action;
                SetRuleTreeNodeImage(actionParameterNode);
                actionNode.Nodes.Add(actionParameterNode);
            }

            SetRuleTreeNodeImage(actionNode);
            return(actionNode);
        }