Как сравнивать значения параметров
Для сравнения значений параметров используем операторы = (значения равны) и != (значения не равны).
Как сравнивать параметры в зависимости от типа данных
Число
Дополнительные уточнения не нужны, просто сравниваем:
@{if item.Product.Price = item.Product.OldPrice}
...
@{end if}
Строка
При сравнении двух параметров-строк, ко второму надо добавить "" через конкатенацию:
@{if Recipient.FirstName = Recipient.FullName & ""}
...
@{end if}
Шаблонизатор регистронезависимый. То есть "Вася" = "вася" = "вАсЯ"
Дата и время
Чтобы сравнить даты на полное соответствие, можно отформатировать параметры с помощью функции - тогда дата станет строкой, а сравнивать строки можно.
Например, у клиента есть дополнительное поле типа дата. И мы хотим проверить, что отправка рассылки происходит в этот день.
Нужные параметры: Recipient.CustomField.ArrivalData и Message.SendingDateTime.
Используем функцию FormatDateTime, чтобы сделать их строками и прибавим второму параметру & "" согласно правилу сравнения строк:
@{if FormatDateTime(Recipient.CustomField.ArrivalData, "m") = FormatDateTime(Message.SendingDateTime, "m") & ""}
...
@{end if}
Также даты можно привести к формату Unix Time Stamp — в таком виде к ним можно будет применять арифметические операции: определять меньшее значение (более раннюю дату) и считать разницу (количество дней или часов между датами).
Логическое
Если такой параметр не null, у него могут быть значения true или false.
- является ли значение true:
@{if Recipient.Sex.Ismale}
...
@{end if}
- является ли значение false:
@{if not Recipient.Sex.Ismale}
...
@{end if}