示例#1
0
        /// <summary>
        /// Add activities, variables and argument to metadata
        /// </summary>
        /// <param name="metadata">Metadata</param>
        private void SetupMetadata(NativeActivityMetadata metadata)
        {
            metadata.AddImplementationVariable(_request);
            metadata.AddImplementationVariable(_response);
            metadata.AddDelegate(OnCompleting);
            var runtimeArgument = new RuntimeArgument("WfCorrelation", typeof(CorrelationHandle), ArgumentDirection.In);

            metadata.Bind(CorrelationHandle, runtimeArgument);
            metadata.AddArgument(runtimeArgument);
            metadata.AddImplementationChild(_receive);
            metadata.AddImplementationChild(_sendReply);
        }
            protected override void CacheMetadata(NativeActivityMetadata metadata)
            {
                RuntimeArgument activityArgument = new RuntimeArgument("Activity", typeof(InvokeDelegate), ArgumentDirection.In, true);

                metadata.Bind(this.Activity, activityArgument);
                metadata.SetArgumentsCollection(new Collection <RuntimeArgument> {
                    activityArgument
                });

                metadata.AddImplementationChild(this.ShowWarning);
                metadata.AddImplementationChild(this.ShowError);
                metadata.AddImplementationVariable(this.WarningMessageVariable);
                metadata.AddImplementationVariable(this.ErrorMessageVariable);
            }
示例#3
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationVariable(playUrl);
     metadata.AddImplementationVariable(loop);
     metadata.AddImplementationChild(play);
 }
示例#4
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationVariable(playUrl);
     metadata.AddImplementationVariable(loop);
     metadata.AddImplementationChild(play);
 }
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            // The Body introduces another layer of scope. Method metadata.AddImplementationChild
            // (instead of metadata.AddChild) enable access to LoopVariable from the inner
            // block scope of Body.
            if (this.Body != null && this.Body.Handler != null)
            {
                this.invokeBody.Action = this.Body;
                metadata.AddImplementationChild(this.invokeBody);
            }

            // Need to bind the arguments to the custom activity variables explicitly
            // and then add them to the metadata.
            RuntimeArgument startArg = new RuntimeArgument("Start", typeof(int), ArgumentDirection.In, true);

            metadata.Bind(this.Start, startArg);
            metadata.AddArgument(startArg);
            RuntimeArgument stopArg = new RuntimeArgument("Stop", typeof(int), ArgumentDirection.In, true);

            metadata.Bind(this.Stop, stopArg);
            metadata.AddArgument(stopArg);
            RuntimeArgument stepArg = new RuntimeArgument("Step", typeof(int), ArgumentDirection.In, true);

            metadata.Bind(this.Step, stepArg);
            metadata.AddArgument(stepArg);

            // Register variables used in the custom activity.
            metadata.AddImplementationVariable(this.loopVariable);
        }
示例#6
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     foreach (var activity in Activities)
     {
         metadata.AddImplementationChild(activity);
     }
 }
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            RuntimeArgument argument = new RuntimeArgument("CorrelatesWith", System.ServiceModel.Activities.Constants.CorrelationHandleType, ArgumentDirection.In);

            metadata.Bind(this.CorrelatesWith, argument);
            metadata.AddArgument(argument);
            if (this.correlationInitializers != null)
            {
                int num = 0;
                foreach (CorrelationInitializer initializer in this.correlationInitializers)
                {
                    if (initializer.CorrelationHandle != null)
                    {
                        RuntimeArgument argument2 = new RuntimeArgument("Parameter" + num, initializer.CorrelationHandle.ArgumentType, initializer.CorrelationHandle.Direction, true);
                        metadata.Bind(initializer.CorrelationHandle, argument2);
                        metadata.AddArgument(argument2);
                        num++;
                    }
                }
            }
            RuntimeArgument argument3 = new RuntimeArgument("Message", System.ServiceModel.Activities.Constants.MessageType, ArgumentDirection.Out);

            metadata.Bind(this.Message, argument3);
            metadata.AddArgument(argument3);
            RuntimeArgument argument4 = new RuntimeArgument("noPersistHandle", System.ServiceModel.Activities.Constants.NoPersistHandleType, ArgumentDirection.In);

            metadata.Bind(this.NoPersistHandle, argument4);
            metadata.AddArgument(argument4);
            metadata.AddImplementationVariable(this.receiveMessageInstance);
            metadata.AddImplementationChild(this.waitForReply);
        }
示例#8
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            metadata.AddDelegate(Body);
            metadata.AddImplementationChild(_internalDelay);
            metadata.AddImplementationVariable(_attemptCount);
            metadata.AddImplementationVariable(_delayDuration);

            RuntimeArgument maxAttemptsArgument   = new RuntimeArgument("MaxAttempts", typeof(Int32), ArgumentDirection.In, true);
            RuntimeArgument retryIntervalArgument = new RuntimeArgument("RetryInterval", typeof(TimeSpan), ArgumentDirection.In, true);

            metadata.Bind(MaxAttempts, maxAttemptsArgument);
            metadata.Bind(RetryInterval, retryIntervalArgument);

            Collection <RuntimeArgument> arguments = new Collection <RuntimeArgument>
            {
                maxAttemptsArgument,
                retryIntervalArgument
            };

            metadata.SetArgumentsCollection(arguments);

            if (Body == null)
            {
                ValidationError validationError = new ValidationError("No Child Activities Defined", true, "Body");

                metadata.AddValidationError(validationError);
            }

            if (typeof(Exception).IsAssignableFrom(ExceptionType) == false)
            {
                ValidationError validationError = new ValidationError("Invalid Exception Type", false, "ExceptionType");

                metadata.AddValidationError(validationError);
            }
        }
示例#9
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.AddImplementationVariable(outputText);
     this.output = new WriteLine { Text = new InArgument<string>(outputText) };
     metadata.AddImplementationChild(this.output);
     metadata.SetArgumentsCollection(metadata.GetArgumentsWithReflection());
 }
示例#10
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            // The Body introduces another layer of scope. Method metadata.AddImplementationChild
            // (instead of metadata.AddChild) enable access to LoopVariable from the inner
            // block scope of Body.
            if (this.Body != null && this.Body.Handler != null)
            {
                this.invokeBody.Action = this.Body;
                metadata.AddImplementationChild(this.invokeBody);
            }

            // Need to bind the arguments to the custom activity variables explicitly
            // and then add them to the metadata.
            RuntimeArgument startArg = new RuntimeArgument("Start", typeof(int), ArgumentDirection.In, true);
            metadata.Bind(this.Start, startArg);
            metadata.AddArgument(startArg);
            RuntimeArgument stopArg = new RuntimeArgument("Stop", typeof(int), ArgumentDirection.In, true);
            metadata.Bind(this.Stop, stopArg);
            metadata.AddArgument(stopArg);
            RuntimeArgument stepArg = new RuntimeArgument("Step", typeof(int), ArgumentDirection.In, true);
            metadata.Bind(this.Step, stepArg);
            metadata.AddArgument(stepArg);

            // Register variables used in the custom activity.
            metadata.AddImplementationVariable(this.loopVariable);
        }
 /// <summary>
 /// The cache metadata.
 /// </summary>
 /// <param name="metadata">
 /// The metadata.
 /// </param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.RequireExtension <IHttpWorkflowHostContext>();
     metadata.AddDelegate(this.Body);
     metadata.AddImplementationVariable(this.noPersistHandle);
     metadata.AddImplementationChild(this.persist);
 }
示例#12
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.AddImplementationVariable(outputText);
     this.output = new WriteLine {
         Text = new InArgument <string>(outputText)
     };
     metadata.AddImplementationChild(this.output);
     metadata.SetArgumentsCollection(metadata.GetArgumentsWithReflection());
 }
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            var collection = new Collection <RuntimeArgument>();
            var type       = GetType();

            ActivityHelpers.AddCacheMetadata(collection, metadata, Context, type.ExtractPropertyName(() => Context));

            metadata.SetArgumentsCollection(collection);
            metadata.AddImplementationChild(_terminateWorkflow);
        }
示例#14
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationVariable(TempConnectionInfo);
     metadata.AddImplementationVariable(TempUtterance);
     metadata.AddImplementationVariable(TempParameters);
     metadata.AddImplementationVariable(TempLanguage);
     metadata.AddImplementationVariable(TempSpeaker);
     metadata.AddImplementationChild(InnerSaySpeech);
 }
示例#15
0
 /// <summary>
 /// Creates and validates a description of the <see cref="Activity"/>.
 /// </summary>
 /// <param name="metadata"></param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationVariable(state);
     metadata.AddImplementationChild(delay = new Delay()
     {
         Duration = new InArgument <TimeSpan>(ctx => ctx.GetValue(Delay))
     });
     metadata.SetDelegatesCollection(new Collection <ActivityDelegate>(Catches.Select(i => i.GetAction()).ToList()));
     metadata.AddDelegate(Body);
 }
示例#16
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            var runtimeArguments = new Collection <RuntimeArgument>();

            runtimeArguments.Add(new RuntimeArgument("ExpressionResult", typeof(T), ArgumentDirection.In));
            metadata.Bind(this.ExpressionResult, runtimeArguments[0]);

            metadata.SetArgumentsCollection(runtimeArguments);

            metadata.AddImplementationChild(_body);
        }
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            metadata.AddImplementationChild(_w1);
            RuntimeArgument exceptionArgument = new RuntimeArgument("OutcomeOnCancellation", typeof(OutcomeState), ArgumentDirection.In, true);

            metadata.Bind(this.OutcomeOnCancellation, exceptionArgument);
            metadata.SetArgumentsCollection(new Collection <RuntimeArgument> {
                exceptionArgument
            });
            //base.CacheMetadata(metadata);
        }
示例#18
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            base.CacheMetadata(metadata);

            if (this.Condition == null)
            {
                metadata.AddValidationError(string.Format("Activity {0} requiere de una condición", this.DisplayName));
                return;
            }
            metadata.AddImplementationChild(twf);
        }
示例#19
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     Counter = new Variable <int>();
     Delay   = new Delay()
     {
         Duration = TimeSpan.FromSeconds(1)
     };
     metadata.AddImplementationChild(Delay);
     metadata.AddImplementationVariable(Counter);
     base.CacheMetadata(metadata);
 }
示例#20
0
        /// <summary>
        /// Add activities, variables and argument to metadata
        /// </summary>
        /// <param name="metadata">Metadata</param>
        private void SetupMetadata(NativeActivityMetadata metadata)
        {
            metadata.AddDelegate(OnInit);
            metadata.AddDelegate(OnComplete);
            metadata.AddImplementationChild(_approveSequence);
            metadata.AddDefaultExtensionProvider(() => new WorkflowStateData());
            metadata.AddImplementationVariable(DelaySpan);
            var argAssignTo = new RuntimeArgument("AssignResultTo", typeof(string), ArgumentDirection.Out);

            metadata.Bind(AssignResultTo, argAssignTo);
            metadata.AddArgument(argAssignTo);
        }
示例#21
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            foreach (Activity act in this.ImportedChildren)
            {
                metadata.AddImportedChild(act);
            }

            if (this.Body != null)
            {
                metadata.AddImplementationChild(this.Body);
            }
        }
    protected override void CacheMetadata(NativeActivityMetadata metadata)
    {
        base.CacheMetadata(metadata);

        Predicate = new VisualBasicValue <TResult>("ExpressionText.Length");
        ResultVar = new Variable <TResult>("ResultVar");
        Assign    = new Assign {
            To = new OutArgument <TResult>(ResultVar), Value = new InArgument <TResult>(Predicate)
        };

        metadata.AddImplementationVariable(ResultVar);
        metadata.AddImplementationChild(Assign);
    }
示例#23
0
        /// <summary>
        /// Add activities, variables and argument to metadata
        /// </summary>
        /// <param name="metadata">Metadata</param>
        private void SetupMetadata(NativeActivityMetadata metadata)
        {
            metadata.AddImplementationChild(_startWorkflowCatch);
            var workflowIdArgument = new RuntimeArgument("WorkflowId", typeof(string), ArgumentDirection.Out);

            metadata.Bind(WorkflowId, workflowIdArgument);
            metadata.AddArgument(workflowIdArgument);
            var resultArgument = new RuntimeArgument("WorkflowResult", typeof(string), ArgumentDirection.Out);

            metadata.Bind(WorkflowResult, resultArgument);
            metadata.AddArgument(resultArgument);
            metadata.AddImplementationVariable(_currentRequest);
        }
示例#24
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            RuntimeArgument argument = new RuntimeArgument("Timeout", typeof(TimeSpan), ArgumentDirection.In, false);

            metadata.Bind(this.Timeout, argument);
            metadata.SetArgumentsCollection(new Collection <RuntimeArgument> {
                argument
            });
            metadata.AddImplementationChild(this.NestedScopeTimeoutWorkflow);
            if (this.Body != null)
            {
                metadata.AddChild(this.Body);
            }
            metadata.AddImplementationVariable(this.runtimeTransactionHandle);
            metadata.AddImplementationVariable(this.nestedScopeTimeout);
            metadata.AddImplementationVariable(this.delayWasScheduled);
            metadata.AddImplementationVariable(this.nestedScopeTimeoutActivityInstance);
        }
示例#25
0
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            metadata.AddDelegate(Body);
            //Add the delay in so it can try again and persist.
            metadata.AddImplementationChild(_internalDelay);
            metadata.AddImplementationVariable(_attemptCount);
            metadata.AddImplementationVariable(_delayDuration);

            RuntimeArgument maxAttemptsArgument   = new RuntimeArgument("MaxAttempts", typeof(Int32), ArgumentDirection.In, true);
            RuntimeArgument retryIntervalArgument = new RuntimeArgument("RetryInterval", typeof(TimeSpan), ArgumentDirection.In, true);
            RuntimeArgument exceptionTypeArgument = new RuntimeArgument("ExceptionType", typeof(Type[]), ArgumentDirection.In, true);

            metadata.Bind(MaxAttempts, maxAttemptsArgument);
            metadata.Bind(RetryInterval, retryIntervalArgument);
            metadata.Bind(ExceptionType, exceptionTypeArgument);

            metadata.SetArgumentsCollection(new Collection <RuntimeArgument> {
                maxAttemptsArgument, retryIntervalArgument, exceptionTypeArgument
            });
        }
示例#26
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     if (String.IsNullOrWhiteSpace(this.Name))
     {
         metadata.AddValidationError(Properties.Resources.ExternalVariableNameRequired);
     }
     else
     {
         this.implementationChild = new Assign <T>
         {
             To = new OutArgument <T>(new ExternalVariableReference <T>()
             {
                 Name = this.Name
             }),
             Value = new System.Activities.Expressions.LambdaValue <T>(ctx => this.Value.Get(ctx))
         };
         metadata.AddImplementationChild(implementationChild);
     }
     metadata.AddArgument(new RuntimeArgument("Value", typeof(T), ArgumentDirection.In, true));
 }
示例#27
0
 /// <summary>
 /// CacheMetadata
 /// </summary>
 /// <param name="metadata"></param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationChild(this.persistActivity);
     metadata.AddImplementationVariable(restartActivityContext);
 }
示例#28
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.AddImplementationChild(persist);
     base.CacheMetadata(metadata);
 }
示例#29
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.AddImplementationChild(cancelWorkflow);
     metadata.AddImplementationDelegate(terminateWorkflow);
     base.CacheMetadata(metadata);
 }
示例#30
0
		protected override void CacheMetadata(NativeActivityMetadata metadata)
		{
			base.CacheMetadata(metadata);
			metadata.AddImplementationVariable(this.bookmarking);
			metadata.AddImplementationVariable(this.noPersistHandle);
			metadata.AddImplementationChild(this.cancelTimer);
			metadata.AddImplementationChild(this.terminateActivity);
			NativeActivityMetadata nativeActivityMetadataPointer = metadata;
			nativeActivityMetadataPointer.AddDefaultExtensionProvider<PSWorkflowInstanceExtension>(() => new PSWorkflowInstanceExtension());
			this.ParameterDefaults = new Variable<Dictionary<string, object>>();
			metadata.AddImplementationVariable(this.ParameterDefaults);
			string[] strArrays = new string[1];
			strArrays[0] = "not";
			this.Tracer.WriteMessage(base.GetType().Name, "CacheMetadata", Guid.Empty, "Adding PowerShell specific extensions to metadata, CommonParameters are {0} available.", strArrays);
			metadata.AddImplementationVariable(this.psActivityContextImplementationVariable);
		}
示例#31
0
 /// <summary>
 /// Tells the workflow runtime that this activity also schedules the
 /// suspend activity (which it cannot automatically detect because it is not
 /// provided as a parameter).
 /// </summary>
 /// <param name="metadata">The metadata provided by the hosting application.</param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationChild(this.suspendActivity);
 }
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            RuntimeArgument correlatesWithArgument = new RuntimeArgument(Constants.CorrelatesWith, Constants.CorrelationHandleType, ArgumentDirection.In);
            if (this.CorrelatesWith == null)
            {
                this.CorrelatesWith = new InArgument<CorrelationHandle>();
            }
            metadata.Bind(this.CorrelatesWith, correlatesWithArgument);
            metadata.AddArgument(correlatesWithArgument);

            if (this.correlationInitializers != null)
            {
                int count = 0;
                foreach (CorrelationInitializer correlation in this.correlationInitializers)
                {
                    if (correlation.CorrelationHandle != null)
                    {
                        RuntimeArgument argument = new RuntimeArgument(Constants.Parameter + count,
                            correlation.CorrelationHandle.ArgumentType, correlation.CorrelationHandle.Direction, true);
                        metadata.Bind(correlation.CorrelationHandle, argument);
                        metadata.AddArgument(argument);
                        count++;
                    }
                }
            }

            RuntimeArgument receiveMessageArgument = new RuntimeArgument(Constants.Message, Constants.MessageType, ArgumentDirection.Out);
            if (this.Message == null)
            {
                this.Message = new OutArgument<Message>();
            }
            metadata.Bind(this.Message, receiveMessageArgument);
            metadata.AddArgument(receiveMessageArgument);

            RuntimeArgument noPersistHandleArgument = new RuntimeArgument(Constants.NoPersistHandle, Constants.NoPersistHandleType, ArgumentDirection.In);
            if (this.NoPersistHandle == null)
            {
                this.NoPersistHandle = new InArgument<NoPersistHandle>();
            }
            metadata.Bind(this.NoPersistHandle, noPersistHandleArgument);
            metadata.AddArgument(noPersistHandleArgument);

            metadata.AddImplementationVariable(this.receiveMessageInstance);
            metadata.AddImplementationVariable(this.extensionReceiveBookmark);

            metadata.AddImplementationChild(this.waitForReply);
        }
示例#33
0
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.RequireExtension <IDotnetWrapperService>();
     metadata.AddImplementationChild(_sequence);
 }
示例#34
0
        /// <summary>
        /// Create activity metadata
        /// </summary>
        /// <param name="metadata">Metadata</param>
        protected override void CacheMetadata(NativeActivityMetadata metadata)
        {
            // this is used for synchronous childs. Parent will wait until child workflow
            // send a response.
            _eventCompleted = _eventCompleted ?? new SendReceiveBase <WorkflowEventRequest, WorkflowEventResponse>
            {
                ServiceContractName   = "{http://flowtasks.com/}IFlowTasksOperations",
                OperationName         = "WorkflowEvent",
                CanCreateInstance     = false,
                GenerateCorrelationId = false,
                UseContentCorrelation = true,
                CorrelationId         = CorrelationId,
                MessageNamespace      = "urn:flowtasks:workflowevent",
                DisplayName           = "WorkflowEvent",
                OnCompleting          = new ActivityFunc <WorkflowEventRequest, WorkflowEventResponse>
                {
                    Argument = _request,
                    Handler  = new CreateResponseForWorkflowEvent
                    {
                        DisplayName = "CreateResponseForWorkflowEvent",
                        Request     = _request
                    }
                }
            };

            _sync = _sync ?? new Sequence
            {
                DisplayName = "WaitForWf",
                Activities  =
                {
                    _eventCompleted
                }
            };

            metadata.AddImplementationChild(_sync);

            var workflowIdArgument = new RuntimeArgument("WorkflowId", typeof(string), ArgumentDirection.Out);

            metadata.Bind(WorkflowId, workflowIdArgument);
            metadata.AddArgument(workflowIdArgument);

            var resultArgument = new RuntimeArgument("WorkflowResult", typeof(string), ArgumentDirection.Out);

            metadata.Bind(WorkflowResult, resultArgument);
            metadata.AddArgument(resultArgument);

            var workflowCodeArgument = new RuntimeArgument("WorkflowCode", typeof(string), ArgumentDirection.In);

            metadata.Bind(WorkflowCode, workflowCodeArgument);
            metadata.AddArgument(workflowCodeArgument);

            var domainArgument = new RuntimeArgument("Domain", typeof(string), ArgumentDirection.In);

            metadata.Bind(Domain, domainArgument);
            metadata.AddArgument(domainArgument);

            var propertiesArgument = new RuntimeArgument("Properties", typeof(Dictionary <string, string>), ArgumentDirection.In);

            metadata.Bind(Properties, propertiesArgument);
            metadata.AddArgument(propertiesArgument);

            var asyncArgument = new RuntimeArgument("Async", typeof(bool), ArgumentDirection.In);

            metadata.Bind(Async, asyncArgument);
            metadata.AddArgument(asyncArgument);

            metadata.AddImplementationVariable(NewWorkflowId);
        }
示例#35
0
 /// <summary>
 /// The cache metadata.
 /// </summary>
 /// <param name="metadata">
 /// The metadata.
 /// </param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.RequireExtension<IHttpWorkflowHostContext>();
     metadata.AddDelegate(this.Body);
     metadata.AddImplementationVariable(this.noPersistHandle);
     metadata.AddImplementationChild(this.persist);
 }
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.AddImplementationChild(_innerSequence);
 }
 /// <summary>
 /// Tells the workflow runtime that this activity also schedules the
 /// suspend activity (which it cannot automatically detect because it is not
 /// provided as a parameter).
 /// </summary>
 /// <param name="metadata">The metadata provided by the hosting application.</param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationChild(this.suspendActivity);
 }
            protected override void CacheMetadata(NativeActivityMetadata metadata)
            {
                RuntimeArgument activityArgument = new RuntimeArgument("Activity", typeof(InvokeDelegate), ArgumentDirection.In, true);
                metadata.Bind(this.Activity, activityArgument);
                metadata.SetArgumentsCollection(new Collection<RuntimeArgument> { activityArgument });

                metadata.AddImplementationChild(this.ShowWarning);
                metadata.AddImplementationChild(this.ShowError);
                metadata.AddImplementationVariable(this.WarningMessageVariable);
                metadata.AddImplementationVariable(this.ErrorMessageVariable);
            }
 /// <summary>
 /// CacheMetadata
 /// </summary>
 /// <param name="metadata"></param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     base.CacheMetadata(metadata);
     metadata.AddImplementationChild(this.persistActivity);
     metadata.AddImplementationVariable(restartActivityContext);
 }
示例#40
0
 /// <summary>
 ///   Creates and validates a description of the activity’s arguments, variables, child activities, and activity delegates.
 /// </summary>
 /// <param name = "metadata">The activity’s metadata that encapsulates the activity’s arguments, variables, child activities, and activity delegates.</param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     this.delay = new Delay { Duration = StubDuration };
     metadata.AddImplementationChild(this.delay);
     base.CacheMetadata(metadata);
 }
 /// <summary>
 /// The cache metadata.
 /// </summary>
 /// <param name="metadata">
 /// The metadata.
 /// </param>
 protected override void CacheMetadata(NativeActivityMetadata metadata)
 {
     metadata.AddArgument(new RuntimeArgument("UntilDate", typeof(DateTime), ArgumentDirection.In, true));
     metadata.AddImplementationChild(this.delay);
     metadata.AddImplementationVariable(this.delayInterval);
 }