| 1234567891011121314151617181920212223242526272829303132333435363738 |
- using IwbZero.IocNamed;
- using IwbZero.IwbBase;
- using IwbZero.ToolCommon.LogHelpers;
- using WeEngine.Components.InterfaceFactory;
- using WeEngine.ComponentInfo;
- namespace WeEngine.Components.Statements
- {
- /// <summary>
- /// 检验条件
- /// </summary>
- [IocNamed(CompStmtType.CheckCondition)]
- public class CheckConditionStatement : IStatementRunner
- {
- public bool Run(ComponentRunner runner, IwbXmlNode poStatement)
- {
- this.LogDebug($"============[开始执行事务]====>[检验条件]======>{runner.CurrentNode.NodePath}");
- var flag = false;
- string expression = poStatement.GetChildValue("Condition");
- if (expression != "")
- {
- flag = runner.EvaluateBool(expression);
- }
- var variable = new IwbRtVariable(DefaultVariable.RunValidate).SetValue(flag.ToString());
- if (runner.Variables.ContainsKey(DefaultVariable.RunValidate))
- {
- runner.Variables[DefaultVariable.RunValidate] = variable;
- }
- else
- {
- runner.Variables.Add(DefaultVariable.RunValidate, variable);
- }
- this.LogDebug($"============[执行事务完成]====>[检验条件]======>{flag}");
- return flag;
- }
- }
- }
|