コード例 #1
0
 private GroupChildRulesetPropertyRuleBuilder(RuleEngineContext.RuleEngineContext context, Func <TEntity, bool> rule1, string name,
                                              string description, RulesetBuilder <TEntity> ruleSetBuilder, GroupChildRuleSetBuilder <TEntity, TKey> groupChildRuleSetBuilder,
                                              IPropertyRuleExpressionParser <TEntity> propertyparser)
 {
     this._groupChildRuleSetBuilder = groupChildRuleSetBuilder;
     _propertyBuilder = ruleSetBuilder.WithRule(rule1, name, description);
 }
コード例 #2
0
 internal static GroupChildRulesetPropertyRuleBuilder <TEntity, TKey> Create
     (RuleEngineContext.RuleEngineContext context, Func <TEntity, bool> rule, string name, string description, RulesetBuilder <TEntity> ruleSetBuilder
     , GroupChildRuleSetBuilder <TEntity, TKey> groupChildRuleSetBuilder, IPropertyRuleExpressionParser <TEntity> propertyparser)
 {
     return(new GroupChildRulesetPropertyRuleBuilder <TEntity, TKey>
                (context, rule, name, description, ruleSetBuilder, groupChildRuleSetBuilder, propertyparser));
 }
コード例 #3
0
 private DefaultRuleBuilder(RuleEngineContext.RuleEngineContext contex, RulesetBuilder <TEntity> ruleSetBuilder,
                            IPropertyRuleExpressionParser <TEntity> propertyparser)
     : base(contex)
 {
     _ruleSetBuilder = ruleSetBuilder;
     _propertyparser = propertyparser;
 }
コード例 #4
0
        private GroupRuleSetBuilder(RuleEngineContext.RuleEngineContext context)
        {
            _ruleparser     = RuleExpressionParserFactory.CreateStringRuleParser <TEntity>();
            _propertyparser = RuleExpressionParserFactory.CreateStringPropertyRuleParser <TEntity>();

            _groupKeyExpressionParser = RuleExpressionParserFactory.CreateGroupKeyParser <TEntity>();
            this._context             = context;
        }
コード例 #5
0
        private RulesetBuilder(RuleEngineContext.RuleEngineContext context)
        {
            _context = context;

            _ruleparser     = RuleExpressionParserFactory.CreateStringRuleParser <TEntity>();
            _propertyparser = RuleExpressionParserFactory
                              .CreateStringPropertyRuleParser <TEntity>();
        }
コード例 #6
0
 private PropertyRuleBuilder(RuleEngineContext.RuleEngineContext context, Func <TEntity,
                                                                                bool> rulefunc,
                             IPropertyRuleExpressionParser <TEntity> propertyparser,
                             RulesetBuilder <TEntity> ruleSetBuilder,
                             string name, string description = "")
     : base(context)
 {
     this._rulefunc       = rulefunc;
     _propertyparser      = propertyparser;
     this._ruleSetBuilder = ruleSetBuilder;
     this._name           = name;
     this._description    = description;
 }
コード例 #7
0
        private GroupChildRuleSetBuilder(RuleEngineContext.RuleEngineContext context, string name, string description,
                                         IRuleExpressionParser <TEntity> ruleparser,
                                         IPropertyRuleExpressionParser <TEntity> propertyparser,
                                         GroupRuleSetBuilder <TEntity, TKey> groupRuleSetBuilder)
        {
            this._context = context;
            _ruleparser   = ruleparser;

            this._groupRuleSetBuilder = groupRuleSetBuilder;
            this._propertyparser      = propertyparser;
            _ruleSetBuilder           = RulesetBuilder <TEntity> .Create(context)
                                        .WithName(name)
                                        .WithDescription(description)
                                        .SetPropertyRuleParser(propertyparser)
                                        .SetRuleParser(ruleparser);
        }
コード例 #8
0
        internal void CompilePropertyExpression(IPropertyRuleExpressionParser <TEntity> propertyparser)
        {
            foreach (var item in _tempPrpertyHolder)
            {
                var property = new PropertyRule <TEntity> .PropertyHolder(item.propertyName, item.isAction);

                if (item.IsExpression())
                {
                    _properties
                    .Add(property, propertyparser.ParserRule(_context, item.propertyName, item.propertyexpression));
                }
                else
                {
                    _properties
                    .Add(property, item.propertyFunction);
                }
            }
        }
コード例 #9
0
 internal static PropertyRuleBuilder <TEntity> Create(RuleEngineContext.RuleEngineContext context, string rule,
                                                      IRuleExpressionParser <TEntity> ruleparser, IPropertyRuleExpressionParser <TEntity> propertyparser,
                                                      RulesetBuilder <TEntity> ruleSetBuilder,
                                                      string name,
                                                      string description = "")
 {
     return(new PropertyRuleBuilder <TEntity>(context, rule, ruleparser, propertyparser, ruleSetBuilder, name, description));
 }
コード例 #10
0
 internal static DefaultRuleBuilder <TEntity> Create(RuleEngineContext.RuleEngineContext contex,
                                                     RulesetBuilder <TEntity> ruleSetBuilder, IPropertyRuleExpressionParser <TEntity> propertyparser)
 {
     return(new DefaultRuleBuilder <TEntity>(contex, ruleSetBuilder, propertyparser));
 }
コード例 #11
0
 internal RulesetBuilder <TEntity> SetPropertyRuleParser(IPropertyRuleExpressionParser <TEntity> propertyparser)
 {
     _propertyparser = propertyparser;
     return(this);
 }
コード例 #12
0
 internal static GroupChildRulesetDefaultRuleBuilder <TEntity, TKey> Create(RuleEngineContext.RuleEngineContext context, RulesetBuilder <TEntity> ruleSetBuilder,
                                                                            GroupRuleSetBuilder <TEntity, TKey> groupRuleSetBuilder, IPropertyRuleExpressionParser <TEntity> propertyparser)
 {
     return(new GroupChildRulesetDefaultRuleBuilder <TEntity, TKey>(context, ruleSetBuilder, groupRuleSetBuilder, propertyparser));
 }
コード例 #13
0
        private GroupChildRulesetDefaultRuleBuilder(RuleEngineContext.RuleEngineContext context, RulesetBuilder <TEntity> ruleSetBuilder,
                                                    GroupRuleSetBuilder <TEntity, TKey> groupRuleSetBuilder, IPropertyRuleExpressionParser <TEntity> propertyparser)
        {
            this._ruleSetBuilder      = ruleSetBuilder;
            this._groupRuleSetBuilder = groupRuleSetBuilder;

            _defaultProp = ruleSetBuilder.WithDefaultRule();
        }