VariableSetStatement.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using IwbZero.IocNamed;
  2. using IwbZero.IwbBase;
  3. using IwbZero.IwbDataQuery;
  4. using IwbZero.ToolCommon.LogHelpers;
  5. using IwbZero.ToolCommon.StringModel;
  6. using WeEngine.ComponentInfo;
  7. using WeEngine.Components.InterfaceFactory;
  8. namespace WeEngine.Components.Statements
  9. {
  10. /// <summary>
  11. /// 变量赋值
  12. /// </summary>
  13. [IocNamed(CompStmtType.SetVariables)]
  14. public class VariableSetStatement : IStatementRunner
  15. {
  16. public bool Run(ComponentRunner runner, IwbXmlNode poStatement)
  17. {
  18. this.LogDebug($"============[开始执行事务]====>[变量赋值]======>{runner.CurrentNode.NodePath}");
  19. foreach (IwbXmlNode node in poStatement.Nodes)
  20. {
  21. if (node.Name.UAndT() == "Variable".UAndT())
  22. {
  23. string name = node.GetChildValue("Name")?.UAndT() ?? "";
  24. name = $"{IwbVariableType.Local}{name}";
  25. string value = node.GetChildValue("Value");
  26. if (name.IsNotEmpty() && value.IsNotEmpty())
  27. {
  28. runner.SetValue(name, value, true);
  29. }
  30. this.LogDebug($"============[执行事务完成]====>[变量赋值]======>[{name}--{value}]");
  31. }
  32. }
  33. //string pcMapping = poStatement.GetChildValue("Content");
  34. //if (pcMapping != "")
  35. //{
  36. // foreach (IwbIdName name in pcMapping.MappingToArrayList())
  37. // {
  38. // runner.SetValue(name.Id, name.Name, true);
  39. // }
  40. //}
  41. return true;
  42. }
  43. }
  44. }