# Class ProcessSchemeEntity OptimaJet.Workflow.Core.Entities.ProcessSchemeEntity Represents a persistence entity that stores a serialized process scheme and the metadata used to create a [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). Namespace: [OptimaJet.Workflow.Core.Entities](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/) ```csharp public class ProcessSchemeEntity : IEntity ``` ## Type Hierarchy - ProcessSchemeEntity Current type - Implemented interfaces - [IEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/IEntity/) ## Properties `public Guid Id { get; set; }` Gets or sets the persisted process scheme identifier exposed by [ProcessDefinition.Id](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public bool IsObsolete { get; set; }` Gets or sets a value indicating whether the process scheme is obsolete, as exposed by [ProcessDefinition.IsObsolete](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public string SchemeCode { get; set; }` Gets or sets the process scheme code exposed by [BaseDefinition.Name](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/). `public string Scheme { get; set; }` Gets or sets the serialized representation of the process scheme. `public Guid? RootSchemeId { get; set; }` Gets or sets the root process scheme identifier for a subprocess scheme, as exposed by [ProcessDefinition.RootSchemeId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public string RootSchemeCode { get; set; }` Gets or sets the root process scheme code for a subprocess scheme, as exposed by [ProcessDefinition.RootSchemeCode](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public string AllowedActivities { get; set; }` Gets or sets the JSON-serialized collection of activity names exposed by [ProcessDefinition.AllowedActivities](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public string StartingTransition { get; set; }` Gets or sets the name of the transition that started the subprocess, as exposed by [ProcessDefinition.StartingTransition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public string TenantId { get; set; }` Gets or sets the tenant identifier associated with the process scheme, as exposed by [ProcessDefinition.TenantId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/), or [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) for a shared process scheme. ## Methods `public object GetValue(string key)` Gets the value of the property identified by `key`. ### Parameters | Name | Type | Description | | --- | --- | --- | | `key` | `String` | The case-sensitive name of a supported public property declared by [ProcessSchemeEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/). | ### Returns | Type | Description | | --- | --- | | `Object` | The value of the property selected by `key`. | ### Exceptions | Type | Description | | --- | --- | | `ColumnNotExistsException` | `key` does not match the name of a supported property. | `public void SetValue(string key, object value)` Sets the value of the property identified by `key`. ### Parameters | Name | Type | Description | | --- | --- | --- | | `key` | `String` | The case-sensitive name of a supported public property declared by [ProcessSchemeEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/). | | `value` | `Object` | The value to assign. Values for [ProcessSchemeEntity.Id](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/) and [ProcessSchemeEntity.IsObsolete](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/) must be a [Guid](https://learn.microsoft.com/dotnet/api/system.guid) and a [bool](https://learn.microsoft.com/dotnet/api/system.boolean), respectively. A value for [ProcessSchemeEntity.RootSchemeId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/) that is not a [Guid](https://learn.microsoft.com/dotnet/api/system.guid), or a value for a supported [string](https://learn.microsoft.com/dotnet/api/system.string) property that is not a [string](https://learn.microsoft.com/dotnet/api/system.string), is assigned as [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). | ### Exceptions | Type | Description | | --- | --- | | `ColumnNotExistsException` | `key` does not match the name of a supported property. | | `InvalidCastException` | `key` identifies [ProcessSchemeEntity.Id](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/) or [ProcessSchemeEntity.IsObsolete](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/), and `value` is not [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) and does not have the required type. | | `NullReferenceException` | `key` identifies [ProcessSchemeEntity.Id](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/) or [ProcessSchemeEntity.IsObsolete](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/), and `value` is [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). | [Previous ProcessInstanceTreeItem](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessInstanceTreeItem/) [Next ProcessTimerEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessTimerEntity/)