# Class BeforeActivityExecutionEventArgs OptimaJet.Workflow.Core.Runtime.BeforeActivityExecutionEventArgs Provides event data for [WorkflowRuntime.OnBeforeActivityExecution](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/) and [WorkflowRuntime.OnBeforeActivityExecutionAsync](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowRuntime/). Namespace: [OptimaJet.Workflow.Core.Runtime](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/) ```csharp public class BeforeActivityExecutionEventArgs : EventArgs ``` ## Type Hierarchy - [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs) - BeforeActivityExecutionEventArgs Current type ## Constructors `public BeforeActivityExecutionEventArgs(ProcessInstance processInstance)` Initializes a new instance of the [BeforeActivityExecutionEventArgs](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/BeforeActivityExecutionEventArgs/) class. ### Parameters | Name | Type | Description | | --- | --- | --- | | `processInstance` | `ProcessInstance` | The process instance associated with the event. | ## Properties `public Guid ProcessId { get; }` Gets the identifier of the process. `public bool IsSubprocess { get; }` Gets a value indicating whether the process instance is a subprocess. `public string SchemeCode { get; }` Gets the scheme code of the process. `public ProcessInstance ProcessInstance { get; }` Gets the process instance for the event. `public string ExecutedActivityName { get; }` Gets the name of the executed activity. `public string ExecutedActivityState { get; }` Gets the state name of the executed activity. `public ActivityDefinition ExecutedActivity { get; }` Gets the executed activity definition. `public TransitionDefinition ExecutedTransition { get; }` Gets the executed transition definition. `public ActivityDefinition CurrentActivity { get; }` Gets the current activity. `public string CurrentActivityName { get; }` Gets the name of the current activity. `public string CurrentState { get; }` Gets the current workflow state. [Previous BaseAggregatingProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/BaseAggregatingProvider-T/) [Next BulkCreateInstancePrams](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/BulkCreateInstancePrams/)