Files
MoonPro.net/MapoDb/MtcDataModelArchive.cs
Samuele Locatelli 5ac070a292 MP-IO
- aggiunta metodo salvataggio HASH table x MachineIobConf
- bozza x gestire dati opzionali IOB+Macchina
- typo fix vary
2024-10-14 16:01:09 +02:00

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