using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using MP.Data.DatabaseModels; using MP.Data.Services; using NLog; using NLog.Fluent; using static System.Runtime.InteropServices.JavaScript.JSType; namespace MP_TAB.Controllers { [Route("api/[controller]")] [ApiController] public class ListSelectController : ControllerBase { #region Public Constructors public ListSelectController(IConfiguration configuration, ListSelectDataSrv DataService) { Log.Info("Starting ListSelectController"); _configuration = configuration; CtrDataServ = DataService; Log.Info("Avviato ListSelectController"); } #endregion Public Constructors #region Public Methods // GET: api/ListSelect [HttpGet] public string Get() { return "OK"; } [HttpGet("GetArticoli")] public async Task> GetArticoli(string SearchArt, string Azienda = "*", int NumRec = 100000) { List answ = new List(); await Task.Delay(1); try { answ = await CtrDataServ.ArticoliGetSearch(NumRec, Azienda, SearchArt); } catch (Exception exc) { Log.Error($"Eccezione in GetArticoli | SearchArt: {SearchArt} | Azienda: {Azienda} | NumRec: {NumRec}{Environment.NewLine}{exc}"); } return answ; } [HttpGet("GetDictArticoli")] public async Task> GetDictArticoli(string SearchArt, string Azienda = "*", int NumRec = 100000) { Dictionary answ = new Dictionary(); await Task.Delay(1); try { var rawData = await CtrDataServ.ArticoliGetSearch(NumRec, Azienda, SearchArt); // trasformo! if (rawData != null) { answ = rawData.ToDictionary(x => x.CodArticolo, x => $"{x.CodArticolo} | {x.DescArticolo} | {x.Disegno}"); } } catch (Exception exc) { Log.Error($"Eccezione in GetDictArticoli | SearchArt: {SearchArt} | Azienda: {Azienda} | NumRec: {NumRec}{Environment.NewLine}{exc}"); } return answ; } [HttpGet("GetDictMacc")] public async Task> GetDictMacc(int MatrOpr) { Dictionary answ = new Dictionary(); await Task.Delay(1); try { var rawData = await CtrDataServ.MacchineByMatrOper(MatrOpr); // trasformo! if (rawData != null) { answ = rawData.ToDictionary(x => x.IdxMacchina, x => $"{x.IdxMacchina} | {x.Nome}"); } } catch (Exception exc) { Log.Error($"Eccezione in GetDictMacc | MatrOpr: {MatrOpr}{Environment.NewLine}{exc}"); } return answ; } #endregion Public Methods #region Private Fields private static IConfiguration _configuration = null!; private static Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields #region Private Properties private ListSelectDataSrv CtrDataServ { get; set; } = null!; #endregion Private Properties } }