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);
        }