# Interface IWorkflowGenerator OptimaJet.Workflow.Core.Generator.IWorkflowGenerator Defines a component that generates source process schemes to be parsed by [IWorkflowParser](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Parser/IWorkflowParser-TSchemeMedium/). Namespace: [OptimaJet.Workflow.Core.Generator](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Generator/) ```csharp public interface IWorkflowGenerator where TSchemeMedium : class ``` ## Type Hierarchy - IWorkflowGenerator Current type - Derived interfaces - [IWorkflowProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/IWorkflowProvider/) - Implementing types - [MongoDBProvider](https://api.workflowengine.io/mongodb/OptimaJet.Workflow.MongoDB/MongoDBProvider/) - [MSSQLProvider](https://api.workflowengine.io/sql-server/OptimaJet.Workflow.DbPersistence/MSSQLProvider/) - [FileSchemePersistenceMSSQLProvider](https://api.workflowengine.io/sql-server/OptimaJet.Workflow.DbPersistence/FileSchemePersistenceMSSQLProvider/) - [MySQLProvider](https://api.workflowengine.io/mysql/OptimaJet.Workflow.MySQL/MySQLProvider/) - [OracleProvider](https://api.workflowengine.io/oracle/OptimaJet.Workflow.Oracle/OracleProvider/) - [FileSchemePersistenceOracleProvider](https://api.workflowengine.io/oracle/OptimaJet.Workflow.Oracle/FileSchemePersistenceOracleProvider/) - [PostgreSQLProvider](https://api.workflowengine.io/postgresql/OptimaJet.Workflow.PostgreSQL/PostgreSQLProvider/) - [FileSchemePersistencePostgreSQLProvider](https://api.workflowengine.io/postgresql/OptimaJet.Workflow.PostgreSQL/FileSchemePersistencePostgreSQLProvider/) - [SqliteProvider](https://api.workflowengine.io/sqlite/OptimaJet.Workflow.SQLite/SqliteProvider/) - [FileSchemePersistenceSqliteProvider](https://api.workflowengine.io/sqlite/OptimaJet.Workflow.SQLite/FileSchemePersistenceSqliteProvider/) ## Methods `Task GenerateAsync(string schemeCode, string tenantId = null)` Asynchronously generates the source process scheme identified by `schemeCode` in the tenant scope specified by `tenantId`. ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemeCode` | `String` | The code of the process scheme to generate. | | `tenantId` | `String` | The tenant identifier that scopes generation, or [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) for generation without a tenant scope. | ### Returns | Type | Description | | --- | --- | | `Task` | A [Task](https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1) whose result is the generated source process scheme. | [Previous WrongSubprocessMarkupException](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Fault/WrongSubprocessMarkupException/) [Next HelperDateTime](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Helpers/HelperDateTime/)