Example #1
0
 private void AddToAggregate(AggregationContext context, IFactAggregator aggregator, Aggregation aggregation, Tuple tuple, IList <Fact> facts)
 {
     try
     {
         aggregator.Add(context, aggregation, tuple, facts);
     }
     catch (ExpressionEvaluationException e)
     {
         if (!e.IsHandled)
         {
             throw new RuleLhsExpressionEvaluationException("Failed to evaluate aggregate expression",
                                                            e.Expression.ToString(), e.InnerException);
         }
         ResetAggregator(aggregation, tuple, aggregator);
     }
 }
Example #2
0
 private void AddToAggregate(IExecutionContext context, IFactAggregator aggregator, Aggregation aggregation, Tuple tuple, IList <Fact> facts)
 {
     try
     {
         aggregator.Add(aggregation, tuple, facts);
     }
     catch (AggregateExpressionException e)
     {
         bool isHandled = false;
         context.EventAggregator.RaiseAggregateFailed(context.Session, e.InnerException, e.Expression, e.Tuple, e.Fact, ref isHandled);
         if (!isHandled)
         {
             throw new RuleExpressionEvaluationException("Failed to evaluate aggregate expression", e.Expression.ToString(), e.InnerException);
         }
         ResetAggregator(aggregation, tuple, aggregator);
     }
 }