private string createFunction( StringExpressionFunction function, string value) { StringBuilder filter = new StringBuilder(); paramseters.Add(value); filter.Append(filterData.ValuePropertyBindingPath); if (filterData.ValuePropertyType.IsGenericType && filterData.ValuePropertyType.GetGenericTypeDefinition() == typeof(Nullable <>)) { filter.Append(".Value"); } paramCounter.Increment(); paramCounter.Increment(); filter.Append(".ToString()." + function.ToString() + "(@" + (paramCounter.ParameterNumber - 1) + ", @" + (paramCounter.ParameterNumber) + ")"); if (function == StringExpressionFunction.IndexOf) { filter.Append(" != -1 "); } paramseters.Add(filterData.IsCaseSensitiveSearch ? StringComparison.CurrentCulture : StringComparison.CurrentCultureIgnoreCase); return(filter.ToString()); }
private void createFilterExpression( FilterData filterData, string queryString, StringBuilder filter, string operatorString) { filter.Append(filterData.ValuePropertyBindingPath); object parameterValue = null; if (trySetParameterValue(out parameterValue, queryString, filterData.ValuePropertyType)) { Parameters.Add(parameterValue); paramCounter.Increment(); filter.Append(" " + operatorString + " @" + paramCounter.ParameterNumber); } else { filter = new StringBuilder();//do not use filter } }