예제 #1
0
        /// <summary>
        /// Returns the workflow action to cancel the given activity.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="version"></param>
        /// <param name="positionalName"></param>
        /// <returns></returns>
        public WorkflowAction ForActivity(string name, string version, string positionalName = "")
        {
            Ensure.NotNullAndEmpty(name, "name");
            Ensure.NotNullAndEmpty(version, "version");

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

            return(WorkflowAction.Cancel(activityItem));
        }
예제 #2
0
        /// <summary>
        /// Jump to an activity. Cause the workflow to fail if target activity is already active.
        /// </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.ActivityItem(Identity.New(name, version, positionalName));

            return(WorkflowAction.JumpTo(_triggerItem, activityItem));
        }
예제 #3
0
        WorkflowAction IWorkflow.WorkflowAction(ActivityCompletedEvent activityCompletedEvent)
        {
            IActivity activity = _allWorkflowItems.ActivityItem(activityCompletedEvent);

            return(activity.Completed(activityCompletedEvent));
        }