Typo minori

This commit is contained in:
Samuele Locatelli
2024-04-29 16:54:20 +02:00
parent 894372b8be
commit 67a2701b16
2 changed files with 86 additions and 87 deletions
@@ -19,6 +19,24 @@ namespace EgtBEAMWALL.DataLayer.Controllers
#region Public Methods
/// <summary>
/// Helper conversione a LogMachineDTO
/// </summary>
/// <param name="currRec"></param>
/// <returns></returns>
public static LogMachineDTO ConvToItemDto(LogMachineModel currRec)
{
LogMachineDTO answ = new LogMachineDTO()
{
DtEvent = currRec.DtEvent,
EvType = (EgwProxy.MagMan.MachLogTypes)currRec.EvType,
ProjCloudId = currRec.ProjId,
SupervId = currRec.SupervId,
VarValue = currRec.VarValue
};
return answ;
}
/// <summary>
/// Conversion of base class to DB model class
/// </summary>
@@ -27,7 +45,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers
public LogMachineModel ConvertFromCore(Core.MachLog coreMacLog)
{
int projCloudId = 0;
// calcolo projCloudId da ProjDbId...
// calcolo projCloudId da ProjId...
using (var localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// Add to database
@@ -60,28 +78,10 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <returns></returns>
public Core.MachLog ConvertToCore(LogMachineModel dbLog)
{
var newRecord = (Core.MachLog)Core.MachLog.CreateMachLog(dbLog.EvType, dbLog.DtEvent, dbLog.VarValue,dbLog.ProjId, dbLog.SupervId);
var newRecord = (Core.MachLog)Core.MachLog.CreateMachLog(dbLog.EvType, dbLog.DtEvent, dbLog.VarValue, dbLog.ProjId, dbLog.SupervId);
return newRecord;
}
/// <summary>
/// Helper conversione a LogMachineDTO
/// </summary>
/// <param name="currRec"></param>
/// <returns></returns>
public static LogMachineDTO ConvToItemDto(LogMachineModel currRec)
{
LogMachineDTO answ = new LogMachineDTO()
{
DtEvent = currRec.DtEvent,
EvType = (EgwProxy.MagMan.MachLogTypes)currRec.EvType,
ProjCloudId = currRec.ProjId,
SupervId = currRec.SupervId,
VarValue = currRec.VarValue
};
return answ;
}
/// <summary>
/// Create machine LOG record
/// </summary>
@@ -122,7 +122,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
/// <returns></returns>
public bool Create(Core.MachLog newMachLog)
{
// converto record
var dbLogModel = ConvertFromCore(newMachLog);
return Create(dbLogModel);
@@ -283,8 +282,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers
if (currRec != null)
{
currRec.DtSent = adesso;
// indico modificato
localDbCtx.Entry(currRec).State = System.Data.Entity.EntityState.Modified;
// indico modificato
localDbCtx.Entry(currRec).State = System.Data.Entity.EntityState.Modified;
}
}
// Salvataggio finale
@@ -211,6 +211,70 @@ namespace EgtBEAMWALL.DataLayer.Controllers
return answ;
}
/// <summary>
/// Esegue sync dei dati LogMacchina su cloud:
/// - upload
/// - cicla secondo parametri indicati
/// </summary>
/// <param name="batchSize">num record da inviare in ogni singolo batch (std: 50)</param>
/// <param name="num2send">num max di record da inviare (std: 1000)</param>
/// <returns></returns>
public SyncResult CloudLogMaccSyncro(int batchSize = 50, int num2send = 1000)
{
SyncResult answ = SyncResult.ERR_ND;
// verifico server ok
bool servOk = commLib.CheckRemote();
if (!servOk)
{
answ = SyncResult.ERR_ServerKo;
}
else
{
int numSent = 0;
using (LogMachineController lmDbContr = new LogMachineController())
{
bool okSend = false;
// elenco record da inviare...
List<LogMachineModel> recList = lmDbContr.GetUnsentAsc(num2send);
// controllo ci sia qulcosa da inviare...
if (recList.Count > 0)
{
// fintanto che ce ne sono procedo...
while (numSent < num2send)
{
var currList = recList
.Skip(numSent)
.Take(batchSize)
.ToList();
// converto il blocco
var listDto = currList
.Select(x => LogMachineController.ConvToItemDto(x))
.ToList();
// invio!
okSend = commLib.LogMachineSend(listDto);
if (okSend)
{
// registro dati inviati...
lmDbContr.SetDtSent(currList);
Log.Info($"Inviati {batchSize}rec | {numSent} --> {numSent + batchSize}");
numSent += batchSize;
}
// altrimenti esco con errore...
else
{
Log.Info($"Errore in invio: {batchSize}rec | inviati {numSent} di {recList.Count}");
// registro errore
answ = SyncResult.ERR_LogMaccSyncUncomplete;
// condizione uscita
numSent = num2send + 1;
}
}
}
}
}
return answ;
}
/// <summary>
/// Esegue sync dei CloudId x Materiali e RawItems:
/// - upload + sync (cloud)
@@ -311,69 +375,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
return answ;
}
/// <summary>
/// Esegue sync dei dati LogMacchina su cloud:
/// - upload
/// - cicla secondo parametri indicati
/// </summary>
/// <param name="batchSize">num record da inviare in ogni singolo batch (std: 50)</param>
/// <param name="num2send">num max di record da inviare (std: 1000)</param>
/// <returns></returns>
public SyncResult CloudLogMaccSyncro(int batchSize = 50, int num2send = 1000)
{
SyncResult answ = SyncResult.ERR_ND;
// verifico server ok
bool servOk = commLib.CheckRemote();
if (!servOk)
{
answ = SyncResult.ERR_ServerKo;
}
else
{
int numSent = 0;
using (LogMachineController lmDbContr = new LogMachineController())
{
bool okSend = false;
// elenco record da inviare...
List<LogMachineModel> recList = lmDbContr.GetUnsentAsc(num2send);
// controllo ci sia qulcosa da inviare...
if (recList.Count > 0)
{
// fintanto che ce ne sono procedo...
while (numSent < num2send)
{
var currList = recList
.Skip(numSent)
.Take(batchSize)
.ToList();
// converto il blocco
var listDto = currList
.Select(x => LogMachineController.ConvToItemDto(x))
.ToList();
// invio!
okSend = commLib.LogMachineSend(listDto);
if (okSend)
{
// registro dati inviati...
lmDbContr.SetDtSent(currList);
Log.Info($"Inviati {batchSize}rec | {numSent} --> {numSent + batchSize}");
numSent += batchSize;
}
// altrimenti esco con errore...
else
{
Log.Info($"Errore in invio: {batchSize}rec | inviati {numSent} di {recList.Count}");
// registro errore
answ = SyncResult.ERR_LogMaccSyncUncomplete;
// condizione uscita
numSent = num2send + 1;
}
}
}
}
}
return answ;
}
public void Dispose()
{
commLib = null;
@@ -1591,7 +1592,6 @@ namespace EgtBEAMWALL.DataLayer.Controllers
return answ;
}
#endregion Private Methods
}
}