public FactHandle <T> Add <T>(T fact)
            where T : class
        {
            ActivationContext <T> context = CreateContext(fact);

            _rulesEngine.Activate(context);

            return(_facts.Add(context));
        }
Exemple #2
0
        public FactHandle Activate(RulesEngine rulesEngine, ActivationContext baseContext, FactCache factCache,
                                   object obj)
        {
            var fact = obj as T;

            if (fact == null)
            {
                throw new ArgumentException("The argument could not be cast to " + typeof(T).Name, "obj");
            }

            ActivationContext <T> context = baseContext.CreateContext(fact);

            rulesEngine.Activate(context);

            return(factCache.Add(context));
        }