public object Execute(Expression expression, bool isEnumerable)
{
var whereVisitor = new WhereVisitor();
var methodCallExpression = whereVisitor.FindWhere(expression);
LambdaExpression lambdaExpression =
(LambdaExpression)
((UnaryExpression) methodCallExpression.Arguments[1]).Operand;
var idFinder = new IdExpressionVisitor();
if(idFinder.FindIdExpression(lambdaExpression))
{
string id = IdFromExpression(idFinder.Expressions.First());
Status status = _linqApi.GetStatus(id);
if (isEnumerable)
{
return new[] {status};
}
return status;
}
return null;
}