Ejemplo n.º 1
0
        static void TestRules(RuleBase ruleBase, CustomerRecord workingObj)
        {
            if (workingMemory == null)
            {
                workingMemory = ruleBase.NewWorkingMemory();
            }


            if (_currentCust == null)
            {
                _currentCust = workingMemory.assertObject(workingObj);
            }
            else
            {
                workingMemory.modifyObject(_currentCust, workingObj);
            }
            workingMemory.fireAllRules();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            PackageBuilder builder = new PackageBuilder();
            //use Assembly.GetExecutingAssembly().GetManifestResourceNames() to get full name of Drools rule file
            Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Drools.Net.Rules.SimpleRules.drl");

            builder.AddPackageFromDrl("Drools.Net.Rules.SimpleRules.drl", stream);
            Package  pkg      = builder.GetPackage();
            RuleBase ruleBase = RuleBaseFactory.NewRuleBase();

            ruleBase.AddPackage(pkg);

            CustomerRecord workingObj = new CustomerRecord()
            {
                Value = 51
            };

            TestRules(ruleBase, workingObj);

            //Old customer
            workingObj = new CustomerRecord()
            {
                Value = 10,
                DaysSinceLastOrder = 100,
                Status             = "Active"
            };
            TestRules(ruleBase, workingObj);

            //Welcome BACK Discount
            workingObj = new CustomerRecord()
            {
                Value  = 70,
                Status = "Re-Active"
            };
            TestRules(ruleBase, workingObj);

            Console.ReadLine();
        }
Ejemplo n.º 3
0
 static void modify(CustomerRecord customer)
 {
     Console.WriteLine("Modify fired for : {0}", customer.Value);
 }