Typo minori
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user