# Class WorkflowForm OptimaJet.Workflow.MSSQL.Models.WorkflowForm Namespace: [OptimaJet.Workflow.MSSQL.Models](https://api.workflowengine.io/sql-server/OptimaJet.Workflow.MSSQL.Models/) ```csharp public class WorkflowForm : DbObject ``` ## Type Hierarchy - [DbObject](https://api.workflowengine.io/sql-server/OptimaJet.Workflow.DbPersistence/DbObject-TEntity/) - WorkflowForm Current type ## Constructors `public WorkflowForm(string schemaName, int commandTimeout)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `schemaName` | `String` | | | `commandTimeout` | `Int32` | | ## Methods `public Task> GetFormNamesAsync(SqlConnection connection, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task GetFormAsync(SqlConnection connection, string name, int? version = null, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `name` | `String` | | | `version` | `Nullable` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task> GetFormVersionsAsync(SqlConnection connection, string name, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `name` | `String` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task CreateNewFormVersionAsync(SqlConnection connection, DateTime creationDate, string name, string defaultDefinition, int? version = null, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `creationDate` | `DateTime` | | | `name` | `String` | | | `defaultDefinition` | `String` | | | `version` | `Nullable` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task CreateNewFormIfNotExistsAsync(SqlConnection connection, DateTime creationDate, string name, string defaultDefinition, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `creationDate` | `DateTime` | | | `name` | `String` | | | `defaultDefinition` | `String` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task UpdateFormAsync(SqlConnection connection, string name, int version, long oldLock, long newLock, string definition, DateTime updatedDate, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `name` | `String` | | | `version` | `Int32` | | | `oldLock` | `Int64` | | | `newLock` | `Int64` | | | `definition` | `String` | | | `updatedDate` | `DateTime` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task DeleteFormVersionAsync(SqlConnection connection, string name, int version, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `name` | `String` | | | `version` | `Int32` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task DeleteFormAsync(SqlConnection connection, string name, string tenantId = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `connection` | `SqlConnection` | | | `name` | `String` | | | `tenantId` | `String` | | ### Returns | Type | Description | | --- | --- | | `Task` | | [Previous QueryDefinition](https://api.workflowengine.io/sql-server/OptimaJet.Workflow.MSSQL.Models/QueryDefinition/) [Next WorkflowRuntime](https://api.workflowengine.io/sql-server/OptimaJet.Workflow.MSSQL.Models/WorkflowRuntime/)