using IwbZero.IocNamed; using IwbZero.IwbBase; using IwbZero.IwbDataQuery; using IwbZero.ToolCommon.LogHelpers; using IwbZero.ToolCommon.StringModel; using WeEngine.ComponentInfo; using WeEngine.Components.InterfaceFactory; namespace WeEngine.Components.Statements { /// /// 变量赋值 /// [IocNamed(CompStmtType.SetVariables)] public class VariableSetStatement : 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")?.UAndT() ?? ""; name = $"{IwbVariableType.Local}{name}"; string value = node.GetChildValue("Value"); if (name.IsNotEmpty() && value.IsNotEmpty()) { runner.SetValue(name, value, true); } this.LogDebug($"============[执行事务完成]====>[变量赋值]======>[{name}--{value}]"); } } //string pcMapping = poStatement.GetChildValue("Content"); //if (pcMapping != "") //{ // foreach (IwbIdName name in pcMapping.MappingToArrayList()) // { // runner.SetValue(name.Id, name.Name, true); // } //} return true; } } }