Domain-Specific Language (DSL)
This section provides information for using the IfThengine V1 Domain Specific Language (DSL).
Operators
📘Note: The AND, OR, and IS operators are not case-sensitive.
| Operator | Function | Notes |
|---|
- | Addition |
- | Subtraction |
- | Multiplication |
/ | Division |
== | Equality | Same as IS
< | Less than |
<= | Less than or equals to |
| Greater than |
>= | Greater than or equal to |
!= | Not equal to |
&& | Logical AND | Same as AND
|| | Logical OR | Same as OR
AND | Logical AND | Same as &&
OR | Logical OR | Same as ||
IS | Equality comparison | Same as ==
Set Operations
| Operator | Function | Notes |
|---|---|---|
| IN | Is variable IN set. | Example: Associate.StatusID IN (1, 2) |
| NOT IN | NOTIN | Is variable NOT IN set. | Example: Associate.StatusID NOT IN (1, 2) |
Grouping
You can group expressions logically.
"Associate.FirstName == 'MyName' || (AssociateStats.PV >= 100 && AssociateStats.QV > 0)"Variables
❗️Variables are case sensitive.
Variables in a condition should be the exact value of DataPointID.ToString().
<ProviderName>.<FieldName>
For example, AssociateStats.CV
Literals
- Enclose Strings with single quotes.
- Integers and floats are allowed.
- True and False boolean literals are pre-defined.
For example,
Associate.StatusID == 1 || AssociateStats.QV > 9.1Associate.DisplayFirstName IS 'Sam'
DateTime
.Net methods are allowed for DateTime variables. Any method you can call on a DateTime object can be called in the IfThengine V1's DSL.
For example, Associate.SignupDate.AddDays(7) == System.Now
Miscellaneous Information
- Whitespace is ignored.
- Null is predefined.
