Beispiel #1
0
        private static bool TryScheduleNextChild(CompositeActivity activity, ActivityExecutionContext executionContext)
        {
            IList <Activity> children = activity.EnabledActivities;

            // Find index of next activity to run.
            int indexOfNextActivity = 0;

            for (int i = (children.Count - 1); i >= 0; i--)
            {
                if (children[i].ExecutionStatus == ActivityExecutionStatus.Closed)
                {
                    // Check whether this is last child?
                    if (i == (children.Count - 1))
                    {
                        return(false);
                    }

                    indexOfNextActivity = i + 1;
                    break;
                }
            }

            children[indexOfNextActivity].RegisterForStatusChange(Activity.ClosedEvent, (IActivityEventListener <ActivityExecutionStatusChangedEventArgs>)activity);
            executionContext.ExecuteActivity(children[indexOfNextActivity]);
            activity.SetValue(ActiveChildQualifiedNameProperty, children[indexOfNextActivity].QualifiedName);
            return(true);
        }
 public static void OnActivityChangeRemove(CompositeActivity activity, ActivityExecutionContext executionContext, Activity removedActivity)
 {
     string str = activity.GetValue(ActiveChildQualifiedNameProperty) as string;
     if (removedActivity.QualifiedName.Equals(str))
     {
         activity.SetValue(ActiveChildRemovedProperty, true);
     }
 }
Beispiel #3
0
        public static void OnActivityChangeRemove(CompositeActivity activity, ActivityExecutionContext executionContext, Activity removedActivity)
        {
            String activeChildQualifiedName = activity.GetValue(ActiveChildQualifiedNameProperty) as String;

            if (removedActivity.QualifiedName.Equals(activeChildQualifiedName))
            {
                activity.SetValue(ActiveChildRemovedProperty, true);
            }
        }
 public static ActivityExecutionStatus Execute(CompositeActivity activity, ActivityExecutionContext executionContext)
 {
     if (activity.EnabledActivities.Count == 0)
     {
         return ActivityExecutionStatus.Closed;
     }
     activity.EnabledActivities[0].RegisterForStatusChange(Activity.ClosedEvent, (IActivityEventListener<ActivityExecutionStatusChangedEventArgs>) activity);
     executionContext.ExecuteActivity(activity.EnabledActivities[0]);
     activity.SetValue(ActiveChildQualifiedNameProperty, activity.EnabledActivities[0].QualifiedName);
     return ActivityExecutionStatus.Executing;
 }
 public static ActivityExecutionStatus Execute(CompositeActivity activity, ActivityExecutionContext executionContext)
 {
     if (activity.EnabledActivities.Count == 0)
     {
         return(ActivityExecutionStatus.Closed);
     }
     activity.EnabledActivities[0].RegisterForStatusChange(Activity.ClosedEvent, (IActivityEventListener <ActivityExecutionStatusChangedEventArgs>)activity);
     executionContext.ExecuteActivity(activity.EnabledActivities[0]);
     activity.SetValue(ActiveChildQualifiedNameProperty, activity.EnabledActivities[0].QualifiedName);
     return(ActivityExecutionStatus.Executing);
 }
        private static bool TryScheduleNextChild(CompositeActivity activity, ActivityExecutionContext executionContext)
        {
            IList <Activity> enabledActivities = activity.EnabledActivities;
            int num = 0;

            for (int i = enabledActivities.Count - 1; i >= 0; i--)
            {
                if (enabledActivities[i].ExecutionStatus == ActivityExecutionStatus.Closed)
                {
                    if (i == (enabledActivities.Count - 1))
                    {
                        return(false);
                    }
                    num = i + 1;
                    break;
                }
            }
            enabledActivities[num].RegisterForStatusChange(Activity.ClosedEvent, (IActivityEventListener <ActivityExecutionStatusChangedEventArgs>)activity);
            executionContext.ExecuteActivity(enabledActivities[num]);
            activity.SetValue(ActiveChildQualifiedNameProperty, enabledActivities[num].QualifiedName);
            return(true);
        }
 private static bool TryScheduleNextChild(CompositeActivity activity, ActivityExecutionContext executionContext)
 {
     IList<Activity> enabledActivities = activity.EnabledActivities;
     int num = 0;
     for (int i = enabledActivities.Count - 1; i >= 0; i--)
     {
         if (enabledActivities[i].ExecutionStatus == ActivityExecutionStatus.Closed)
         {
             if (i == (enabledActivities.Count - 1))
             {
                 return false;
             }
             num = i + 1;
             break;
         }
     }
     enabledActivities[num].RegisterForStatusChange(Activity.ClosedEvent, (IActivityEventListener<ActivityExecutionStatusChangedEventArgs>) activity);
     executionContext.ExecuteActivity(enabledActivities[num]);
     activity.SetValue(ActiveChildQualifiedNameProperty, enabledActivities[num].QualifiedName);
     return true;
 }
        private static bool TryScheduleNextChild(CompositeActivity activity, ActivityExecutionContext executionContext)
        {
            IList<Activity> children = activity.EnabledActivities;

            // Find index of next activity to run.
            int indexOfNextActivity = 0;
            for (int i = (children.Count - 1); i >= 0; i--)
            {
                if (children[i].ExecutionStatus == ActivityExecutionStatus.Closed)
                {
                    // Check whether this is last child?
                    if (i == (children.Count - 1))
                        return false;

                    indexOfNextActivity = i + 1;
                    break;
                }
            }

            children[indexOfNextActivity].RegisterForStatusChange(Activity.ClosedEvent, (IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)activity);
            executionContext.ExecuteActivity(children[indexOfNextActivity]);
            activity.SetValue(ActiveChildQualifiedNameProperty, children[indexOfNextActivity].QualifiedName);
            return true;
        }