public PredicateBuilderConfiguration WithNullTextValues(PredicateDataType dataType, IEnumerable <string> values, bool caseSensitive = false) { NullValuesCaseSenstive = caseSensitive; NullTextValues = values == null? Enumerable.Empty <string>() : values.Select(x => caseSensitive ? x : x.ToLower()).ToList(); return(this); }
public PredicateBuilderConfiguration WithEmptyValues(PredicateDataType dataType, params object[] values) { if (dataType == PredicateDataType.Collection || dataType == PredicateDataType.Unsupported) { throw new InvalidOperationException($"Cannot set empty values for {dataType} types"); } values = (values ?? Enumerable.Empty <object>()) .Select(x => dataType == PredicateDataType.String ? x?.ToString() : x) .ToArray(); if (emptyValues.ContainsKey(dataType)) { emptyValues[dataType] = values; } else { emptyValues.Add(dataType, values); } return(this); }
public IEnumerable <object> GetEmptyValues(PredicateDataType dataType) { return(emptyValues.TryGetValue(dataType, out var values) ? values : Enumerable.Empty <object>()); }
public PredicateBuilderConfiguration WithEmptyValues(PredicateDataType dataType, IEnumerable <object> values) { return(WithEmptyValues(dataType, values?.ToArray())); }