namespace GB5Shared.ChangeTracking { /// /// Represents a single field-level change detected during an entity UPDATE. /// Serialized to JSON and carried in . /// Stored individually in TEVENTLOGCHANGE by EventLogSubBLL after the event is consumed. /// Not written for INSERT operations — full snapshot is in TEVENTLOG.DATA. /// public sealed class ChangeRecordDTO { public ChangeRecordDTO() { } public ChangeRecordDTO(string fieldName, string? oldValue, string? newValue) { FieldName = fieldName; OldValue = oldValue; NewValue = newValue; } /// Property name from the DTO (e.g. "Amount", "Status"). public string FieldName { get; set; } = string.Empty; /// String representation of the value before the update; null if not previously set. public string? OldValue { get; set; } /// String representation of the value after the update. public string? NewValue { get; set; } } }