# Interface ICustomWorkflowRuleProvider OptimaJet.Workflow.Plugins.CustomWorkflowProviders.ICustomWorkflowRuleProvider Namespace: [OptimaJet.Workflow.Plugins.CustomWorkflowProviders](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/) ```csharp public interface ICustomWorkflowRuleProvider : IWorkflowRuleProvider ``` ## Type Hierarchy - ICustomWorkflowRuleProvider Current type - Base interfaces - [IWorkflowRuleProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/IWorkflowRuleProvider/) - Implementing types - [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/) ## Methods `void ExcludeRule_(string ruleName, ExcludeRule excludeRule)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `ruleName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeRuleAsync_(string ruleName, ExcludeRule excludeRule)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `ruleName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeRule(string ruleName, ExcludeRule excludeRule = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `ruleName` | `String` | | | `excludeRule` | `ExcludeRule` | | `bool HasInRule(string ruleName)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `ruleName` | `String` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool HasInRuleAsync(string ruleName)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `ruleName` | `String` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool ValidateRules(out List rules, bool withExceptions = false)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `rules` | `List` | | | `withExceptions` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool ValidateRulesAsync(out List rulesAsync, bool withExceptions = false)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `rulesAsync` | `List` | | | `withExceptions` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | [Previous ICustomWorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomWorkflowActionProvider/) [Next ICustomWorkflowRuleProviderExtensions](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomWorkflowRuleProviderExtensions/)