Exemplo n.º 1
0
        public void Define_rule()
        {
            var conditions = new RuleCondition[]
            {
                Conditions.Equal((Order x) => x.Name, "JOE"),
            };

            var consequences = new RuleConsequence[]
            {
                Consequences.Delegate <Order>((session, x) => { _result = x; }),
            };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 2
0
        public void Define_rule()
        {
            var conditions = new RuleCondition[]
                {
                    Conditions.NotNull((Order x) => x.Customer),
                };

            var consequences = new RuleConsequence[]
                {
                    Consequences.Delegate<Order>((session,x) => { _result = x; }),
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
        public void Define_rule()
        {
            var conditions = new[]
                {
                    Conditions.GreaterThanOrEqual((Order x) => x.Amount, 10000.0m),
                };

            var consequences = new[]
                {
                    Consequences.Delegate((Order o) => _result = o),
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 4
0
        public void Define_rule()
        {
            var conditions = new[]
                {
                    Conditions.NotEqual((Order x) => x.Name, "BOB"),
                };

            var consequences = new[]
                {
                    Consequences.Delegate((Order o) => _result = o),
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 5
0
        public void Define_rule()
        {
            var conditions = new RuleCondition[]
            {
                Conditions.GreaterThan((Order x) => x.Amount, 10000.0m),
            };

            var consequences = new RuleConsequence[]
            {
                Consequences.Delegate <Order>((session, x) => { _result = x; }),
            };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 6
0
        public void Define_rule()
        {
            var conditions = new RuleCondition[]
                {
                    Conditions.LessThanOrEqual((Order x) => x.Amount, 10000.0m),
                };

            var consequences = new RuleConsequence[]
                {
                    Consequences.Delegate<Order>((session,x) => { _result = x; }),
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 7
0
        public void Define_rule()
        {
            _results = new List<Order>();

            var conditions = new[]
                {
                    Conditions.Exists((Order x) => x.Lines),
                };

            var consequences = new[]
                {
                    Consequences.Delegate((Order o) => _results.Add(o)),
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 8
0
        public void Define_rule()
        {
            _results = new List<Tuple<OrderLine, int>>();

            var conditions = new[]
                {
                    Conditions.Each<Order, IList<OrderLine>, OrderLine>(x => x.Lines),
                };

            var consequences = new[]
                {
                    Consequences.Delegate((Token<Token<Order, IList<OrderLine>>, Tuple<OrderLine, int>> x) => _results.Add(x.Item2))
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 9
0
        public void Define_rule()
        {
            _results = new List<Order>();

            var conditions = new RuleCondition[]
                {
                    Conditions.Exists((Order x) => x.Lines), //,
                    //Conditions.Equal((OrderLine x) => x.ItemNumber == "123"));
                };

            var consequences = new RuleConsequence[]
                {
                    Consequences.Delegate<Order>((session,x) => _results.Add(x)),
                };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 10
0
        public void Define_rule()
        {
            _results = new List <Order>();

            var conditions = new RuleCondition[]
            {
                Conditions.Exists((Order x) => x.Lines),     //,
                //Conditions.Equal((OrderLine x) => x.ItemNumber == "123"));
            };

            var consequences = new RuleConsequence[]
            {
                Consequences.Delegate <Order>((session, x) => _results.Add(x)),
            };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }
Exemplo n.º 11
0
        public void Define_rule()
        {
            _results = new List <Tuple <OrderLine, int> >();

            var conditions = new RuleCondition[]
            {
                Conditions.Each <Order, IList <OrderLine>, OrderLine>(x => x.Lines),
            };

            var consequences = new RuleConsequence[]
            {
                Consequences.Delegate <Token <Token <Order, IList <OrderLine> >, Tuple <OrderLine, int> > >(
                    (session, x) => _results.Add(x.Item2)),
            };

            Rule rule = new OdoyuleRule("RuleA", conditions, consequences);

            _engine = RulesEngineFactory.New(x => x.Add(rule));
        }