Files
mxaccessgw/src/ZB.MOM.WW.MxGateway.Worker/MxAccess/MxAlarmSnapshot.cs
T

51 lines
2.4 KiB
C#

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).
/// Records are also produced by the subtag synthesis path when
/// <see cref="Degraded"/> is set.
/// </summary>
public sealed class MxAlarmSnapshotRecord
{
/// <summary>Gets or sets the unique alarm identifier.</summary>
public Guid AlarmGuid { get; set; }
/// <summary>Gets or sets the UTC timestamp of the transition.</summary>
public DateTime TransitionTimestampUtc { get; set; }
/// <summary>Gets or sets the provider node name.</summary>
public string ProviderNode { get; set; } = string.Empty;
/// <summary>Gets or sets the provider name.</summary>
public string ProviderName { get; set; } = string.Empty;
/// <summary>Gets or sets the alarm group.</summary>
public string Group { get; set; } = string.Empty;
/// <summary>Gets or sets the tag name.</summary>
public string TagName { get; set; } = string.Empty;
/// <summary>Gets or sets the alarm type.</summary>
public string Type { get; set; } = string.Empty;
/// <summary>Gets or sets the alarm value.</summary>
public string Value { get; set; } = string.Empty;
/// <summary>Gets or sets the alarm limit.</summary>
public string Limit { get; set; } = string.Empty;
/// <summary>Gets or sets the alarm priority.</summary>
public int Priority { get; set; }
/// <summary>Gets or sets the alarm state.</summary>
public MxAlarmStateKind State { get; set; }
/// <summary>Gets or sets the operator node name.</summary>
public string OperatorNode { get; set; } = string.Empty;
/// <summary>Gets or sets the operator name.</summary>
public string OperatorName { get; set; } = string.Empty;
/// <summary>Gets or sets the alarm comment.</summary>
public string AlarmComment { get; set; } = string.Empty;
/// <summary>
/// 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 <see langword="false"/> preserves
/// parity for the alarmmgr path; the subtag fallback sets it to
/// <see langword="true"/>.
/// </summary>
public bool Degraded { get; set; }
}