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.Equal((Order x) => x.Name, "JOE"), Conditions.GreaterThan((Order x) => x.Amount, 10000.0m), Conditions.Equal((Order x) => x.Purchaser.AccountNumber, "DIRT"), }; var consequence = new DelegateConsequence<Order>((Session session, Order x) => { _result = x; }); var consequence1 = new DelegateConsequence<Order>((Session session, Order x) => { _resultB = x; }); var consequences = new RuleConsequence[] { consequence, consequence1, }; _rule = new OdoyuleRule("RuleA", conditions, consequences); _rule2 = new OdoyuleRule("RuleB", conditions, consequences); }