using Microsoft.Data.SqlClient; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using MP.Data.DatabaseModels; using NLog; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace MP.Data.Controllers { public class MpInveController : IDisposable { #region Public Constructors public MpInveController(IConfiguration configuration) { _configuration = configuration; Log.Info("Avviata classe MpInveController"); } #endregion Public Constructors #region Public Methods /// /// Elenco Inventari CORRENTI (=aperti, senza data fine) /// /// public List InventSessCurrList() { List dbResult = new List(); using (var dbCtx = new MoonPro_InveContext(_configuration)) { dbResult = dbCtx .DbInveSess .Where(x => x.DtEnd == null) .AsNoTracking() .OrderByDescending(x => x.DtStart) .ToList(); } return dbResult; } /// /// Elenco Inventari tipo Azienda (TUTTI, chiusi e paerti) filtrati x data /// /// /// /// public List InventSessHistList(DateTime FromDate, DateTime ToDate) { List dbResult = new List(); using (var dbCtx = new MoonPro_InveContext(_configuration)) { dbResult = dbCtx .DbInveSess .Where(x => x.DtStart >= FromDate && x.DtStart <= ToDate) .AsNoTracking() .OrderByDescending(x => x.DtStart) .ToList(); } return dbResult; } public void Dispose() { _configuration = null; } /// /// Elenco Scansioni dato Id sessione inventario /// /// /// public List ScanBySession(int InveSessId) { List dbResult = new List(); using (var dbCtx = new MoonPro_InveContext(_configuration)) { dbResult = dbCtx .DbScanData .Where(x => x.InveSessID == InveSessId) .AsNoTracking() .OrderByDescending(x => x.DtScan) .ToList(); } return dbResult; } /// /// Elenco operatori /// /// /// /// /// /// public List ElencoOperatori(int matrOpr, string authKey) { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { if ((matrOpr == 0) && (authKey == "")) { dbResult = dbCtx .DbOperatori .Where(s => s.MatrOpr > 0) .AsNoTracking() .OrderBy(x => x.MatrOpr) .ToList(); } else { dbResult = dbCtx .DbOperatori .Where(s => (s.MatrOpr > 0) && (s.MatrOpr == matrOpr) && (s.authKey==authKey)) .AsNoTracking() .OrderBy(x => x.MatrOpr) .ToList(); } } return dbResult; } #endregion Public Methods #region Private Fields private static IConfiguration _configuration; private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields } }