58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using MapoSDK;
|
|
using MongoDB.Driver;
|
|
using SteamWare;
|
|
using System.Collections.Generic;
|
|
|
|
namespace MapoDb
|
|
{
|
|
/// <summary>
|
|
/// Classe gestione archivio modelli MTC dei vari IOB
|
|
/// </summary>
|
|
public class MtcDataModelArchive
|
|
{
|
|
/// <summary>
|
|
/// Database corrente MongoDB
|
|
/// </summary>
|
|
IMongoDatabase database;
|
|
/// <summary>
|
|
/// Dizionario conf macchine
|
|
/// </summary>
|
|
public Dictionary<string, List<machDataItem>> machineDataItems = new Dictionary<string, List<machDataItem>>();
|
|
|
|
/// <summary>
|
|
/// Classe gestione archivio allarmi
|
|
/// </summary>
|
|
public MtcDataModelArchive()
|
|
{
|
|
database = memLayer.ML.getMongoDatabase("MAPO");
|
|
}
|
|
/// <summary>
|
|
/// Singleton gestione istanza AlarmsManager
|
|
/// </summary>
|
|
public static MtcDataModelArchive man = new MtcDataModelArchive();
|
|
/// <summary>
|
|
/// Salva il DataModel XML della macchina indicata
|
|
/// </summary>
|
|
/// <param name="idxMacchina"></param>
|
|
/// <param name="currXmlDataModel"></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);
|
|
var update = Builders<MtcSetup>.Update.Set(u => u.dataItems, dataItems);
|
|
// chiamo update: cerco riga, se c'è aggiorno sennò creo
|
|
collMtcSetup.UpdateOne(filter, update);
|
|
answ = true;
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
}
|