using EgwProxy.DataLayer.DbModel;
using EgwProxy.MagMan.DTO;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EgwProxy.DataLayer.Controllers
{
public class LogMachineController : IDisposable
{
#region Public Constructors
///
/// Init classe
///
///
public LogMachineController()
{
}
#endregion Public Constructors
#region Public Methods
public void Dispose()
{
}
///
/// Helper conversione a LogMachineDTO
///
///
///
///
///
///
public static LogMachineDTO ConvToItemDto(LogMachineModel currRec, int keyNum, int machineCloudId, int projCloudId)
{
LogMachineDTO answ = new LogMachineDTO()
{
DtEvent = currRec.DtEvent,
EvType = (MagMan.MachLogTypes)currRec.EvType,
KeyNum = keyNum,
MachineCloudId = machineCloudId,
ProjCloudId = projCloudId,
VarAddress = currRec.VarAddress,
VarValue = currRec.VarValue
};
return answ;
}
///
/// Recupero i dati in ordine crescente fino al num max indicato
///
///
///
public List GetUnsentAsc(int numMax)
{
using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING))
{
// retrieve
return localDbCtx
.DbSetLogMac
.Where(x => x.DtSent == null)
.OrderBy(x => x.DtEvent)
.Take(numMax)
.ToList();
}
}
#endregion Public Methods
#region Private Fields
///
/// Istanza logger
///
private NLog.Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields
}
}