using MapoSDK; using MongoDB.Driver; using SteamWare; using System.Collections.Generic; namespace MapoDb { /// /// Classe gestione archivio modelli MTC in MongoDB /// public class MtcDataModelArchive { #region Public Fields /// /// Singleton gestione istanza condivisa /// public static MtcDataModelArchive man = new MtcDataModelArchive(); /// /// Dizionario conf macchine /// public Dictionary> machineDataItems = new Dictionary>(); #endregion Public Fields #region Public Constructors /// /// init classe x connessione MongoDB /// public MtcDataModelArchive() { database = memLayer.ML.getMongoDatabase("MAPO"); } #endregion Public Constructors #region Public Methods /// /// Salva i dataItems 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; } #endregion Public Methods #region Private Fields /// /// Database corrente MongoDB /// private IMongoDatabase database; #endregion Private Fields } }