Ваша следующая задача— настройка условий IfElse. Вы можете создать два типа условий: кодовые условия и условия декларативных правил. Первые позволяют вам написать код условия в вашем рабочем процессе. Последние используют для управления условиями движок правил. Для нашего примера вы настроите условия декларативных правил:
1. Откройте рабочий процесс в визуальном конструкторе. Сначала вы настроите ветки ifUserManager. Выделите ветку ifManager и просмотрите ее свойства. Выделите свойство Condition. Настройте его на условие декларативных правил. Это даст вам два дополнительных свойства под свойством Condition: ConditionName и Expression.
2. Нажмите в ConditionName кнопку с многоточием для запуска диалога Select Condition. Здесь щелкните по кнопке New в панели управления для создания нового условия. При этом вы получите диалог редактора правил Rule Condition Editor (рис. 20.12).
3. Настройте в условии булево выражение, которое определяет содержимое локального свойства IsUserManager (для того чтобы определить, равняется ли оно true). Обратите
внимание, что в этом окне работает технология IntelliSense. Нажмите кнопку ОК и выберите Rename для того чтобы дать условию название isManager. Нажмите кнопку ОК еще раз (для того, чтобы закрыть диалог Select Condition). Теперь вы настроили ветку ifManager для IfElse-действия в ifUserManager.
4. Повторите этот процесс для ветки elseNotManager. Вычислите свойство IsUserManager (равно ли оно false?). Назовите это правило NotManager. Этот шаг необязателен, поскольку условие else будет выполнено автоматически (если другое условие окажется false).
5. Повторите этот процесс для ветки if Over в ifOverThreshold. Настройте условие для этой ветки на вычисление выражения this .TravelCost >= 1500 и назовите его OverThreshold. Нет необходимости явно настраивать ветку else, поскольку она будет выполнена в том случае, когда условие другой ветки будет false.
6. Повторите процедуру для ветки if Approved в checkApproval. Настройте условие для этой ветки на вычисление выражения this . isApproved = true и назовите его isApproved. И опять нет необходимости явно настраивать ветку else.
Все действия IfElse настроены. Теперь на этих действиях и их ветвях не должно быть значков ошибок.