private static void SetupForProcessing(ActivityDelegate activityDelegate, bool canBeExecuted, ref ChildActivity nextActivity, ref Stack <ChildActivity> activitiesRemaining)
 {
     if (activityDelegate.Handler != null)
     {
         SetupForProcessing(activityDelegate.Handler, canBeExecuted, ref nextActivity, ref activitiesRemaining);
     }
 }
 public void AddImportedDelegate(ActivityDelegate importedDelegate)
 {
     this.ThrowIfDisposed();
     if (importedDelegate != null)
     {
         this.activity.AddImportedDelegate(importedDelegate);
     }
 }
 public void AddDelegate(ActivityDelegate activityDelegate)
 {
     this.ThrowIfDisposed();
     if (activityDelegate != null)
     {
         this.activity.AddDelegate(activityDelegate);
     }
 }
Ejemplo n.º 4
0
        public void AddImplementationDelegate(ActivityDelegate implementationDelegate)
        {
            ThrowIfDisposed();

            if (implementationDelegate != null)
            {
                this.activity.AddImplementationDelegate(implementationDelegate);
            }
        }
 private static void ProcessDelegates(Activity parent, IList <ActivityDelegate> delegates, ActivityCollectionType collectionType, bool addChildren, ref ChildActivity nextActivity, ref Stack <ChildActivity> activitiesRemaining, ref IList <ValidationError> validationErrors)
 {
     for (int i = 0; i < delegates.Count; i++)
     {
         ActivityDelegate activityDelegate = delegates[i];
         if (activityDelegate.InitializeRelationship(parent, collectionType, ref validationErrors) && addChildren)
         {
             SetupForProcessing(activityDelegate, collectionType != ActivityCollectionType.Imports, ref nextActivity, ref activitiesRemaining);
         }
     }
 }
Ejemplo n.º 6
0
        public void AddImportedDelegate(ActivityDelegate importedDelegate, object origin)
        {
            ThrowIfDisposed();
            ActivityUtilities.ValidateOrigin(origin, this.activity);

            if (importedDelegate != null)
            {
                this.activity.AddImportedDelegate(importedDelegate);
                if (importedDelegate.Handler != null && importedDelegate.Handler.CacheId != this.activity.CacheId)
                {
                    importedDelegate.Handler.Origin = origin;
                }
                // We don't currently have ActivityDelegate.Origin. If we ever add it, or if we ever
                // expose Origin publicly, we need to also set it here.
            }
        }
Ejemplo n.º 7
0
 public void AddImportedDelegate(ActivityDelegate importedDelegate)
 {
     AddImportedDelegate(importedDelegate, null);
 }
Ejemplo n.º 8
0
 public void AddImportedDelegate(ActivityDelegate importedDelegate)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 9
0
 public void AddDelegate(ActivityDelegate activityDelegate)
 {
     AddDelegate(activityDelegate, null);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Adds the imported delegate.
 /// </summary>
 /// <param name="importedDelegate">The imported delegate.</param>
 public void AddImportedDelegate(ActivityDelegate importedDelegate) => this.AddImportedDelegate(importedDelegate, null);
        protected virtual void VisitDelegateArguments(ActivityDelegate activityDelegate, out bool exit)
        {
            foreach (RuntimeDelegateArgument delegateArgument in activityDelegate.RuntimeDelegateArguments)
            {
                if (delegateArgument.BoundArgument != null)
                {
                    VisitDelegateArgument(delegateArgument, out exit);

                    if (exit)
                    {
                        return;
                    }
                }
            }

            exit = false;
        }
        protected virtual void VisitDelegate(ActivityDelegate activityDelegate, out bool exit)
        {
            VisitDelegateArguments(activityDelegate, out exit);
            if (exit)
            {
                return;
            }

            if (activityDelegate.Handler != null)
            {
                VisitCore(activityDelegate.Handler, out exit);
                if (exit)
                {
                    return;
                }
            }
        }
            protected override void VisitDelegate(ActivityDelegate activityDelegate, out bool exit)
            {
                this.compiler.OnActivityDelegateScope();
                                
                base.VisitDelegate(activityDelegate, out exit);

                this.compiler.OnAfterActivityDelegateScope();

                exit = false;
            }
Ejemplo n.º 14
0
        public static IEnumerable <Activity> GetActivities(Activity activity)
        {
            if (activity == null)
            {
                throw FxTrace.Exception.ArgumentNull("activity");
            }

            if (!activity.IsMetadataCached)
            {
                IList <ValidationError> validationErrors = null;

                ActivityUtilities.CacheRootMetadata(activity, new ActivityLocationReferenceEnvironment(), ProcessActivityTreeOptions.FullCachingOptions, null, ref validationErrors);

                ActivityValidationServices.ThrowIfViolationsExist(validationErrors);
            }

            int i = 0;

            for (; i < activity.RuntimeArguments.Count; i++)
            {
                RuntimeArgument argument = activity.RuntimeArguments[i];

                if (argument.BoundArgument != null && argument.BoundArgument.Expression != null)
                {
                    yield return(argument.BoundArgument.Expression);
                }
            }

            for (i = 0; i < activity.RuntimeVariables.Count; i++)
            {
                Variable variable = activity.RuntimeVariables[i];

                if (variable.Default != null)
                {
                    yield return(variable.Default);
                }
            }

            for (i = 0; i < activity.ImplementationVariables.Count; i++)
            {
                Variable variable = activity.ImplementationVariables[i];

                if (variable.Default != null)
                {
                    yield return(variable.Default);
                }
            }

            for (i = 0; i < activity.Children.Count; i++)
            {
                yield return(activity.Children[i]);
            }

            for (i = 0; i < activity.ImportedChildren.Count; i++)
            {
                yield return(activity.ImportedChildren[i]);
            }

            for (i = 0; i < activity.ImplementationChildren.Count; i++)
            {
                yield return(activity.ImplementationChildren[i]);
            }

            for (i = 0; i < activity.Delegates.Count; i++)
            {
                ActivityDelegate activityDelegate = activity.Delegates[i];

                if (activityDelegate.Handler != null)
                {
                    yield return(activityDelegate.Handler);
                }
            }

            for (i = 0; i < activity.ImportedDelegates.Count; i++)
            {
                ActivityDelegate activityDelegate = activity.ImportedDelegates[i];

                if (activityDelegate.Handler != null)
                {
                    yield return(activityDelegate.Handler);
                }
            }

            for (i = 0; i < activity.ImplementationDelegates.Count; i++)
            {
                ActivityDelegate activityDelegate = activity.ImplementationDelegates[i];

                if (activityDelegate.Handler != null)
                {
                    yield return(activityDelegate.Handler);
                }
            }
        }
Ejemplo n.º 15
0
        public static IEnumerable <Activity> GetActivities(Activity activity)
        {
            int iteratorVariable0;

            if (activity == null)
            {
                throw FxTrace.Exception.ArgumentNull("activity");
            }
            if (!activity.IsMetadataCached)
            {
                IList <ValidationError> validationErrors = null;
                ActivityUtilities.CacheRootMetadata(activity, new ActivityLocationReferenceEnvironment(), ProcessActivityTreeOptions.FullCachingOptions, null, ref validationErrors);
                ActivityValidationServices.ThrowIfViolationsExist(validationErrors);
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.RuntimeArguments.Count; iteratorVariable0++)
            {
                RuntimeArgument iteratorVariable1 = activity.RuntimeArguments[iteratorVariable0];
                if ((iteratorVariable1.BoundArgument != null) && (iteratorVariable1.BoundArgument.Expression != null))
                {
                    yield return(iteratorVariable1.BoundArgument.Expression);
                }
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.RuntimeVariables.Count; iteratorVariable0++)
            {
                Variable iteratorVariable2 = activity.RuntimeVariables[iteratorVariable0];
                if (iteratorVariable2.Default != null)
                {
                    yield return(iteratorVariable2.Default);
                }
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.ImplementationVariables.Count; iteratorVariable0++)
            {
                Variable iteratorVariable3 = activity.ImplementationVariables[iteratorVariable0];
                if (iteratorVariable3.Default != null)
                {
                    yield return(iteratorVariable3.Default);
                }
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.Children.Count; iteratorVariable0++)
            {
                yield return(activity.Children[iteratorVariable0]);
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.ImportedChildren.Count; iteratorVariable0++)
            {
                yield return(activity.ImportedChildren[iteratorVariable0]);
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.ImplementationChildren.Count; iteratorVariable0++)
            {
                yield return(activity.ImplementationChildren[iteratorVariable0]);
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.Delegates.Count; iteratorVariable0++)
            {
                ActivityDelegate iteratorVariable4 = activity.Delegates[iteratorVariable0];
                if (iteratorVariable4.Handler != null)
                {
                    yield return(iteratorVariable4.Handler);
                }
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.ImportedDelegates.Count; iteratorVariable0++)
            {
                ActivityDelegate iteratorVariable5 = activity.ImportedDelegates[iteratorVariable0];
                if (iteratorVariable5.Handler != null)
                {
                    yield return(iteratorVariable5.Handler);
                }
            }
            for (iteratorVariable0 = 0; iteratorVariable0 < activity.ImplementationDelegates.Count; iteratorVariable0++)
            {
                ActivityDelegate iteratorVariable6 = activity.ImplementationDelegates[iteratorVariable0];
                if (iteratorVariable6.Handler != null)
                {
                    yield return(iteratorVariable6.Handler);
                }
            }
        }
Ejemplo n.º 16
0
 public ActivityInstance ScheduleDelegate(ActivityDelegate activityDelegate, IDictionary <string, Object> inputParameters, DelegateCompletionCallback onCompleted, FaultCallback onFaulted)
 {
     throw new NotImplementedException();
 }