# Class WorkflowActionAndDesignerParameterFormatProvider OptimaJet.Workflow.Plugins.CustomWorkflowProviders.WorkflowActionAndDesignerParameterFormatProvider Namespace: [OptimaJet.Workflow.Plugins.CustomWorkflowProviders](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/) ```csharp public abstract class WorkflowActionAndDesignerParameterFormatProvider : WorkflowActionProvider, ICustomWorkflowActionProvider, IWorkflowActionProvider, IDisableProvider, ICustomDesignerParameterFormatProvider, IDesignerParameterFormatProvider where TEnumActions : struct where TEnumActionsAsync : struct where TEnumConditions : struct where TEnumConditionsAsync : struct ``` ## Type Hierarchy - [WorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowActionProvider-TEnumActions-TEnumActionsAsync-TEnumConditions-TEnumConditionsAsync/) - WorkflowActionAndDesignerParameterFormatProvider Current type - [CustomMixProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/CustomMixProvider-EnumActions-EnumActionsAsync-EnumConditions-EnumConditionsAsync/) - [CompressProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.CompressProvider/CompressProvider/) - [DirectoryFTPProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.SFTPProvider.DirectoryFTPProvider/DirectoryFTPProvider/) - [DirectoryProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.DirectoryProvider/DirectoryProvider/) - [FileFTPProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.SFTPProvider.FileFTPProvider/FileFTPProvider/) - [FileProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.FileProvider/FileProvider/) - [ListFilesProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.ListFilesProvider/ListFilesProvider/) - [WorkflowPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowPlugin-TEnumActions-TEnumActionsAsync-TEnumConditions-TEnumConditionsAsync/) - [ApprovalPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/ApprovalPlugin/) - [LoopPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/LoopPlugin/) - [WorkflowPluginWithRuleProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowPluginWithRuleProvider-EnumActions-EnumActionsAsync-EnumConditions-EnumConditionsAsync-EnumRules-EnumRulesAsync/) - [BasicPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/BasicPlugin/) - Implemented interfaces - [ICustomDesignerParameterFormatProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomDesignerParameterFormatProvider/) - [IDesignerParameterFormatProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/IDesignerParameterFormatProvider/) - [ICustomWorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomWorkflowActionProvider/) - [IDisableProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/IDisableProvider/) - [IWorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/IWorkflowActionProvider/) ## Methods `protected string GetParameter(Dictionary parameters, TParameter parameterName) where TParameter : struct` ### Parameters | Name | Type | Description | | --- | --- | --- | | `parameters` | `Dictionary` | | | `parameterName` | `{TParameter}` | | ### Returns | Type | Description | | --- | --- | | `String` | | `protected string GetParameterOrDefault(Dictionary parameters, TParameter parameterName, string defaultValue, bool canBeNullOrEmpty = true) where TParameter : struct` ### Parameters | Name | Type | Description | | --- | --- | --- | | `parameters` | `Dictionary` | | | `parameterName` | `{TParameter}` | | | `defaultValue` | `String` | | | `canBeNullOrEmpty` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `String` | | `public virtual List GetFormat(CodeActionType type, string name, string schemeCode)` Gets the ordered form-field definitions for a named action, condition, or rule. ### Parameters | Name | Type | Description | | --- | --- | --- | | `type` | `CodeActionType` | The parameter usage context: [CodeActionType.Action](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionType/), [CodeActionType.Condition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionType/), [CodeActionType.RuleCheck](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionType/), or [CodeActionType.RuleGet](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionType/). | | `name` | `String` | The action, condition, or rule name selected in the Designer. | | `schemeCode` | `String` | The current process scheme code, which can be used to provide scheme-specific fields. The value may be [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when the format is requested without a process scheme context. | ### Returns | Type | Description | | --- | --- | | `List` | An ordered list containing one [CodeActionParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionParameterDefinition/) per form field. Returning [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) or an empty list indicates that no structured parameter editor is defined; the Designer then uses its raw JSON editor. | ## Fields `protected Dictionary>> ActionsFormats` `protected Dictionary>> ActionsAsyncFormats` `protected Dictionary>> ConditionsFormats` `protected Dictionary>> ConditionsAsyncFormats` [Previous ProviderProviders](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ProviderProviders-TEnumProviders/) [Next WorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowActionProvider-TEnumActions-TEnumActionsAsync-TEnumConditions-TEnumConditionsAsync/)