# Interface ITransitionParallelStartBuilder OptimaJet.Workflow.Core.Model.Builder.ITransitionParallelStartBuilder Provides fluent subprocess-startup configuration after [ITransitionBuilder.ParallelStart()](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionBuilder/) configures the current [TransitionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) with [SubprocessInOutDefinition.Start](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessInOutDefinition/). Namespace: [OptimaJet.Workflow.Core.Model.Builder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/) ```csharp public interface ITransitionParallelStartBuilder : ITransitionBuilder, IProcessDefinitionBuilder ``` ## Type Hierarchy - ITransitionParallelStartBuilder Current type - Base interfaces - [ITransitionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionBuilder/) - [IProcessDefinitionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/IProcessDefinitionBuilder/) ## Methods `ITransitionParallelStartBuilder SameThread()` Sets [TransitionDefinition.SubprocessStartupType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupType.SameThread](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupType/), executing the subprocess inline in the parent process's execution flow. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder AnotherThread()` Sets [TransitionDefinition.SubprocessStartupType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupType.AnotherThread](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupType/), executing the subprocess in a separate asynchronous flow that the parent process's execution flow does not await. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder TimerQueue()` Sets [TransitionDefinition.SubprocessStartupType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupType.TimerQueue](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupType/), starting the subprocess through the timer queue. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder SubprocessName(string name)` Sets [TransitionDefinition.SubprocessName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) for the subprocess started by the transition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `name` | `String` | The literal subprocess name or C# expression to assign. | ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder SubprocessId(string id)` Sets [TransitionDefinition.SubprocessId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) for the subprocess started by the transition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `id` | `String` | The text representation of a [Guid](https://learn.microsoft.com/dotnet/api/system.guid), or a substitution template that evaluates to one. | ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder AutoSubprocessName()` Clears [TransitionDefinition.SubprocessName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/), causing the transition name to be used as the subprocess name. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder AutoSubprocessId()` Clears [TransitionDefinition.SubprocessId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/), causing [Guid.NewGuid()](https://learn.microsoft.com/dotnet/api/system.guid.newguid) to generate the subprocess's process ID when the subprocess starts. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder CopyAllParameters()` Sets [TransitionDefinition.SubprocessStartupParameterCopyStrategy](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupParameterCopyStrategy.CopyAll](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupParameterCopyStrategy/) and clears [TransitionDefinition.SubprocessSpecifiedParameters](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/), copying every parent-process parameter whose purpose is not [ParameterPurpose.System](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterPurpose/) to the subprocess. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder CopyParameters(List parameters)` Sets [TransitionDefinition.SubprocessStartupParameterCopyStrategy](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupParameterCopyStrategy.CopySpecified](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupParameterCopyStrategy/) and stores the names from `parameters` in [TransitionDefinition.SubprocessSpecifiedParameters](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/). Only parent-process parameters whose purpose is not [ParameterPurpose.System](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterPurpose/) and whose names are specified are copied to the subprocess. ### Parameters | Name | Type | Description | | --- | --- | --- | | `parameters` | `List` | The names of the parent-process parameters to copy. | ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder IgnoreAllParameters()` Sets [TransitionDefinition.SubprocessStartupParameterCopyStrategy](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupParameterCopyStrategy.IgnoreAll](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupParameterCopyStrategy/) and clears [TransitionDefinition.SubprocessSpecifiedParameters](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/), preventing parent-process parameters from being copied to the subprocess. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder IgnoreParameters(List parameters)` Sets [TransitionDefinition.SubprocessStartupParameterCopyStrategy](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [SubprocessStartupParameterCopyStrategy.IgnoreSpecified](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/SubprocessStartupParameterCopyStrategy/) and stores the names from `parameters` in [TransitionDefinition.SubprocessSpecifiedParameters](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/). Every parent-process parameter whose purpose is not [ParameterPurpose.System](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterPurpose/) is copied except those whose names are specified. ### Parameters | Name | Type | Description | | --- | --- | --- | | `parameters` | `List` | The names of the parent-process parameters not to copy. | ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder DisableParentProcessControl()` Sets [TransitionDefinition.DisableParentStateControl](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool), so parent-process activity changes do not automatically remove the subprocess. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | `ITransitionParallelStartBuilder EnableParentProcessControl()` Sets [TransitionDefinition.DisableParentStateControl](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [false](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool), allowing the subprocess to be removed automatically when the parent process leaves the activities in which it may exist. ### Returns | Type | Description | | --- | --- | | `ITransitionParallelStartBuilder` | The current instance of [ITransitionParallelStartBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelStartBuilder/). | [Previous ITransitionParallelFinalizeBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionParallelFinalizeBuilder/) [Next ProcessDefinitionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ProcessDefinitionBuilder/)