using Microsoft.AspNetCore.Mvc;
using MP.Data.Conf;
using MP.Data.DatabaseModels;
using MP.WASM.Mon.Data;
using Newtonsoft.Json;
using NLog;
using StackExchange.Redis;
namespace MP.WASM.Mon.Server.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class MSEController : ControllerBase
{
#region Public Constructors
///
/// Dataservice x accesso DB
///
protected MpDataService _DataService { get; set; }
///
/// Avvio controller dei dati MSE
///
///
public MSEController(MpDataService DataService)
{
_DataService = DataService;
Log.Info("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("getConfig")]
public Task> ConfigGetAll()
{
return _DataService.ConfigGetAll();
}
///
/// 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();
}
[HttpGet("getAllTagConf")]
public Task>> getAllTags()
{
return _DataService.getAllTags();
}
///
/// Metodo principale x ricevere tutte i dati MSE di tutti gli impianti
///
///
[HttpGet()]
public Task> MseGetAll()
{
return _DataService.MseGetAll();
}
#endregion Public Methods
#region Private Fields
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields
#region Private Methods
#endregion Private Methods
}
}