5ac070a292
- aggiunta metodo salvataggio HASH table x MachineIobConf - bozza x gestire dati opzionali IOB+Macchina - typo fix vary
83 lines
2.3 KiB
C#
83 lines
2.3 KiB
C#
using MapoSDK;
|
|
using MongoDB.Driver;
|
|
using SteamWare;
|
|
using System.Collections.Generic;
|
|
|
|
namespace MapoDb
|
|
{
|
|
/// <summary>
|
|
/// Classe gestione archivio modelli MTC in MongoDB
|
|
/// </summary>
|
|
public class MtcDataModelArchive
|
|
{
|
|
#region Public Fields
|
|
|
|
/// <summary>
|
|
/// Singleton gestione istanza condivisa
|
|
/// </summary>
|
|
public static MtcDataModelArchive man = new MtcDataModelArchive();
|
|
|
|
/// <summary>
|
|
/// Dizionario conf macchine
|
|
/// </summary>
|
|
public Dictionary<string, List<machDataItem>> machineDataItems = new Dictionary<string, List<machDataItem>>();
|
|
|
|
#endregion Public Fields
|
|
|
|
#region Public Constructors
|
|
|
|
/// <summary>
|
|
/// init classe x connessione MongoDB
|
|
/// </summary>
|
|
public MtcDataModelArchive()
|
|
{
|
|
database = memLayer.ML.getMongoDatabase("MAPO");
|
|
}
|
|
|
|
#endregion Public Constructors
|
|
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Salva i dataItems della macchina indicata
|
|
/// </summary>
|
|
/// <param name="idxMacchina"></param>
|
|
/// <param name="dataItems"></param>
|
|
/// <returns></returns>
|
|
public bool saveMachineDataItems(string idxMacchina, List<machDataItem> dataItems)
|
|
{
|
|
bool answ = false;
|
|
try
|
|
{
|
|
var collMtcSetup = database.GetCollection<MtcSetup>("MtcSetup");
|
|
// compongo filtro ricerca e metodo update
|
|
var filter = Builders<MtcSetup>.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
|
|
|
|
/// <summary>
|
|
/// Database corrente MongoDB
|
|
/// </summary>
|
|
private IMongoDatabase database;
|
|
|
|
#endregion Private Fields
|
|
}
|
|
} |