using System;

namespace ZB.MOM.WW.MxGateway.Worker.MxAccess;

/// <summary>
///     Single alarm record as emitted by the wnwrapConsumer XML stream.
///     Field names match the captured XML schema (see
///     <c>docs/AlarmClientDiscovery.md</c> "Option A — captured" section).
/// </summary>
public sealed class MxAlarmSnapshotRecord
{
    public Guid AlarmGuid { get; set; }
    public DateTime TransitionTimestampUtc { get; set; }
    public string ProviderNode { get; set; } = string.Empty;
    public string ProviderName { get; set; } = string.Empty;
    public string Group { get; set; } = string.Empty;
    public string TagName { get; set; } = string.Empty;
    public string Type { get; set; } = string.Empty;
    public string Value { get; set; } = string.Empty;
    public string Limit { get; set; } = string.Empty;
    public int Priority { get; set; }
    public MxAlarmStateKind State { get; set; }
    public string OperatorNode { get; set; } = string.Empty;
    public string OperatorName { get; set; } = string.Empty;
    public string AlarmComment { get; set; } = string.Empty;
}
