Files

118 lines
2.9 KiB
C#

using System;
using System.Collections.Generic;
namespace MapoSDK
{
/// <summary>
/// Definizione allarme
/// </summary>
public class alarmData
{
#region Public Properties
/// <summary>
/// Codice univoco
/// </summary>
public string code { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string description { get; set; } = "";
/// <summary>
/// Severity (0....1000, minimo...massimo)
/// </summary>
public int severity { get; set; } = 0;
#endregion Public Properties
}
/// <summary>
/// Definizione classe evento allarme
/// </summary>
public class alarmEvent
{
#region Public Properties
/// <summary>
/// Lista delle condizioni di allarme attive ad inizio evento
/// </summary>
public List<alarmData> activeConditions { get; set; } = null;
/// <summary>
/// Elenco dei dati di tipo FluxLog nei minuti antecedenti l'evento
/// </summary>
public List<rawData> blackBoxData { get; set; } = null;
/// <summary>
/// Data riferimento campione in formato YMD = yyyyMMdd
/// </summary>
public int dateYMD { get; set; } = 0;
/// <summary>
/// Data-Ora inizio evento
/// </summary>
public DateTime ended { get; set; } = DateTime.Now;
/// <summary>
/// Data-Ora inizio evento
/// </summary>
public DateTime started { get; set; } = DateTime.Now;
/// <summary>
/// Contatore incrementale univoco annuale (per chiave yyyy.n)
/// </summary>
public int yCounter { get; set; } = 0;
/// <summary>
/// Anno di riferimento allarme (per chiave yyyy.n)
/// </summary>
public int yCurr { get; set; } = 0;
#endregion Public Properties
}
/// <summary>
/// Definizione classe evento allarme
/// </summary>
public class alarmStats
{
#region Public Properties
/// <summary>
/// Durata media annuale allarmi
/// </summary>
public double avgDuration
{
get
{
double answ = 0;
try
{
answ = totalDuration / yCounter;
}
catch
{ }
return answ;
}
}
/// <summary>
/// Valore cumulato complessivo degli allarmi registrati
/// </summary>
public double totalDuration { get; set; } = 0;
/// <summary>
/// Valore Contatore univoco annuale raggiunto yyyy.n
/// </summary>
public int yCounter { get; set; } = 1;
/// <summary>
/// Anno riferimento
/// </summary>
public int year { get; set; } = 0;
#endregion Public Properties
}
}