Exemplo n.º 1
0
        void IRuleBuilder <T> .Validate(IValidatorRule <T> validator)
        {
            this.evaluatorx = validator;
            string name = validator.GetType().Name;

            this.rule = new LogicDefine.Rule()
            {
                Id = name, TrueCondition = true
            };
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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
            };
        }
Exemplo n.º 4
0
        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);
        }