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
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);
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.
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).