# Class ApprovalHistoryEntity OptimaJet.Workflow.Core.Entities.ApprovalHistoryEntity Represents a persistence entity for a pending or completed approval history entry. Namespace: [OptimaJet.Workflow.Core.Entities](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/) ```csharp public class ApprovalHistoryEntity : IEntity ``` ## Type Hierarchy - ApprovalHistoryEntity 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 unique identifier of the approval history entry. `public Guid ProcessId { get; set; }` Gets or sets the identifier of the process instance associated with the entry. `public string TenantId { get; set; }` Gets or sets the tenant identifier associated with the process instance. `public string IdentityId { get; set; }` Gets or sets the workflow participant identity of the executor for a completed approval transition. `public string AllowedTo { get; set; }` Gets or sets the comma-separated user names or workflow participant identities recorded as eligible to complete the approval transition. `public DateTime? TransitionTime { get; set; }` Gets or sets the time when the approval transition occurred, or [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) while the entry represents a pending approval. `public long Sort { get; set; }` Gets or sets the sequence value used to order approval history entries for a process instance. `public string InitialState { get; set; }` Gets or sets the display name of the source state recorded for the approval transition. `public string DestinationState { get; set; }` Gets or sets the display name of the destination state recorded for the approval transition. `public string TriggerName { get; set; }` Gets or sets the display name of the command or timer associated with the approval transition. `public string Commentary { get; set; }` Gets or sets the comment recorded for the approval transition. ## 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 property declared by [ApprovalHistoryEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ApprovalHistoryEntity/). | ### Returns | Type | Description | | --- | --- | | `Object` | The current value of the specified property. | ### Exceptions | Type | Description | | --- | --- | | `ColumnNotExistsException` | Thrown when `key` does not identify 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 property declared by [ApprovalHistoryEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ApprovalHistoryEntity/). | | `value` | `Object` | The value to assign; the expected runtime type is determined by the selected property. | ### Exceptions | Type | Description | | --- | --- | | `ColumnNotExistsException` | Thrown when `key` does not identify a supported property. | [Previous SystemTextStringTypeConverter](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Designer/SystemTextStringTypeConverter/) [Next GlobalParameterEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/GlobalParameterEntity/)