using System.Collections.Generic; namespace Vit.Linq.QueryBuilder { /// /// This interface is used to define a hierarchical filter for a given collection. /// public interface IFilterRule { /// /// condition - acceptable values are "and" and "or". /// string condition { get; } /// /// could be nested, example: b1.name /// string field { get; } /// /// Supported value : /// /// "IsNull", "IsNotNull" , /// "=", "!=", ">", "<" , ">=", "<=", /// "In" , "NotIn" , /// "Contains", "NotContains", "StartsWith", "EndsWith" , "IsNullOrEmpty", "IsNotNullOrEmpty" /// /// //TODO [array] "is empty", "is not empty" /// string @operator { get; } /// /// nested filter rules /// IEnumerable rules { get; } /// /// value of the filter. Supported value types are "integer", "double", "string", "date", "datetime", and "boolean". /// object value { get; } } }