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
==EqualitySame as IS
<Less than
<=Less than or equals to
>Greater than
>=Greater than or equal to
!=Not equal to
&&Logical ANDSame as AND
||Logical ORSame as OR
ANDLogical ANDSame as &&
ORLogical ORSame as
ISEquality comparisonSame 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().

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