--- source_files: - Common/DTS.Common/Interface/Graphs/IGraph.cs - Common/DTS.Common/Interface/Graphs/IGraphRecord.cs generated_at: "2026-04-17T16:37:25.581541+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "392b86d2780be0b6" --- # Documentation: DTS.Common.Interface.Graphs ## 1. Purpose This module defines the core data contracts for graph configuration within the DTS system. It provides two interfaces—`IGraphRecord` and `IGraph`—that model graph definitions persisted in a database, including axis bounds configuration, channel associations, and threshold lines. `IGraphRecord` represents the raw database record structure, while `IGraph` extends it with runtime operations for channel management and XML serialization. These interfaces serve as the abstraction layer between graph persistence and graph rendering/logic components. --- ## 2. Public Interface ### IGraphRecord Base interface describing a database record for a graph. | Property | Type | Description | |----------|------|-------------| | `GraphId` | `int` | Database primary key for the graph. | | `TestSetupId` | `int` | Foreign key linking the graph to a test setup. | | `GraphName` | `string` | Display name of the graph. Constrained to 50 characters via `[MaxLength(50)]`. | | `GraphDescription` | `string` | Description text for the graph. Constrained to 50 characters via `[MaxLength(50)]`. | | `ChannelsString` | `string` | Serialized representation of all channels in the graph. Constrained to 2048 characters via `[MaxLength(2048)]`. | | `UseDomainMin` | `bool` | Flag indicating whether the domain (X) axis has a minimum bound. | | `DomainMin` | `double` | Minimum value for the domain axis. Only meaningful when `UseDomainMin` is `true`. | | `UseDomainMax` | `bool` | Flag indicating whether the domain (X) axis has a maximum bound. | | `DomainMax` | `double` | Maximum value for the domain axis. Only meaningful when `UseDomainMax` is `true`. | | `UseRangeMin` | `bool` | Flag indicating whether the range (Y) axis has a minimum bound. | | `RangeMin` | `double` | Minimum value for the range axis. Only meaningful when `UseRangeMin` is `true`. | | `UseRangeMax` | `bool` | Flag indicating whether the range (Y) axis has a maximum bound. | | `RangeMax` | `double` | Maximum value for the range axis. Only meaningful when `UseRangeMax` is `true`. | | `ThresholdsString` | `string` | Serialized representation of threshold lines to display on the graph. Constrained to 2048