protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { if (executionContext == null) { throw new ArgumentNullException("executionContext"); } bool noneTrue = true; for (int i = 0; i < this.EnabledActivities.Count; ++i) { IfElseBranchActivity branch = this.EnabledActivities[i] as IfElseBranchActivity; // Else case dont have enable condition so find them and enable it if (branch.Condition == null || branch.Condition.Evaluate(branch, executionContext)) { noneTrue = false; branch.RegisterForStatusChange(Activity.ClosedEvent, this); executionContext.ExecuteActivity(branch); break; } } return(noneTrue ? ActivityExecutionStatus.Closed : ActivityExecutionStatus.Executing); }
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { if (executionContext == null) { throw new ArgumentNullException("executionContext"); } bool flag = true; for (int i = 0; i < base.EnabledActivities.Count; i++) { IfElseBranchActivity activity = base.EnabledActivities[i] as IfElseBranchActivity; if ((activity.Condition == null) || activity.Condition.Evaluate(activity, executionContext)) { flag = false; activity.RegisterForStatusChange(Activity.ClosedEvent, this); executionContext.ExecuteActivity(activity); break; } } if (!flag) { return(ActivityExecutionStatus.Executing); } return(ActivityExecutionStatus.Closed); }