using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using MP.AppAuth.Models; using NLog; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MP.AppAuth.Controllers { public class AppAuthController { #region Public Constructors public AppAuthController(IConfiguration configuration) { _configuration = configuration; Log.Info("Avviata classe AppAuthController"); } #endregion Public Constructors #region Public Methods /// /// Elenco Record x Gruppi /// /// public List AnagGruppiFilt(string codTipo) { List dbResult = new List(); using (AppAuthContext localDbCtx = new AppAuthContext(_configuration)) { dbResult = localDbCtx .DbSetAnagraficaGruppi .Where(x => x.TipoGruppo == codTipo) .ToList(); } return dbResult; } /// /// Elenco Record x Gruppi /// /// public List AnagGruppiGetAll() { List dbResult = new List(); using (AppAuthContext localDbCtx = new AppAuthContext(_configuration)) { dbResult = localDbCtx .DbSetAnagraficaGruppi .ToList(); } return dbResult; } public List AnagOpByGruppoGetFilt(string codGruppo, string searchVal) { List dbResult = new List(); using (AppAuthContext localDbCtx = new AppAuthContext(_configuration)) { if (!string.IsNullOrEmpty(searchVal)) { dbResult = localDbCtx .DbSetGruppi2Oper .Where(x => x.CodGruppo == codGruppo || string.IsNullOrEmpty(codGruppo)) .Join( localDbCtx.DbSetAnagOpr.Where(x => x.Cognome.Contains(searchVal) || x.Nome.Contains(searchVal)), gruppo => gruppo.MatrOpr, operatore => operatore.MatrOpr, (gruppo, operatore) => operatore ) .ToList(); } else { dbResult = localDbCtx .DbSetGruppi2Oper .Where(x => x.CodGruppo == codGruppo || string.IsNullOrEmpty(codGruppo)) .Join( localDbCtx.DbSetAnagOpr, gruppo => gruppo.MatrOpr, operatore => operatore.MatrOpr, (gruppo, operatore) => operatore ) .ToList(); } } // ritorno return dbResult; } public List AnagOpGetAll(string searchVal) { List dbResult = new List(); using (AppAuthContext localDbCtx = new AppAuthContext(_configuration)) { if (!string.IsNullOrEmpty(searchVal)) { dbResult = localDbCtx .DbSetAnagOpr .Where(x => x.Cognome.Contains(searchVal) || x.Nome.Contains(searchVal)) .ToList(); } else { dbResult = localDbCtx .DbSetAnagOpr .ToList(); } } // ritorno return dbResult; } /// /// Elenco completo permessi2funzione /// /// public List Permessi2FunzioneGetAll() { List dbResult = new List(); using (AppAuthContext dbCtx = new AppAuthContext(_configuration)) { dbResult = dbCtx .DbSetPermessi2Funzione .ToList(); } return dbResult; } /// /// Elenco permessi2funzione filtrato x elenco funzioni /// /// public List Permessi2FunzioneGetFilt(List FunList) { List dbResult = new List(); using (AppAuthContext dbCtx = new AppAuthContext(_configuration)) { dbResult = dbCtx .DbSetPermessi2Funzione .Where(x => FunList.Contains(x.CodFunzione)) .ToList(); } return dbResult; } /// /// Elenco completo permessi /// /// public List PermessiGetAll() { List dbResult = new List(); using (AppAuthContext dbCtx = new AppAuthContext(_configuration)) { dbResult = dbCtx .DbSetPermessi .ToList(); } return dbResult; } /// /// Elenco permessi dato elenco funzioni /// /// /// public List PermessiGetByFunc(List ListCodFun) { List dbResult = new List(); using (AppAuthContext dbCtx = new AppAuthContext(_configuration)) { var listPer = PermessiGetAll(); var listP2F = Permessi2FunzioneGetFilt(ListCodFun); var query = from permesso in listPer join p2f in listP2F on permesso.CodPermesso equals p2f.CodPermesso select permesso; dbResult = query.ToList(); } return dbResult; } /// /// Elenco Record x gestione Update /// /// public List UpdManGetAll() { List dbResult = new List(); using (AppAuthContext localDbCtx = new AppAuthContext(_configuration)) { dbResult = localDbCtx .DbSetUpdMan .OrderBy(x => x.Ordinal) .ToList(); } return dbResult; } /// /// Elenco Record x gestione Update /// /// public List VocabolarioGetAll() { List dbResult = new List(); using (AppAuthContext localDbCtx = new AppAuthContext(_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 } }