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
}
}