# Class BpmnActivityBase OptimaJet.Workflow.BpmnPlugin.Elements.BpmnActivityBase Namespace: [OptimaJet.Workflow.BpmnPlugin.Elements](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/) ```csharp public abstract class BpmnActivityBase : ActivityBase ``` ## Type Hierarchy - [FormBase](https://api.workflowengine.io/core/OptimaJet.Workflow.Core/FormBase/) - [ActivityBase](https://api.workflowengine.io/core/OptimaJet.Workflow.Core/ActivityBase/) - BpmnActivityBase Current type - [EndEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/EndEvent/) - [ExclusiveGateway](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/ExclusiveGateway/) - [MessageCatchEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/MessageCatchEvent/) - [ParallelGateway](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/ParallelGateway/) - [ServiceTaskActivity](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/ServiceTaskActivity/) - [StartEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/StartEvent/) - [TerminateEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/TerminateEvent/) - [TimerCatchEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/TimerCatchEvent/) ## Constructors `public BpmnActivityBase(Func? getDisabled = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `getDisabled` | `Func` | | ## Properties `public override string PluginName { get; }` Gets the name of the plugin that contributes this activity type to the workflow designer. ### Remarks The value is included in the custom activity metadata and allows designer clients to group or otherwise identify plugin-provided activities. For example, the workflow designer places activities provided by the BPMN plugin on its BPMN palette tab. Built-in activities return [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). ## Methods `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 invoking the execution. | | `processInstance` | `ProcessInstance` | The current 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 invoking the simulation. | | `processInstance` | `ProcessInstance` | The current 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 UploadBpmnResponse](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.DesignerActions/UploadBpmnResponse/) [Next EndEvent](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.Elements/EndEvent/)