Files
DP44/enriched-partialglm/Common/DTS.Common.Storage/Classes/Abstract.md
2026-04-17 14:55:32 -04:00

8.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common.Storage/Classes/Abstract/MMEPossibleChannels.cs
Common/DTS.Common.Storage/Classes/Abstract/DbVersions.cs
Common/DTS.Common.Storage/Classes/Abstract/Settings.cs
Common/DTS.Common.Storage/Classes/Abstract/VersionTable.cs
Common/DTS.Common.Storage/Classes/Abstract/TestObjectChannelSettings.cs
Common/DTS.Common.Storage/Classes/Abstract/Tags.cs
Common/DTS.Common.Storage/Classes/Abstract/DigitalOutputSettings.cs
Common/DTS.Common.Storage/Classes/Abstract/LabratoryDetails.cs
Common/DTS.Common.Storage/Classes/Abstract/Squib.cs
Common/DTS.Common.Storage/Classes/Abstract/CalculatedChannels.cs
Common/DTS.Common.Storage/Classes/Abstract/Users.cs
Common/DTS.Common.Storage/Classes/Abstract/LevelTriggers.cs
Common/DTS.Common.Storage/Classes/Abstract/SensorDB.cs
Common/DTS.Common.Storage/Classes/Abstract/TestSetups.cs
2026-04-16T11:55:23.145140+00:00 zai-org/GLM-5-FP8 1 275c64f80988749d

Documentation: DTS.Common.Storage Schema Definitions

1. Purpose

This module provides a collection of abstract classes that serve as schema definitions for the DTS storage system. It centralizes database table names and column identifiers into static constants and enumerations. Its primary role is to provide type-safe, compile-time references for database entities—such as Users, Sensors, TestSetups, and various hardware configurations—decoupling the codebase from raw string literals used in SQL queries or data access layers.

2. Public Interface

The module consists of the following abstract classes, which cannot be instantiated but provide static members for schema reference.

MMEPossibleChannels

  • const string Table: Value "tblMMEPossibleChannels".

DbVersions (Namespace: Storage.Classes.Abstract)

  • enum DbVersionFields: Members: Version, Step, Date, Remarks, UserField.

Settings

  • const string Table: Value "tblSettings".
  • enum UserFields: Members: PropertyId, PropertyType, PropertyValue, UserId.

VersionTable

  • const string TableName: Value "tblDataPRODbVersion".
  • enum Fields: Members: Version, Step, Date, Remarks, UserField.

TestObjectChannelSettings

  • const string TableName: Value "tblTestObjectChannelSettings".
  • enum Fields: Members: TestObjectSerial, ChannelId, Setting, SensorSerial.

Tags

  • const string Table: Value "tblTags".
  • enum TagFields: Members: TagId, TagText, Obssolete.
  • const string TAGASSIGNMENTS_TABLE: Value "TagAssignments".
  • enum TagAssignmentFields: Members: ObjectID, ObjectType, TagID.

DigitalOutputSettings

  • const string Table: Value "tblTOMDigitalChannels".
  • enum Fields: Members: ChannelDescription, DelayMS, DurationMS, OutputMode, LimitDuration, LastModified, LastModifiedBy, Version, LocalOnly, DurationMSFloat, UserTags.

LabratoryDetails

  • const string Table: Value "tblLabratoryDetails".
  • enum LabratoryDetailsFields: Members: Name, LabratoryName, LabratoryContactName, LabratoryContactPhone, LabratoryContactFax, LabratoryContactEmail, LabratoryTestRefNumber, LabratoryProjectRefNumber, LastModified, LastModifiedBy, LocalOnly, Version.

Squib

  • const string Table: Value "tblTOMSquibChannels".
  • enum Fields: Members: SquibDescription, BypassCurrentFilter, BypassVoltageFilter, DelayMS, DurationMS, FireMode, ISOCode, MeasurementType, SquibOutputCurrent, SquibToleranceLow, SquibToleranceHigh, LimitDuration, ArticleId, LocalOnly, Version, LastModified, LastModifiedBy, UserValue1, UserValue2, UserValue3, UserTags.

CalculatedChannels

  • const string Table: Value "tblCalculatedChannels".
  • enum Fields: Members decorated with DbTypeAttr:
    • Id (INTEGER PRIMARY KEY NOT NULL)
    • Operation (INTEGER)
    • CalculatedChannelValueCode (NVARCHAR(255))
    • InputChannelIds (BLOB)
    • CFCForInputChannels (NVARCHAR(255))
    • CFCForOutput (NVARCHAR(255))
    • TestSetupName (NVARCHAR(255))
    • CCName (NVARCHAR(255))

Users

  • const string USERS_TABLE: Value "DataPROUsers".
  • enum UserFields: Members: ID, UserName, DisplayName, Password, Role, LastModified, LastModifiedBy, LocalOnly.
  • const string UIITEMS_TABLE: Value "UIITEMS".
  • enum UIItemFields: Members: ID, Name.
  • const string USERUISETTINGS_TABLE: Value "UserUIItemSettings".
  • enum UserUIItemSettingFields: Members: UserId, UIItemID, Permission, Visible.

LevelTriggers

  • const string Table: Value "tblLevelTriggers".
  • enum Fields: Members decorated with DbTypeAttr (e.g., TestSetupName, GroupSerialNumber, HardwareChannelId, GreaterThanEnabled, GreaterThanEU, etc.).

SensorDB

  • const string SensorCalibrationTable: Value "tblSensorCalibrations".
  • const string SensorDataTable: Value "tblSensors".
  • const string SensorModelsTable: Value "tblSensorModels".
  • enum SensorDataFields: Members include SerialNumber, UserSerialNumber, Model, Manufacturer, Status, MeasurementUnit, OffsetToleranceLow, OffsetToleranceHigh, Id, etc.
  • enum SensorModelFields: Members include Model, Manufacturer, UserPartNumber, Capacity, etc.
  • enum SensorCalibrationFields: Members include SerialNumber, CalibrationDate, Username, NonLinear, etc.
  • enum SensorCalibrationRecordFields: Members include Sensitivity, Poly, AtCapacity, etc.

TestSetups

  • const string HardwareTable: Value "tblTestSetupHardware".
  • enum HardwareFields: Members: TestSetupName, HardwareId, AddOrRemove.
  • const string DASSettingsTable: Value "tblTestSetupDASSettings".
  • const string ChannelSettingsTable: Value "tblTestChannelSettings".
  • enum ChannelSettingFields: Members: TestName, TestObjectName, ChannelId, Setting, SensorSerial.
  • const string TestSetupsTable: Value "tblTestSetups".
  • enum Fields: Extensive list including SetupName, SetupDescription, AutomaticTestProgression, SamplesPerSecond, PreTriggerSeconds, PostTriggerSeconds, ExportFormat, etc.
  • const string TestSetupObjectsTable: Value "tblTestSetupObjects".
  • enum TestSetupObjectFields: Members: TestObjectSerialNumber, TestSetupName, TargetSampleRate, ExcitationWarmupTimeMS, LocalOnly, TestObjectType, TestObjectPosition.
  • const string TestObjectMetaDataTable: Value "tblTestSetupObjectMetaData".
  • enum TestObjectMetaDataFields: Members: TestObject, SetupName, PropName, PropValue, Optional, Version.
  • const string TestObjectTemplatesTable: Value "tblTestObjectTemplates".
  • enum TestObjectTemplatesFields: Members: TemplateName, Icon, Description, LocalOnly, Version, LastModifiedBy, CRC32, TestObject, LastModified, ParentTemplate, SysBuilt.
  • const string TestObjectsTable: Value "tblTestObjects".
  • enum TestObjectsFields: Members: SerialNumber, LastModifiedBy, LastModified, Template, LocalOnly, ParentObject, SysBuilt, Embedded, OriginalTemplate, OriginalSerialNumber.
  • const string TestGraphsTable: Value "tblTestGraphs".
  • enum GraphFields: Members: GraphName, GraphDescription, TemplateName, Channels, UseDomainMin, DomainMin, etc.

3. Invariants

  • Abstract Definition: All schema classes (MMEPossibleChannels, Settings, Users, etc.) are declared abstract. They are intended to be used as static containers for constants and enums, not instantiated.
  • Enum Usage: Nested enums are used to define field names. This implies the system likely casts these enum values to integers or strings (via .ToString()) when constructing queries, or uses them for array indexing.
  • Attribute Metadata: Only CalculatedChannels and LevelTriggers utilize the [DbTypeAttr] attribute. The absence of this attribute on other classes implies that schema type inference (if used) relies on default mappings or a different mechanism for those classes.

4. Dependencies

  • Internal Dependencies: The source files do not contain using statements for external libraries, indicating they are self-contained data structures.
  • External Consumers: Any module handling database persistence (DAOs, Repositories, SQL builders) within the DTS