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; namespace MP.Data.Controllers { public class MpTabController : IDisposable { #region Public Constructors public MpTabController(IConfiguration configuration) { _configuration = configuration; Log.Info("Avviato MpTabController"); } #endregion Public Constructors #region Public Methods /// /// Restituisce l'anagrafica eventi per intero /// /// public List AnagEventiGetAll() { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { dbResult = dbCtx .DbSetAnagEventi .AsNoTracking() .ToList(); } return dbResult; } /// /// Elenco da tabella Config /// /// public List ConfigGetAll() { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { dbResult = dbCtx .DbSetConfig .AsNoTracking() .OrderBy(x => x.Chiave) .ToList(); } return dbResult; } public void Dispose() { _configuration = null; } /// /// Recupero Righe (Actual) della scheda tecnica da GRUPPO + ODL /// /// /// /// public List STAR_byGrpOdl(string codGruppo, int idxODL) { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { var CodGruppo = new SqlParameter("@CodGruppo", codGruppo); var IdxODL = new SqlParameter("@IdxODL", idxODL); dbResult = dbCtx .DbSetStActRow .FromSqlRaw("exec dbo.stp_ST_AR_getByGrpOdl @CodGruppo, @IdxODL", CodGruppo, IdxODL) .AsNoTracking() .AsEnumerable() .ToList(); } return dbResult; } /// /// Recupero Righe (Actual) della scheda tecnica da GRUPPO + ODL + label /// /// /// /// /// public List STAR_byGrpOdlLbl(string codGruppo, string label, int idxODL) { List dbResult = new List(); using (var dbCtx = new MoonProContext(_configuration)) { var CodGruppo = new SqlParameter("@CodGruppo", codGruppo); var Label = new SqlParameter("@Label", label); var IdxODL = new SqlParameter("@IdxODL", idxODL); dbResult = dbCtx .DbSetStActRow .FromSqlRaw("exec dbo.stp_ST_AR_getGrpOdlLabel @CodGruppo, @Label, @IdxODL", CodGruppo, Label, IdxODL) .AsNoTracking() .AsEnumerable() .ToList(); } return dbResult; } #endregion Public Methods #region Private Fields private static IConfiguration _configuration; private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields } }