using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_UT_NEXT.Config.Base
{
///
/// Gestione parametri relativi alla gestione del FluxLog
///
public class FluxLogDto
{
#region Public Properties
///
/// Abilitazione gestione Dossier quotidiani automatici
///
public bool AutoSnapshotDossier { get; set; } = false;
///
/// Abilitazione all'operazione di copia dei valori DynData in area MemMap.Write
///
public bool CopyDyn2MemWrite { get; set; } = false;
///
/// DeadBand generale segnali
///
public double DeadBand { get; set; } = 1;
///
/// Valore di demoltiplica lettura dynData (se presente) o ignora e pone a 1
///
public int DemFactDynData { get; set; } = 1;
///
/// Disabilita DynData globalmente range valori
///
public bool DisDynData { get; set; } = false;
///
/// Disabilita controllo range valori
///
public bool DisDynDataRangeCheck { get; set; } = false;
///
/// Abilitazione generale FluxLog / DynData
///
public bool EnableDynData { get; set; } = true;
///
/// Abilitazione al filtraggio dati FluxLog generale
///
public bool EnableFilt { get; set; } = true;
///
/// Abilitazione gestione overrides
///
public bool EnableOverrides { get; set; } = true;
///
/// Abilitazione gestione slow data (invio periodico anche in caso di mancata modifica, secondo SamplePeriod)
///
public bool EnableSlowData { get; set; } = true;
///
/// Forza DynData senza controllo variazione da precedente valore
///
public bool ForceDynData { get; set; } = false;
///
/// DeadBand globale x gestione filtraggio valori per sole variazioni sopra soglia
///
public float GlobalDeadBand { get; set; } = 1;
///
/// Durata massima in sec di mancata comunicazione/aggiornamento (ad eventi) dopo di cui i dati vengono comunque riletti
///
public int MaxSecReload { get; set; } = 1800;
///
/// Sample period generale (x evitare invii troppo frequenti)
///
public int SamplePeriod { get; set; } = 1800;
///
/// Indica se inviare nei flux log il record DYNDATA|xxxx con variazioni
///
public bool SendDynDataRec { get; set; } = false;
///
/// Indica se inviare all'avvio applicazione tutti i valori
///
public bool SendOnBoot { get; set; } = false;
///
/// Valore soglia x registrare eventi FluxLog TrackData
///
public int TrackDataThreshold { get; set; } = 20;
///
/// Durata (in secondi) del veto ad invio snapshot (per evitare doppi click e doppio snapshot/dossier)
///
public int VetoSendSnapshotSec { get; set; } = 5;
#endregion Public Properties
}
}