using System; namespace ZB.MOM.WW.MxGateway.Worker.MxAccess; /// /// Single alarm record as emitted by the wnwrapConsumer XML stream. /// Field names match the captured XML schema (see /// docs/AlarmClientDiscovery.md "Option A — captured" section). /// Records are also produced by the subtag synthesis path when /// is set. /// public sealed class MxAlarmSnapshotRecord { /// Gets or sets the unique alarm identifier. public Guid AlarmGuid { get; set; } /// Gets or sets the UTC timestamp of the transition. public DateTime TransitionTimestampUtc { get; set; } /// Gets or sets the provider node name. public string ProviderNode { get; set; } = string.Empty; /// Gets or sets the provider name. public string ProviderName { get; set; } = string.Empty; /// Gets or sets the alarm group. public string Group { get; set; } = string.Empty; /// Gets or sets the tag name. public string TagName { get; set; } = string.Empty; /// Gets or sets the alarm type. public string Type { get; set; } = string.Empty; /// Gets or sets the alarm value. public string Value { get; set; } = string.Empty; /// Gets or sets the alarm limit. public string Limit { get; set; } = string.Empty; /// Gets or sets the alarm priority. public int Priority { get; set; } /// Gets or sets the alarm state. public MxAlarmStateKind State { get; set; } /// Gets or sets the operator node name. public string OperatorNode { get; set; } = string.Empty; /// Gets or sets the operator name. public string OperatorName { get; set; } = string.Empty; /// Gets or sets the alarm comment. public string AlarmComment { get; set; } = string.Empty; /// /// Gets or sets a value indicating whether this record was synthesized /// by the subtag-provider fallback rather than emitted by the native /// alarmmgr (wnwrap) path. Default preserves /// parity for the alarmmgr path; the subtag fallback sets it to /// . /// public bool Degraded { get; set; } }