using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using MP.AppAuth.Models; using NLog; using System; using System.Collections.Generic; using System.Linq; namespace MP.AppAuth.Controllers { public class MPController : IDisposable { #region Public Fields public static MPController dbController; #endregion Public Fields #region Public Constructors public MPController(IConfiguration configuration) { _configuration = configuration; Log.Info("Avviata classe MpController"); } #endregion Public Constructors #region Public Methods /// /// Elenco Record x AnagKeyValue /// /// public List AnagKeyValuesGetAll() { List dbResult = new List(); using (MoonProContext localDbCtx = new MoonProContext(_configuration)) { dbResult = localDbCtx .DbSetAnagKeyValues .ToList(); } return dbResult; } /// /// Elenco Record x AnagKeyValue /// /// public bool AnagKeyValuesDelete(string NomeVar) { bool fatto = false; using (MoonProContext localDbCtx = new MoonProContext(_configuration)) { var rec2del = localDbCtx .DbSetAnagKeyValues .Where(x => x.NomeVar == NomeVar) .FirstOrDefault(); if (rec2del != null) { localDbCtx.Remove(rec2del); var res = localDbCtx.SaveChanges(); fatto = res > 0; } } return fatto; } /// /// Upsert AnagKeyValue /// /// public bool AnagKeyValuesUpsert(AnagKeyValueModel newRec) { bool fatto = false; using (MoonProContext localDbCtx = new MoonProContext(_configuration)) { var currRec = localDbCtx .DbSetAnagKeyValues .Where(x => x.NomeVar == newRec.NomeVar) .FirstOrDefault(); if (currRec != null) { currRec.Descrizione = newRec.Descrizione; currRec.ValInt = newRec.ValInt; currRec.ValFloat = newRec.ValFloat; currRec.ValString = newRec.ValString; localDbCtx.Entry(currRec).State = EntityState.Modified; } else { localDbCtx.DbSetAnagKeyValues.Add(newRec); } var res = localDbCtx.SaveChanges(); fatto = res > 0; } return fatto; } /// /// Elenco Record x Config /// /// public List ConfigGetAll() { List dbResult = new List(); using (MoonProContext localDbCtx = new MoonProContext(_configuration)) { dbResult = localDbCtx .DbSetConfig .ToList(); } return dbResult; } public void Dispose() { if (dbController != null) { // Clear database controller dbController.Dispose(); } } /// /// Elenco Record x VocabolarioModel /// /// public List VocabolarioGetAll() { List dbResult = new List(); using (MoonProContext localDbCtx = new MoonProContext(_configuration)) { dbResult = localDbCtx .DbSetVocabolario .ToList(); } return dbResult; } #endregion Public Methods #region Private Fields private static IConfiguration _configuration; private static Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields } }