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.

OperatorFunctionNotes
  • | 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

OperatorFunctionNotes
INIs variable IN set.Example: Associate.StatusID IN (1, 2)
NOT IN | NOTINIs 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().

&lt;ProviderName&gt;.&lt;FieldName&gt;

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.1
  • Associate.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.