示例#1
0
        /// <summary>
        /// Jump to workflow timer. Exceptio is thrown if timer is already active or not found in workflow.
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public JumpWorkflowAction ToTimer(string name)
        {
            Ensure.NotNullAndEmpty(name, "name");
            var timerItem = _workflowItems.TimerItemFor(Identity.Timer(name));

            return(WorkflowAction.JumpTo(timerItem).WithTriggerAction(_triggeringAction(timerItem)));
        }
示例#2
0
        /// <summary>
        /// Jump to lambda function. Cause the workflow to fail if target activity is already active
        /// </summary>
        /// <param name="name">Lambda name.</param>
        /// <param name="postionalName">Lambda's postional name</param>
        /// <returns></returns>
        public JumpWorkflowAction ToLambda(string name, string postionalName = "")
        {
            Ensure.NotNullAndEmpty(name, nameof(name));
            var lambdaItem = _workflowItems.LambdaItem(Identity.Lambda(name, postionalName));

            return(WorkflowAction.JumpTo(_triggerItem, lambdaItem));
        }
示例#3
0
        /// <summary>
        /// Jump to child workflow. It will cause the workflow to fail if target child workflow is already active.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="version"></param>
        /// <param name="positionalName"></param>
        /// <returns></returns>
        public JumpWorkflowAction ToChildWorkflow(string name, string version, string positionalName = "")
        {
            Ensure.NotNull(name, nameof(name));
            Ensure.NotNull(version, nameof(version));
            var item = _workflowItems.ChildWorkflowItem(Identity.New(name, version, positionalName));

            return(WorkflowAction.JumpTo(_triggerItem, item));
        }
示例#4
0
        /// <summary>
        /// Jump to an activity. Exception is thrown if activity is already active or not found in workflow.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="version"></param>
        /// <param name="positionalName"></param>
        /// <returns></returns>
        public JumpWorkflowAction ToActivity(string name, string version, string positionalName = "")
        {
            Ensure.NotNullAndEmpty(name, "name");
            Ensure.NotNullAndEmpty(version, "version");

            var activityItem = _workflowItems.ActivityItemFor(Identity.New(name, version, positionalName));

            return(WorkflowAction.JumpTo(activityItem).WithTriggerAction(_triggeringAction(activityItem)));
        }