private object Evaluate(FilterContext context, IFilterTarget target, int index)
{
// get the element to evaluate.
ContentFilterElement element = Elements[index];
switch (element.FilterOperator)
{
case FilterOperator.And:
{
return And(context, target, element);
}
case FilterOperator.Or:
{
return Or(context, target, element);
}
case FilterOperator.Not:
{
return Not(context, target, element);
}
case FilterOperator.Equals:
{
return Equals(context, target, element);
}
case FilterOperator.GreaterThan:
{
return GreaterThan(context, target, element);
}
case FilterOperator.GreaterThanOrEqual:
{
return GreaterThanOrEqual(context, target, element);
}
case FilterOperator.LessThan:
{
return LessThan(context, target, element);
}
case FilterOperator.LessThanOrEqual:
{
return LessThanOrEqual(context, target, element);
}
case FilterOperator.Between:
{
return Between(context, target, element);
}
case FilterOperator.InList:
{
return InList(context, target, element);
}
case FilterOperator.Like:
{
return Like(context, target, element);
}
case FilterOperator.IsNull:
{
return IsNull(context, target, element);
}
case FilterOperator.Cast:
{
return Cast(context, target, element);
}
case FilterOperator.OfType:
{
return OfType(context, target, element);
}
case FilterOperator.InView:
{
return InView(context, target, element);
}
case FilterOperator.RelatedTo:
{
return RelatedTo(context, target, element);
}
}
throw new ServiceResultException(StatusCodes.BadUnexpectedError, "FilterOperator is not recognized.");
}