void IRuleBuilder <T> .Validate(IValidatorRule <T> validator) { this.evaluatorx = validator; string name = validator.GetType().Name; this.rule = new LogicDefine.Rule() { Id = name, TrueCondition = true }; }
IRuleConditionBuilder IRuleBuilder <T> .Eval(IEvaluatorRule <T> evaluator) { this.evaluatorx = evaluator; string name = evaluator.GetType().Name; this.rule = new LogicDefine.Rule() { Id = name, TrueCondition = true }; return(this); }
public void ValidateInLine(string validatorName, string description, Action <ContextBuilder> context, Func <IEngineScope <T>, IEngineTrace, IRuleResult, CancellationToken, Task> validator) { ContextBuilder builder = new ContextBuilder(); Context ctx = default; if (context != null) { context.Invoke(builder); builderRef.workflowManager.AddContextDefinition(builder.builder.definition); ctx = builder.context; } this.evaluatorx = new DynamicValidator <T>(new LogicDefine.Evaluator() { Id = validatorName, Description = description ?? "Dynamic" }, validator); this.rule = new LogicDefine.Rule() { Id = validatorName, TrueCondition = true, Context = ctx }; }
IRuleConditionBuilder IRuleBuilder <T> .EvalInLine(string evaluatorName, string description, Action <ContextBuilder> context, Func <IEngineScope <T>, IEngineTrace, CancellationToken, Task <bool> > evaluatorToEval) { ContextBuilder builder = new ContextBuilder(); Context ctx = default; if (context != null) { context.Invoke(builder); builderRef.workflowManager.AddContextDefinition(builder.builder.definition); ctx = builder.context; } this.evaluatorx = new DynamicEvaluator <T>(new LogicDefine.Evaluator() { Id = evaluatorName, Description = description ?? "Dynamic" }, evaluatorToEval); this.rule = new LogicDefine.Rule() { Id = evaluatorName, TrueCondition = true, Context = ctx }; return(this); }