using Microsoft.AspNetCore.Mvc; using MP.Data.Conf; using MP.Data.DbModels; using MP.WASM.Mon.Server.Data; using Newtonsoft.Json; using NLog; namespace MP.WASM.Mon.Server.Controllers { [ApiController] [Route("api/[controller]")] public class MSEController : ControllerBase //, IDisposable { #region Public Constructors /// /// Avvio controller dei dati MSE /// /// public MSEController(MpDataService DataService) { _DataService = DataService; Log.Trace("Avviata classe MSEController"); } #endregion Public Constructors #region Public Properties /// /// Dizionario dei tag configurati per IOB /// public Dictionary> currTagConf { get; set; } = new Dictionary>(); #endregion Public Properties #region Public Methods [HttpGet("checkAlive")] public Task checkAlive() { Log.Trace("Check Alive"); //string answ = (DateTime.Now.Second % 3 == 0) ? "KO": "OK"; return Task.FromResult(JsonConvert.SerializeObject("OK")); } [HttpGet("getConfig")] public Task> ConfigGetAll() { return _DataService.ConfigGetAll(); } [HttpGet("getAllTagConf")] public Task>> getAllTags() { return _DataService.getAllTags(); } /// /// restituisce il valore da REDIS associato al tag richeisto /// /// Chiave in cui cercare il valore /// [HttpGet("getTagConf/{redKey}")] public string getTagConf(string redKey) { return _DataService.getTagConf(redKey); } [HttpGet("getMachines")] public Task> MacchineGetAll() { return _DataService.MacchineGetAll(); } /// /// Metodo principale x ricevere tutte i dati MSE di tutti gli impianti /// /// [HttpGet()] public async Task> MseGetAll() { return await _DataService.MseGetAll(); } #endregion Public Methods #region Protected Properties /// /// Dataservice x accesso DB /// protected MpDataService _DataService { get; set; } #endregion Protected Properties #if fase /// /// Dispone delle risorse quando non necessarie /// public void Dispose() { _DataService.Dispose(); Log.Trace("Dispose classe MSEController"); } #endif #region Private Fields private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields } }