using MapoSDK; using MongoDB.Driver; using SteamWare; using System.Collections.Generic; namespace MapoDb { /// /// Classe gestione archivio modelli MTC dei vari IOB /// public class MtcDataModelArchive { /// /// Database corrente MongoDB /// IMongoDatabase database; /// /// Dizionario conf macchine /// public Dictionary> machineDataItems = new Dictionary>(); /// /// Classe gestione archivio allarmi /// public MtcDataModelArchive() { database = memLayer.ML.getMongoDatabase("MAPO"); } /// /// Singleton gestione istanza AlarmsManager /// public static MtcDataModelArchive man = new MtcDataModelArchive(); /// /// Salva il DataModel XML della macchina indicata /// /// /// /// public bool saveMachineDataItems(string idxMacchina, List dataItems) { bool answ = false; try { var collMtcSetup = database.GetCollection("MtcSetup"); // compongo filtro ricerca e metodo update var filter = Builders.Filter.Eq(u => u.idxMacchina, idxMacchina); // chiamo update: cerco riga, se c'è aggiorno sennò creo MtcSetup newDoc = new MtcSetup() { idxMacchina = idxMacchina, dataItems = dataItems }; // elimino se ci fosse già... collMtcSetup.DeleteMany(filter); // inserisco ex novo! collMtcSetup.InsertOne(newDoc); answ = true; } catch { } return answ; } } }