# Interface ITransitionConditionsBuilder OptimaJet.Workflow.Core.Model.Builder.ITransitionConditionsBuilder Provides fluent operations for configuring the [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) and [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) conditions in [TransitionDefinition.Conditions](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/). Namespace: [OptimaJet.Workflow.Core.Model.Builder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/) ```csharp public interface ITransitionConditionsBuilder : ITransitionBuilder, IProcessDefinitionBuilder ``` ## Type Hierarchy - ITransitionConditionsBuilder 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/) - Derived interfaces - [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) - [ITransitionExpressionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionExpressionBuilder/) ## Methods `ITransitionConditionBuilder CreateCondition(string conditionName)` Creates a new [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition on the current transition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | The condition implementation name to assign to [ActionDefinitionReference.ActionName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | An [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) for configuring the new condition. | ### Exceptions | Type | Description | | --- | --- | | `TransitionConditionAlreadyExistsException` | A [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition with the specified `conditionName` already exists on the current transition. | `ITransitionConditionBuilder CreateOrUpdateCondition(string conditionName)` Creates a new [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition or selects an existing matching condition for configuration. ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | The condition implementation name stored in [ActionDefinitionReference.ActionName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | An [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) for configuring the created or selected condition. | `ITransitionConditionBuilder UpdateCondition(string conditionName)` Selects an existing [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition for configuration. ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | The condition implementation name stored in [ActionDefinitionReference.ActionName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | An [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) for configuring the selected condition. | ### Exceptions | Type | Description | | --- | --- | | `TransitionConditionNotFoundException` | No [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition with the specified `conditionName` exists on the current transition. | `ITransitionConditionsBuilder DeleteCondition(string conditionName)` Removes all [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) conditions with the specified implementation name from the current transition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | The condition implementation name stored in [ActionDefinitionReference.ActionName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | `ITransitionConditionsBuilder DeleteConditionsAndExpressions()` Removes every [ConditionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) from [TransitionDefinition.Conditions](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) on the current transition. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | `ITransitionConditionsBuilder DeleteConditions()` Removes all [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) conditions from [TransitionDefinition.Conditions](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) on the current transition. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | `ITransitionConditionsBuilder DeleteExpressions()` Removes all [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) conditions from [TransitionDefinition.Conditions](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) on the current transition. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | `ITransitionExpressionBuilder CreateExpression(string expression)` Creates a new [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition on the current transition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `expression` | `String` | The C# expression text to assign to [ConditionDefinition.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). | ### Returns | Type | Description | | --- | --- | | `ITransitionExpressionBuilder` | An [ITransitionExpressionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionExpressionBuilder/) for configuring the new condition. | ### Exceptions | Type | Description | | --- | --- | | `TransitionConditionAlreadyExistsException` | A [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition with the specified `expression` already exists on the current transition. | `ITransitionExpressionBuilder CreateOrUpdateExpression(string expression)` Creates a new [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition or selects an existing matching condition for configuration. ### Parameters | Name | Type | Description | | --- | --- | --- | | `expression` | `String` | The C# expression text stored in [ConditionDefinition.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). | ### Returns | Type | Description | | --- | --- | | `ITransitionExpressionBuilder` | An [ITransitionExpressionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionExpressionBuilder/) for configuring the created or selected condition. | `ITransitionExpressionBuilder UpdateExpression(string expression)` Selects an existing [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition for configuration. ### Parameters | Name | Type | Description | | --- | --- | --- | | `expression` | `String` | The C# expression text stored in [ConditionDefinition.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). | ### Returns | Type | Description | | --- | --- | | `ITransitionExpressionBuilder` | An [ITransitionExpressionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionExpressionBuilder/) for configuring the selected condition. | ### Exceptions | Type | Description | | --- | --- | | `TransitionConditionNotFoundException` | No [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition with the specified `expression` exists on the current transition. | `ITransitionConditionsBuilder DeleteExpression(string expression)` Removes all [ConditionType.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) conditions with the specified expression text from the current transition. ### Parameters | Name | Type | Description | | --- | --- | --- | | `expression` | `String` | The C# expression text stored in [ConditionDefinition.Expression](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | `ITransitionConditionsBuilder ConcatConditionsByAnd()` Sets [TransitionDefinition.ConditionsConcatenationType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [ConcatenationType.And](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConcatenationType/) to combine the current transition's conditions using logical AND. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | `ITransitionConditionsBuilder ConcatConditionsByOr()` Sets [TransitionDefinition.ConditionsConcatenationType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) to [ConcatenationType.Or](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConcatenationType/) to combine the current transition's conditions using logical OR. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionsBuilder` | The same [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) instance for method chaining. | [Previous ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) [Next ITransitionExpressionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionExpressionBuilder/)