Class BooleanItem
- Namespace
- YndigoBlue.Velocity.Model
- Assembly
- YndigoBlue.Velocity.dll
Represents a boolean operator (AND/OR) used to connect criteria in WHERE and HAVING clauses.
public class BooleanItem : IFilterItem
- Inheritance
-
BooleanItem
- Implements
Remarks
BooleanItem is used within Filter objects to create logical connections between Criterion<T> objects. The two supported boolean types are:
- ANDBoth conditions must be true
- OREither condition can be true
When building filters, boolean items are added between criteria to specify how they combine. Without explicit boolean operators, the default behavior is AND.
Examples
Simple AND condition:
// WHERE age > 18 AND status = 'active'
Filter filter = new Filter();
filter.Add(new Criterion<int>(usersTable["age"], ConditionalType.GreaterThan, 18));
filter.Add(new BooleanItem(BooleanType.And));
filter.Add(new Criterion<string>(usersTable["status"], "active"));
query.SetWhereFilter(filter);
OR condition:
// WHERE role = 'admin' OR role = 'moderator'
Filter filter = new Filter();
filter.Add(new Criterion<string>(usersTable["role"], "admin"));
filter.Add(new BooleanItem(BooleanType.Or));
filter.Add(new Criterion<string>(usersTable["role"], "moderator"));
query.SetWhereFilter(filter);
Complex nested logic:
// WHERE (status = 'active' AND age > 18) OR (role = 'admin')
Filter ageFilter = new Filter();
ageFilter.Add(new Criterion<string>(usersTable["status"], "active"));
ageFilter.Add(new BooleanItem(BooleanType.And));
ageFilter.Add(new Criterion<int>(usersTable["age"], ConditionalType.GreaterThan, 18));
Filter mainFilter = new Filter();
mainFilter.Add(ageFilter);
mainFilter.Add(new BooleanItem(BooleanType.Or));
mainFilter.Add(new Criterion<string>(usersTable["role"], "admin"));
query.SetWhereFilter(mainFilter);
Constructors
- BooleanItem(BooleanType)
Creates a new boolean operator for connecting filter criteria.
Properties
- BooleanType
Gets or sets the type of boolean operator (AND or OR).
- FilterItemType
Gets the filter item type (always FilterItemType.Boolean).