# Class ActivityDto OptimaJet.Workflow.Core.Model.ApprovalMap.ActivityDto Represents an [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) and its outgoing [TransitionDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/TransitionDto/) entries in an approval map or pre-execution simulation result. Namespace: [OptimaJet.Workflow.Core.Model.ApprovalMap](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/) ```csharp public class ActivityDto ``` ## Constructors `public ActivityDto(ActivityDefinition activity, ProcessDefinition scheme)` Initializes a new [ActivityDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/) from an [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) in a [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `activity` | `ActivityDefinition` | The [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) to represent. | | `scheme` | `ProcessDefinition` | The [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) used to localize [ActivityDefinition.State](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) for [CultureInfo.CurrentCulture](https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.currentculture). | ## Properties `public string Activity { get; set; }` Gets or sets the name of the represented [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/). `public string State { get; set; }` Gets or sets the business state associated with the represented [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/), as defined by [ActivityDefinition.State](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/). `public bool IsCurrent { get; set; }` Gets or sets a value indicating whether the activity is active in the process tree used to build an approval map or is the starting activity of a pre-execution simulation. `public bool IsFinal { get; set; }` Gets or sets a value indicating whether the represented [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) is marked as final by [ActivityDefinition.IsFinal](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/). `public bool IsInitial { get; set; }` Gets or sets a value indicating whether the represented [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) is the process entry point identified by [ActivityDefinition.IsInitial](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/). `public int? SubprocessLevel { get; set; }` Gets or sets the subprocess nesting level of the represented [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/), as defined by [ActivityDefinition.NestingLevel](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/). `public string LocalizedState { get; set; }` Gets or sets the localized name of the business state specified by [ActivityDto.State](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/). `public List Transitions { get; }` Gets the outgoing [TransitionDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/TransitionDto/) entries that are available from this activity in an approval map or selected by a pre-execution simulation. ## Methods `public static bool AddIfNotExistsTo(Dictionary result, ActivityDefinition? activity, ProcessDefinition scheme, out ActivityDto activityDto)` Ensures that `result` contains an [ActivityDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/) for `activity` when `activity` is not [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). ### Parameters | Name | Type | Description | | --- | --- | --- | | `result` | `Dictionary` | The collection of [ActivityDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/) instances keyed by activity name to search or update. | | `activity` | `ActivityDefinition` | The [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) to represent, or [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) to leave `result` unchanged. | | `scheme` | `ProcessDefinition` | The [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) used to initialize [ActivityDto.LocalizedState](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/) when a new [ActivityDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/) must be created. | | `activityDto` | `ActivityDto` | When this method returns, the existing or newly created [ActivityDto](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/ActivityDto/) for `activity`, or [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when `activity` is [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). | ### Returns | Type | Description | | --- | --- | | `Boolean` | [true](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool) when `activity` is not [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null); otherwise, [false](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool). | [Previous WorkflowTimer](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/WorkflowTimer/) [Next Command](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.ApprovalMap/Command/)