Aggiunta metodo saveYamlConf x IOB
This commit is contained in:
@@ -1883,6 +1883,50 @@ namespace MP_IO.Controllers
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa una chiamata POST per l'invio di un oggetto YAML testuale corrispondente alla configurazione dell'IOB
|
||||
/// PUT: IOB/saveConfYaml/SIMUL_03
|
||||
/// </summary>
|
||||
/// <param name="id">ID dell'IOB</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public string saveConfYaml(string id)
|
||||
{
|
||||
string answ = "";
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
answ = "Missing IOB";
|
||||
}
|
||||
else
|
||||
{
|
||||
// questa classe è derivata da Controller.Response... x cui recupero lo stream in
|
||||
// altro modo...
|
||||
string content = "";
|
||||
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
|
||||
using (var reader = new StreamReader(Request.InputStream, System.Text.Encoding.UTF8, true, 4096, true))
|
||||
{
|
||||
content = reader.ReadToEnd();
|
||||
}
|
||||
//Rest
|
||||
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
|
||||
if (content != null)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
DataLayer DataLayerObj = new DataLayer();
|
||||
DataLayerObj.setIobConfYaml(id, content);
|
||||
answ = "OK";
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
logger.lg.scriviLog($"Errore in saveConfYaml{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa una chiamata POST per l'invio di un array Json di oggetti di conf DataItems (es
|
||||
/// per MTC)
|
||||
@@ -2129,18 +2173,13 @@ namespace MP_IO.Controllers
|
||||
// uso datalayer che COMPRENDE MapoDb...
|
||||
DataLayer DataLayerObj = new DataLayer();
|
||||
int num2keep = 5;
|
||||
var rConf = DataLayerObj.ListConfig.Where(x => x.chiave == "").FirstOrDefault();
|
||||
var rConf = DataLayerObj.ListConfig.Where(x => x.chiave == "IO_NumReboot2Keep").FirstOrDefault();
|
||||
if (rConf != null)
|
||||
{
|
||||
int.TryParse(rConf.valore, out num2keep);
|
||||
}
|
||||
// chiamo registrazione reboot
|
||||
DataLayerObj.MapoDbObj.registraStartup(id, IPv4, agent, mac, num2keep);
|
||||
#if false
|
||||
// ora salvo che la macchina è stata (ri)avviata...
|
||||
MapoDb.MapoDb MapoDbObj = new MapoDb.MapoDb();
|
||||
MapoDbObj.registraStartup(id, IPv4, agent, mac);
|
||||
#endif
|
||||
answ = "OK";
|
||||
}
|
||||
catch (Exception exc)
|
||||
|
||||
+28
-1
@@ -470,6 +470,15 @@ namespace MapoDb
|
||||
{
|
||||
return mHash($"MemMap:{idxMacchina}");
|
||||
}
|
||||
/// <summary>
|
||||
/// Hash dati di configurazione IOB in formato YAML x la macchina specificata
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <returns></returns>
|
||||
public static string ConfYamlHash(string idxMacchina)
|
||||
{
|
||||
return mHash($"ConfYaml:{idxMacchina}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Hash Redis contenente i dati MP di una specifico TYPE (es StatusMacchina,
|
||||
@@ -4086,7 +4095,7 @@ namespace MapoDb
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Salvataggio su della mappa di memoria dell'IOB x ulteriori impieghi
|
||||
/// Salvataggio della mappa di memoria dell'IOB x ulteriori impieghi
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="currMemMap"></param>
|
||||
@@ -4104,6 +4113,24 @@ namespace MapoDb
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Salvataggio YAML completo di configurazione dell'IOB
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <param name="iobConfFull"></param>
|
||||
/// <returns></returns>
|
||||
public bool setIobConfYaml(string idxMacchina, string iobConfFull)
|
||||
{
|
||||
bool answ = false;
|
||||
// se ho un area memoria valida...
|
||||
if (!string.IsNullOrEmpty(iobConfFull))
|
||||
{
|
||||
// salvo!
|
||||
memLayer.ML.setRSV(ConfYamlHash(idxMacchina), iobConfFull);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce il valore booleano se la macchina sia abilitata all'inserimento COMPLETO nel
|
||||
/// Signal Log
|
||||
|
||||
Reference in New Issue
Block a user