public virtual IDmnDecisionResult GenerateDecisionResult(IDmnDecisionLogicEvaluationEvent @event) { var evaluationResult = (IDmnDecisionTableEvaluationEvent)@event; IList <IDmnDecisionResultEntries> ruleResults = new List <IDmnDecisionResultEntries>(); if (!ReferenceEquals(evaluationResult.CollectResultName, null) || (evaluationResult.CollectResultValue != null)) { var ruleResult = new DmnDecisionResultEntriesImpl(); ruleResult.PutValue(evaluationResult.CollectResultName, evaluationResult.CollectResultValue); ruleResults.Add(ruleResult); } else { foreach (var evaluatedRule in evaluationResult.MatchingRules) { var ruleResult = new DmnDecisionResultEntriesImpl(); foreach (var evaluatedOutput in evaluatedRule.OutputEntries.Values) { ruleResult.PutValue(evaluatedOutput.OutputName, evaluatedOutput.Value); } ruleResults.Add(ruleResult); } } return(new DmnDecisionResultImpl(ruleResults)); }
public virtual IDmnDecisionResult GenerateDecisionResult(IDmnDecisionLogicEvaluationEvent @event) { var evaluationEvent = (IDmnDecisionLiteralExpressionEvaluationEvent)@event; var result = new DmnDecisionResultEntriesImpl(); result.Add(evaluationEvent.OutputName, evaluationEvent.OutputValue); return(new DmnDecisionResultImpl(new List <IDmnDecisionResultEntries> { result })); }