Inizio definizione oggetti da impiegare con MongoDb
This commit is contained in:
@@ -49,6 +49,16 @@
|
||||
/// </summary>
|
||||
String
|
||||
}
|
||||
/// <summary>
|
||||
/// Finestra temporale di aggregazione dati VC
|
||||
/// </summary>
|
||||
public enum timeWindow
|
||||
{
|
||||
hour,
|
||||
day,
|
||||
week,
|
||||
month
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elenco task ammessi (x IOB-WIN da eseguire...)
|
||||
|
||||
@@ -215,6 +215,100 @@ namespace MapoSDK
|
||||
public Dictionary<string, dataConfTSVC> mMapRead = new Dictionary<string, dataConfTSVC>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Classe oggetto base TimeSeries
|
||||
/// </summary>
|
||||
public class tsData
|
||||
{
|
||||
/// <summary>
|
||||
/// Nome della Var Casuale
|
||||
/// </summary>
|
||||
public string vcName { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Data-Ora riferimento campione
|
||||
/// </summary>
|
||||
public DateTime timeStamp { get; set; } = DateTime.Now;
|
||||
/// <summary>
|
||||
/// Tipo di valore gestito
|
||||
/// </summary>
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public plcDataType vcType { get; set; } = plcDataType.Int;
|
||||
/// <summary>
|
||||
/// Valore in formato stringa (che può venire customizzato)
|
||||
/// </summary>
|
||||
public string strValue { get; set; } = "";
|
||||
/// <summary>
|
||||
/// In base al tipo di oggetto restituisce il valore cona deguata conversione......
|
||||
/// </summary>
|
||||
public object actValue
|
||||
{
|
||||
get
|
||||
{
|
||||
object answ = null;
|
||||
bool currBool = false;
|
||||
int currInt = 0;
|
||||
double currDouble = 0;
|
||||
switch (vcType)
|
||||
{
|
||||
case plcDataType.Boolean:
|
||||
bool.TryParse(strValue, out currBool);
|
||||
answ = currBool;
|
||||
break;
|
||||
case plcDataType.Int:
|
||||
case plcDataType.DInt:
|
||||
int.TryParse(strValue, out currInt);
|
||||
answ = currInt;
|
||||
break;
|
||||
case plcDataType.Real:
|
||||
double.TryParse(strValue, out currDouble);
|
||||
answ = currDouble;
|
||||
break;
|
||||
case plcDataType.String:
|
||||
default:
|
||||
answ = strValue;
|
||||
break;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Valore intero
|
||||
/// </summary>
|
||||
public int intVal { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// Valore float
|
||||
/// </summary>
|
||||
public float floatVal { get; set; } = 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// Aggregazione dati VC
|
||||
/// </summary>
|
||||
public class tsGrouped
|
||||
{
|
||||
/// <summary>
|
||||
/// Nome della Var Casuale
|
||||
/// </summary>
|
||||
public string vcName { get; set; } = "";
|
||||
/// <summary>
|
||||
/// Data-Ora riferimento campione
|
||||
/// </summary>
|
||||
public DateTime timeStamp { get; set; } = DateTime.Now;
|
||||
/// <summary>
|
||||
/// Valore medio (NON definito)
|
||||
/// </summary>
|
||||
public object avgValue { get; set; } = null;
|
||||
/// <summary>
|
||||
/// Periodo di aggregazione di riferimento
|
||||
/// </summary>
|
||||
public timeWindow period { get; set; } = timeWindow.hour;
|
||||
/// <summary>
|
||||
/// Campioni effettivi nel periodo
|
||||
/// </summary>
|
||||
public List<tsData> samples { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user