Exemple #1
0
        public async override ValueTask <bool> EvaluateAsync(AnyConditionGroup condition)
        {
            foreach (var childCondition in condition.Conditions)
            {
                var evaluator = _conditionResolver.GetConditionEvaluator(childCondition);
                if (await evaluator.EvaluateAsync(childCondition))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #2
0
        public async override ValueTask <bool> EvaluateAsync(AllConditionGroup condition)
        {
            foreach (var childCondition in condition.Conditions)
            {
                var evaluator = _conditionResolver.GetConditionEvaluator(childCondition);
                if (!await evaluator.EvaluateAsync(childCondition))
                {
                    return(false);
                }
            }

            if (condition.Conditions.Any())
            {
                return(true);
            }

            // This rule requires all conditions to be evaluated as true.
            return(false);
        }