# Class ActionDefinitionReference OptimaJet.Workflow.Core.Model.ActionDefinitionReference Represents a named reference to an action or to the condition logic evaluated for a [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition. Namespace: [OptimaJet.Workflow.Core.Model](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/) ```csharp public class ActionDefinitionReference ``` ## Properties `public string ActionName { get; set; }` Gets or sets the name used to resolve the referenced action or the condition logic evaluated for a [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition. `public int Order { get; set; }` Gets or sets the order in which Workflow Engine executes an [ActionDefinitionReference](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) in [ActivityDefinition.Implementation](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) or [ActivityDefinition.PreExecutionImplementation](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/). ### Remarks Workflow Engine executes those references in ascending [ActionDefinitionReference.Order](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) order. This value does not affect the order in which conditions are evaluated when the reference is assigned to [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). `public string ActionParameter { get; set; }` Gets or sets the parameter supplied to the referenced action or to the condition logic evaluated for a [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition. ### Remarks Workflow Engine applies parameter substitutions before invoking logic supplied by an [IWorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/IWorkflowActionProvider/) implementation or a matching [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). `public bool IsSystem { get; set; }` Gets or sets a value indicating whether Workflow Engine resolves the reference as a built-in system action during activity execution. ### Remarks This value does not affect a reference assigned to [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/). ## Methods `public static ActionDefinitionReference Create(string actionName, string order, string parameter)` Creates an [ActionDefinitionReference](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) by parsing `order` as an [int](https://learn.microsoft.com/dotnet/api/system.int32). ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionName` | `String` | The value assigned to [ActionDefinitionReference.ActionName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | | `order` | `String` | The text parsed and assigned to [ActionDefinitionReference.Order](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | | `parameter` | `String` | The value assigned to [ActionDefinitionReference.ActionParameter](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). | ### Returns | Type | Description | | --- | --- | | `ActionDefinitionReference` | A new [ActionDefinitionReference](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) initialized from the supplied values. | ### Exceptions | Type | Description | | --- | --- | | `ArgumentNullException` | `order` is [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). | | `FormatException` | `order` is not in a valid integer format. | | `OverflowException` | `order` represents a number outside the range of [int](https://learn.microsoft.com/dotnet/api/system.int32). | `public ActionDefinitionReference Clone()` Creates a shallow copy of this [ActionDefinitionReference](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/). ### Returns | Type | Description | | --- | --- | | `ActionDefinitionReference` | A new [ActionDefinitionReference](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) with the same [ActionDefinitionReference.ActionName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/), [ActionDefinitionReference.Order](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/), [ActionDefinitionReference.ActionParameter](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/), and [ActionDefinitionReference.IsSystem](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActionDefinitionReference/) values as this instance. | ## Remarks [ActivityDefinition.Implementation](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) and [ActivityDefinition.PreExecutionImplementation](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) contain action references for normal execution and pre-execution simulation, respectively. [ConditionDefinition.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionDefinition/) contains the reference evaluated for a [ConditionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ConditionType/) condition. [Previous ActivityExecutionEventType](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Logging.Events/ActivityExecutionEventType/) [Next ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/)