public void ApplySelectPropertyFilter(QuerySelectProperty property, string filterText) { var filter = filterText?.Trim(); if (string.IsNullOrWhiteSpace(filter)) { // find and remove previous condition } else { // add new condition var filterOperator = "="; var operators = _resolver.GetCompareOperators(); foreach (var o in operators) { if (filter.StartsWith(o)) { filterOperator = o; filter = filter.Substring(o.Count()).Trim(); break; } } ; var filterValue = filter; char quote = _resolver.GetStringLiteralSymbol(); if (filterValue.First() != '@' && (property.StoreProperty.Type == "String" || property.StoreProperty.Type == "DateTime")) { if (filterValue.First() != quote) { filterValue = quote + filterValue; } if (filterValue.Last() != quote) { filterValue = filterValue + quote; } } if (!string.IsNullOrWhiteSpace(SelectedQuery.WhereClause)) { SelectedQuery.WhereClause += " AND "; } SelectedQuery.WhereClause += $"{property.FromTable.Alias}.{property.StoreProperty.Name} {filterOperator} {filterValue}"; } }