# Interface ITransitionConditionBuilder OptimaJet.Workflow.Core.Model.Builder.ITransitionConditionBuilder Defines fluent operations for configuring a [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition 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 ITransitionConditionBuilder : ITransitionConditionsBuilder, ITransitionBuilder, IProcessDefinitionBuilder ``` ## Type Hierarchy - ITransitionConditionBuilder Current type - Base interfaces - [ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/) - [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 `ITransitionConditionBuilder Inverted()` Sets [ConditionDefinition.ConditionInversion](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) to [true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) for the current [ConditionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/), causing its normally evaluated result to be negated. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | `ITransitionConditionBuilder NotInverted()` Sets [ConditionDefinition.ConditionInversion](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) to [false](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) for the current [ConditionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/), so its normally evaluated result is used without negation. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | `ITransitionConditionBuilder ConditionParameter(string parameter)` Sets [ActionDefinitionReference.ActionParameter](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) on the current [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) reference to `parameter`. ### Parameters | Name | Type | Description | | --- | --- | --- | | `parameter` | `String` | The parameter text to pass when the referenced condition is evaluated. | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | `ITransitionConditionBuilder ConditionParameter(object parameter)` Serializes `parameter` to JSON by using [ParametersSerializer.Serialize(object)](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/ParametersSerializer/) and sets [ActionDefinitionReference.ActionParameter](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) on the current [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) reference to the result. ### Parameters | Name | Type | Description | | --- | --- | --- | | `parameter` | `Object` | The value to serialize as the referenced condition's parameter. | ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | `ITransitionConditionBuilder ReturnTrueOnPreExecution()` Sets [ConditionDefinition.ResultOnPreExecution](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) to [true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool), so the condition uses a fixed [true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) result during pre-execution simulation without evaluating the condition logic referenced by [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) or applying [ConditionDefinition.ConditionInversion](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | `ITransitionConditionBuilder ReturnFalseOnPreExecution()` Sets [ConditionDefinition.ResultOnPreExecution](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) to [false](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool), so the condition uses a fixed [false](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) result during pre-execution simulation without evaluating the condition logic referenced by [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) or applying [ConditionDefinition.ConditionInversion](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | `ITransitionConditionBuilder CalculateOnPreExecution()` Sets [ConditionDefinition.ResultOnPreExecution](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) to [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null), so the condition logic referenced by [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) is evaluated normally and [ConditionDefinition.ConditionInversion](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) is applied during pre-execution simulation. ### Returns | Type | Description | | --- | --- | | `ITransitionConditionBuilder` | The same [ITransitionConditionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionBuilder/) instance for method chaining. | [Previous ITransitionCommandBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionCommandBuilder/) [Next ITransitionConditionsBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ITransitionConditionsBuilder/)