private IEnumerable<ConditionEvaluation> EvaluateItemConditions(IHaveFilterConditions currentItem, IDictionary<string, string> runtimeContext, IEnumerable<IHaveFilterConditions> items) { foreach (KeyValuePair<string, string> runtimeContextItem in runtimeContext) { foreach (var condition in currentItem.FilterConditions) { var evalContext = new ConditionEvaluationContext(runtimeContextItem, runtimeContext, items); var relationToContext = EvaluateCondition(evalContext, condition); yield return new ConditionEvaluation(relationToContext, evalContext, condition); } } }
public ItemEvaluation(IHaveFilterConditions item, ConditionEvaluation[] conditionsEval) { Item = item; ConditionsEvaluation = conditionsEval; }