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