/// <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))); }
/// <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)); }
/// <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)); }
/// <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))); }