private Expression GetAssignExpression(Type propertyType, FilterOperator filterOperator, Expression left, ConstantExpression right) { var effectiveType = propertyType.GetEffectiveType(); if (effectiveType == typeof(string)) { return(StringExpressionFactory.Create(filterOperator, left, right, propertyType)); } if (effectiveType.IsNumericType()) { return(NumericExpressionFactory.Create(filterOperator, left, right, propertyType)); } if (effectiveType == typeof(bool)) { return(BooleanExpressionFactory.Create(filterOperator, left, right, propertyType)); } if (effectiveType == typeof(DateTime)) { return(DateTimeExpressionFactory.Create(filterOperator, left, right, propertyType)); } if (effectiveType.IsEnum()) { return(EnumExpressionFactory.Create(filterOperator, left, right, propertyType)); } return(null); }
public void Setup() { _factory = new EnumExpressionFactory(); }