public void Define_rule() { var conditions = new RuleCondition[] { Conditions.Equal((Order x) => x.Name, "JOE"), Conditions.GreaterThan((Order x) => x.Amount, 10000.0m), }; var consequences = new RuleConsequence[] { Consequences.Delegate<Order>((session,x) => { _result = x; }), Consequences.Delegate<Order>((session,x) => { _resultB = x; }), }; _rule = new OdoyuleRule("RuleA", conditions, consequences); _rule2 = new OdoyuleRule("RuleB", conditions, consequences); conditions = new RuleCondition[] { Conditions.Equal((Account a) => a.Name, "JOE"), }; consequences = new RuleConsequence[] { Consequences.Delegate((Session session, Account a) => { }), }; _rule3 = new OdoyuleRule("RuleC", conditions, consequences); }
public void Define_rule() { var conditions = new RuleCondition[] { Conditions.Equal((Order x) => x.Name, "JOE"), Conditions.GreaterThan((Order x) => x.Amount, 10000.0m), }; var consequence = new DelegateConsequence <Order>((session, x) => { _result = x; }); var consequence1 = new DelegateConsequence <Order>((session, x) => { _resultB = x; }); var consequences = new RuleConsequence[] { consequence, consequence1, }; _rule = new SemanticRule("RuleA", conditions, consequences); _rule2 = new SemanticRule("RuleB", conditions, consequences); conditions = new RuleCondition[] { Conditions.Equal((Account a) => a.Name, "JOE"), }; var consequence2 = new DelegateConsequence <Account>((Session session, Account a) => { }); consequences = new RuleConsequence[] { consequence2, }; _rule3 = new SemanticRule("RuleC", conditions, consequences); }
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 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)); }
public void Define_rule() { var conditions = new RuleCondition[] { Conditions.GreaterThanOrEqual((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)); }
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)); }
public void Define_rule() { var conditions = new RuleCondition[] { Conditions.Equal((Order x) => x.Name, "JOE"), Conditions.GreaterThan((Order x) => x.Amount, 10000.0m), Conditions.Equal((Order x) => x.Purchaser.AccountNumber, "DIRT"), }; var consequences = new RuleConsequence[] { Consequences.Delegate((Session session, Order x) => { _result = x; }), Consequences.Delegate((Session session, Order x) => { _resultB = x; }), }; _rule = new OdoyuleRule("RuleA", conditions, consequences); _rule2 = new OdoyuleRule("RuleB", conditions, consequences); }
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)); }
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)); }
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)); }
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)); }
public RuleConsequenceConfigurator(RuleConsequence <T> consequence) { _consequence = consequence; }
public void AddConsequence <T>(RuleConsequence <T> consequence) where T : class { _consequences.Add(consequence); }
public void AddConsequence <T>(RuleConsequence <T> consequence) { _consequences.Add(consequence); }