Table of Contents

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