private void OnRuleFiredEvent(object sender, AgendaEventArgs e) { Trace.WriteLine($"Rule fired {e.Rule.Name}"); var fact = (DecisionRuleRequest)e.Facts.First().Value; var ruleProperties = e.Rule.Properties; var decisionRuleResponse = JsonConvert.DeserializeObject <DecisionRuleResponse> (ruleProperties["ResponseJson"] as string); decisionRuleResponse.ReviewId = fact.ReviewId; decisionRuleResponse.RuleId = (int)ruleProperties["RuleId"]; _decisionRuleResponses.Add(decisionRuleResponse); Trace.WriteLine($"Rule fired {e.Rule.Name} complete"); }
public void Fire_RuleFires_RaisesRuleFiredEvent() { //Arrange var factory = CreateTarget(); var session = factory.CreateSession(); var fact = new FactType { TestProperty = "Valid Value" }; session.Insert(fact); object factorySender = null; AgendaEventArgs factoryArgs = null; object sessionSender = null; AgendaEventArgs sessionArgs = null; factory.Events.RuleFiredEvent += (sender, args) => { factorySender = sender; factoryArgs = args; }; session.Events.RuleFiredEvent += (sender, args) => { sessionSender = sender; sessionArgs = args; }; //Act session.Fire(); //Assert Assert.Same(session, factorySender); Assert.Same(session, sessionSender); Assert.Same(fact, factoryArgs.Facts.Single().Value); Assert.Same(fact, sessionArgs.Facts.Single().Value); Assert.Contains("TestRule", factoryArgs.Rule.Name); Assert.Contains("TestRule", sessionArgs.Rule.Name); }
public void Retract_RuleDeactivated_RaisesActivationDeletedEvent() { //Arrange var factory = CreateTarget(); var session = factory.CreateSession(); var fact = new FactType { TestProperty = "Valid Value" }; session.Insert(fact); object factorySender = null; AgendaEventArgs factoryArgs = null; object sessionSender = null; AgendaEventArgs sessionArgs = null; factory.Events.ActivationDeletedEvent += (sender, args) => { factorySender = sender; factoryArgs = args; }; session.Events.ActivationDeletedEvent += (sender, args) => { sessionSender = sender; sessionArgs = args; }; //Act session.Retract(fact); //Assert Assert.AreSame(session, factorySender); Assert.AreSame(session, sessionSender); Assert.AreSame(fact, factoryArgs.Facts.Single().Value); Assert.AreSame(fact, sessionArgs.Facts.Single().Value); Assert.That(factoryArgs.Rule.Name.Contains("TestRule")); Assert.That(sessionArgs.Rule.Name.Contains("TestRule")); }
void OnRuleFiredEventHandler(object sender, AgendaEventArgs e) { foreach (IFactMatch fact in e.Facts) { Console.WriteLine(e.Rule.Name); Console.WriteLine(fact.Value.GetType()); foreach (var field in (IEnumerable <PrimitiveField>)fact.Value) { Console.WriteLine(field.ToJsonString()); if (field == null) { Console.WriteLine($"Field 'null'"); Console.WriteLine($"\tRule '{e.Rule.Name}' executed => '{e.Rule.Description}'"); continue; } Console.WriteLine($"Field '{field.Id}'"); Console.WriteLine($"\tRule '{e.Rule.Name}' executed => '{e.Rule.Description}'"); } } }
private static void EventProviderOnRuleFiringEvent(object sender, AgendaEventArgs e) { Console.WriteLine("Fire({0}): {1}", e.Rule.Name, string.Join(",", e.Facts.Select(f => f.Value).ToArray())); }
private static void OnRuleFiringEvent(object sender, AgendaEventArgs e) { Console.WriteLine("Rule about to fire {0}", e.Rule.Name); }
private static void EventProviderOnActivationCreatedEvent(object sender, AgendaEventArgs e) { Console.WriteLine("+A({0}): {1}", e.Rule.Name, string.Join(",", e.Facts.Select(f => f.Value).ToArray())); }
private void OnRuleFired(object sender, AgendaEventArgs args) { Log.InfoFormat("Rule fired. Rule={0}", args.Rule.Name); }
public static void OnRuleFireEvent(object sender, AgendaEventArgs e) { BagTMLog.LogDebug( String.Format("BagTM Engine Processing Rules Fired {0}", e.Rule.Name), sender); }
public static void OnActivationDeletedEvent(object sender, AgendaEventArgs e) { BagTMLog.LogDebug( String.Format("BagTM Engine Processing Rules Events Fact about to Delete {0}", e.Rule.Name), sender); }
public void ActivationCreated(Activation activation) { var handler = ActivationCreatedEvent; if (handler != null) { var @event = new AgendaEventArgs(activation.Rule, activation.Tuple); handler(this, @event); } }
public void RuleFiring(Activation activation) { var handler = RuleFiringEvent; if (handler != null) { var @event = new AgendaEventArgs(activation.Rule, activation.Tuple); handler(this, @event); } }