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.
 
Updated 5 months ago
