# Class ActivityBaseFromAction OptimaJet.Workflow.Plugins.Activity.ActivityBaseFromAction Namespace: [OptimaJet.Workflow.Plugins.Activity](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.Activity/) ```csharp public class ActivityBaseFromAction : ActivityBase ``` ## Type Hierarchy - [FormBase](https://api.workflowengine.io/core/OptimaJet.Workflow.Core/FormBase/) - [ActivityBase](https://api.workflowengine.io/core/OptimaJet.Workflow.Core/ActivityBase/) - ActivityBaseFromAction Current type ## Properties `public override bool Disabled { get; set; }` Gets a value, calculated by the callback supplied to the constructor, indicating whether this activity type is hidden from the workflow designer. ### Exceptions | Type | Description | | --- | --- | | `NotImplementedException` | The property setter is not implemented. | ### Remarks Hiding an activity affects designer discovery only: it remains registered with the runtime, so existing scheme nodes can still execute it. The set accessor is not implemented by this base class. `public override List Parameters { get; set; }` Gets or sets the form parameter definitions. `public override BaseTemplate BaseTemplate { get; }` Gets the data model that the workflow designer uses with [FormBase.Template](https://api.workflowengine.io/core/OptimaJet.Workflow.Core/FormBase/) when editing this activity. ## Methods `public static ActivityBase Create(TEnum actionName, ActionDelegate action, Func> formats, string description, IDisableProvider disableProvider) where TEnum : struct` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionName` | `{TEnum}` | | | `action` | `ActionDelegate` | | | `formats` | `Func` | | | `description` | `String` | | | `disableProvider` | `IDisableProvider` | | ### Returns | Type | Description | | --- | --- | | `ActivityBase` | | `public override Task ExecutionAsync(WorkflowRuntime runtime, ProcessInstance processInstance, Dictionary parameters, CancellationToken token)` Executes the form operation during normal workflow execution. ### Parameters | Name | Type | Description | | --- | --- | --- | | `runtime` | `WorkflowRuntime` | The [WorkflowRuntime](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/) invoking the execution. | | `processInstance` | `ProcessInstance` | The current [ProcessInstance](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessInstance/). | | `parameters` | `Dictionary` | Runtime parameter values for the executed form operation, keyed by parameter name. | | `token` | `CancellationToken` | The [CancellationToken](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken) passed from the execution pipeline. | ### Returns | Type | Description | | --- | --- | | `Task` | A [Task](https://learn.microsoft.com/dotnet/api/system.threading.tasks.task) that represents the asynchronous execution. | `public override Task PreExecutionAsync(WorkflowRuntime runtime, ProcessInstance processInstance, Dictionary parameters, CancellationToken token)` Executes the form operation during pre-execution simulation. ### Parameters | Name | Type | Description | | --- | --- | --- | | `runtime` | `WorkflowRuntime` | The [WorkflowRuntime](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/) invoking the simulation. | | `processInstance` | `ProcessInstance` | The current [ProcessInstance](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessInstance/). | | `parameters` | `Dictionary` | Runtime parameter values for the simulated operation, keyed by parameter name. | | `token` | `CancellationToken` | The [CancellationToken](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken) passed from the execution pipeline. | ### Returns | Type | Description | | --- | --- | | `Task` | A [Task](https://learn.microsoft.com/dotnet/api/system.threading.tasks.task) that represents the asynchronous simulation. | [Previous UsersInRoleAsyncDelegate](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/UsersInRoleAsyncDelegate/) [Next ActivityBaseFromActionAsync](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.Activity/ActivityBaseFromActionAsync/)