From bf0b5684b7e7ac5e6d386b89f18c29d640c8d914 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 27 Jun 2022 12:08:37 +0200 Subject: [PATCH] Update x veto invio cambio stato string --- IOB-WIN-NEXT/IobGeneric.cs | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index b51587db..8b72109c 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -1906,7 +1906,7 @@ namespace IOB_WIN_NEXT idx++; } // combino string - valTransl= string.Join(",", descAttivi); + valTransl = string.Join(",", descAttivi); return valTransl; } @@ -3013,12 +3013,25 @@ namespace IOB_WIN_NEXT /// public virtual void saveValueString(ref Dictionary outVal, string valore, string chiave) { + DateTime adesso = DateTime.Now; //check obj preliminare if (outVal == null) { outVal = new Dictionary(); } - outVal.Add(chiave, valore); + // cerco VC... + if (TSVC_Data.ContainsKey(chiave)) + { + // verifico se sia scaduto OVVERO variato rispetto a prima oppure oltre tempo massimo (default 1 minuti + bool scaduto = (LastTSSSend[chiave].AddSeconds(TSVC_Data[chiave].Period) < adesso); + bool cambiato = !LastTSS[chiave].Equals(valore); + if (scaduto || cambiato) + { + outVal.Add(chiave, valore); + LastTSS[chiave] = valore; + LastTSSSend[chiave] = adesso; + } + } } /// @@ -3786,6 +3799,15 @@ namespace IOB_WIN_NEXT /// protected Dictionary LastTSVC = new Dictionary(); + /// + /// Dizionario ultimi valori (string) delle TSS + /// + protected Dictionary LastTSS = new Dictionary(); + /// + /// Dizionario ultimi valori (string) delle TSS + /// + protected Dictionary LastTSSSend = new Dictionary(); + /// /// Ultima registrazione warning x ODL mancante (x scrivere solo ogni 15 secondi) ///