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; }
}
}