| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using IwbZero.IocNamed;
- using IwbZero.IwbBase;
- using IwbZero.ToolCommon.LogHelpers;
- using IwbZero.ToolCommon.StringModel;
- using WeEngine.ComponentInfo;
- using WeEngine.Components.InterfaceFactory;
- namespace WeEngine.Components.Statements
- {
- /// <summary>
- /// 变量查询赋值
- /// </summary>
- [IocNamed(CompStmtType.QueryVariables)]
- public class VariableQueryStatement : IStatementRunner
- {
- public bool Run(ComponentRunner runner, IwbXmlNode poStatement)
- {
- this.LogDebug($"============[开始执行事务]====>[变量查询赋值]======>{runner.CurrentNode.NodePath}");
- foreach (IwbXmlNode node in poStatement.Nodes)
- {
- if (node.Name.UAndT() == "Variable".UAndT())
- {
- string name = node.GetChildValue("Name");
- string targetPath = node.GetChildValue("TargetPath");
- string targetName = node.GetChildValue("TargetName").UAndT();
- var targetNode = runner.CurrentNode.CurPackageInfo.GetNodeByPath(targetPath);
- if (targetNode!=null && targetNode.Variables.ContainsKey(targetName))
- {
- var value = ((IwbRtVariable) targetNode.Variables[targetName]).GetStringValue();
- runner.SetValue(name,value );
- this.LogDebug($"============[执行事务完成]====>[变量查询赋值]======>[{name}] [{targetName}--{value}] [{targetPath}]");
- }
- }
- }
- return true;
- }
- }
- }
|