Exemple #1
0
        internal Ruleset(RuleEngineContext.RuleEngineContext context, IEnumerable <IPropertyRule <TEntity> > rules, EntryCriteriaRule <TEntity> entryPoint,
                         RuleExecutionRuleEnum ruleExecutionRule, string name, string description)
        {
            this._context           = context;
            this._entryPoint        = entryPoint;
            this._ruleExecutionRule = ruleExecutionRule;
            Name        = name;
            Description = description;

            _rules.AddRange(rules);
        }
Exemple #2
0
        internal static IRuleExecutor CreateRuleExecutor(RuleExecutionRuleEnum ruleExecutionRule)
        {
            switch (ruleExecutionRule)
            {
            case RuleExecutionRuleEnum.FirstMatch:
                return(new FirstRuleExecutor());

            case RuleExecutionRuleEnum.LastMatch:
                return(new LastRuleExecutor());

            default:
                throw new ArgumentOutOfRangeException(nameof(ruleExecutionRule), ruleExecutionRule, null);
            }
        }
Exemple #3
0
 internal GroupRuleSet(IEnumerable <IRuleSet <TEntity> > ruleSets, EntryCriteriaRule <TEntity> entryPoint,
                       RuleExecutionRuleEnum ruleExecutionRule,
                       IEnumerable <AggregatePropertyMetadata> aggregateProps,
                       string filterExpression,
                       string groupExpression,
                       string name, string description)
 {
     this.entryPoint        = entryPoint;
     this.ruleExecutionRule = ruleExecutionRule;
     Name             = name;
     Description      = description;
     GroupExpression  = groupExpression;
     _aggregateProps  = aggregateProps;
     _ruleSets        = ruleSets;
     _executedRuleSet = new List <IRuleSet <TEntity> >();
 }
 public GroupChildRuleSetBuilder <TEntity, TKey> WithJobExecutionRule(RuleExecutionRuleEnum rulesExecutionRule)
 {
     _ruleSetBuilder.WithJobExecutionRule(rulesExecutionRule);
     return(this);
 }
Exemple #5
0
 public RulesetBuilder <TEntity> WithJobExecutionRule(RuleExecutionRuleEnum rulesExecutionRule)
 {
     this._rulesExecutionRule = rulesExecutionRule;
     return(this);
 }