diff --git a/MP-IO/Controllers/IOBController.cs b/MP-IO/Controllers/IOBController.cs index eae4e244..03cc88bf 100644 --- a/MP-IO/Controllers/IOBController.cs +++ b/MP-IO/Controllers/IOBController.cs @@ -190,10 +190,33 @@ namespace MP_IO.Controllers List currParams = DataLayer.getCurrObjItems(id); // ora per ogni valore RICEVUTO costruisco un oggetto in innnovazioni da inviare...x salvare in stato parametri... List innovazioni = new List(); - foreach (var item in receivedData.fluxData) { + // flux = uuid del parametro + objItem trovato = currParams.Find(obj => obj.uid == item.flux); + // se lo trovo aggiorno... + if (trovato != null) + { + // aggiorno valore e data + trovato.value = item.valore; + trovato.lastRead = DateTime.Now; + } + // altrimenti AGGIUNGO (READ ONLY)... + else + { + trovato = new objItem + { + uid = item.flux, + value = item.valore, + lastRead = DateTime.Now, + writable = false + }; + } + // lo carico in innovation + innovazioni.Add(trovato); } + // faccio upsert innovations! + DataLayer.upsertCurrObjItems(id, innovazioni); } catch (Exception exc) {