using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Configuration; using NLog; using Microsoft.Extensions.Configuration; namespace MP.Data.Controllers { public class MpStatsController : IDisposable { #region Private Fields private static IConfiguration _configuration; private static MoonPro_STATSContext dbCtx; private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields #region Public Constructors public MpStatsController(IConfiguration configuration) { _configuration = configuration; dbCtx = new MoonPro_STATSContext(configuration); Log.Info("Avviata classe MpStatsController.MpStatsController"); } #endregion Public Constructors #region Public Methods public void Dispose() { // Clear database context dbCtx.Dispose(); } /// /// Annulla modifiche su una specifica entity (cancel update) /// /// /// public bool RollBackEntity(object item) { bool answ = false; try { if (dbCtx.Entry(item).State == Microsoft.EntityFrameworkCore.EntityState.Deleted || dbCtx.Entry(item).State == Microsoft.EntityFrameworkCore.EntityState.Modified) { dbCtx.Entry(item).Reload(); } } catch (Exception exc) { Log.Error($"Eccezione in rollBackEntity{Environment.NewLine}{exc}"); } return answ; } /// /// Elenco tabella controlli da filtro /// /// /// /// public List StatControlliGetAll(int numRecord, string searchVal = "") { List dbResult = new List(); dbResult = dbCtx .DbSetControlli .Where(x => x.Note.Contains(searchVal) || x.IdxMacchina.Contains(searchVal) || x.CodArticolo.Contains(searchVal) || string.IsNullOrEmpty(searchVal)) .OrderByDescending(x => x.DataOra) .Take(numRecord) .ToList(); return dbResult; } /// /// Elenco tabella scarti da filtro /// /// /// /// public List StatScartiGetAll(int numRecord, string searchVal = "") { List dbResult = new List(); dbResult = dbCtx .DbSetScarti .Where(x => x.KeyRichiesta.Contains(searchVal) || x.Descrizione.Contains(searchVal) || x.CodArticolo.Contains(searchVal) || string.IsNullOrEmpty(searchVal)) .OrderByDescending(x => x.DataOraRif) .Take(numRecord) .ToList(); return dbResult; } /// /// Elenco tabella UserLog da filtro /// /// /// /// public List StatUserLogGetAll(int numRecord, string searchVal = "") { List dbResult = new List(); dbResult = dbCtx .DbSetUserLog .Where(x => x.Valore.Contains(searchVal) || x.Cognome.Contains(searchVal) || x.CodArticolo.Contains(searchVal) || string.IsNullOrEmpty(searchVal)) .OrderByDescending(x => x.DataOraRif) .Take(numRecord) .ToList(); return dbResult; } #endregion Public Methods } }