Aggiunti metodi add/get/rem Task2Exe x macchina

This commit is contained in:
Samuele Locatelli
2021-10-22 16:02:46 +02:00
parent 069f231bc8
commit c6735a7dfc
6 changed files with 98 additions and 53 deletions
+25 -46
View File
@@ -85,10 +85,30 @@ namespace GWMS.UI.Controllers
/// <param name="taskName"></param>
/// <param name="taskVal"></param>
[HttpGet("addTask2Exe/{id}")]
public string addTask2Exe(string id, string taskName, string taskVal)
public async Task<string> addTask2Exe(string id, string taskName, string taskVal)
{
//Log.Debug($"Chiamata addTask2Exe | {id} | {taskName} | {taskVal}");
return $"N.A. | {id} | {taskName} | {taskVal}";
string answ = "";
Dictionary<string, string> valori = await _DataService.TaskMacchinaAdd(id, taskName, taskVal);
answ = JsonConvert.SerializeObject(valori);
return answ;
}
/// <summary>
/// ELIMINA TASK richiesto x macchina:
///
/// GET: IOB/remTask2Exe/SIMUL_03?taskName=T180326160502
///
/// </summary>
/// <param name="id"></param>
/// <param name="taskName"></param>
[HttpGet("remTask2Exe/{id}")]
public async Task<string> remTask2Exe(string id, string taskName)
{
string answ = "";
Dictionary<string, string> valori = await _DataService.TaskMacchinaRem(id, taskName);
answ = JsonConvert.SerializeObject(valori);
return answ;
}
/// <summary>
@@ -582,20 +602,13 @@ namespace GWMS.UI.Controllers
/// <param name="id"></param>
/// <returns>Json contenente 1..n task da eseguire</returns>
[HttpGet("getTask2Exe/{id}")]
public string getTask2Exe(string id)
public async Task<string> getTask2Exe(string id)
{
//Log.Debug($"Chiamata getTask2Exe | {id}");
string answ = "";
#if false
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
MapoDb.MapoDb connDb = new MapoDb.MapoDb();
DataLayer DataLayerObj = new DataLayer();
connDb.scriviKeepAlive(id, DateTime.Now);
#endif
try
{
// leggo da REDIS eventuale elenco task x macchina...
Dictionary<string, string> valori = _DataService.mTaskMacchina(id).Result;
Dictionary<string, string> valori = await _DataService.TaskMacchinaGet(id);
answ = JsonConvert.SerializeObject(valori);
}
catch
@@ -831,40 +844,6 @@ namespace GWMS.UI.Controllers
return answ;
}
/// <summary>
/// ELIMINA TASK richiesto x macchina:
///
/// GET: IOB/remTask2Exe/SIMUL_03?taskName=T180326160502
///
/// </summary>
/// <param name="id"></param>
/// <param name="taskName"></param>
public string remTask2Exe(string id, string taskName)
{
string answ = "";
// scrivo keep alive!!! (se necessario, altrimenti è in cache...)
MapoDb.MapoDb connDb = new MapoDb.MapoDb();
DataLayer DataLayerObj = new DataLayer();
connDb.scriviKeepAlive(id, DateTime.Now);
try
{
// converto stringa in tipo task...
taskType tName = taskType.nihil;
bool fatto = Enum.TryParse(taskName, out tName);
if (fatto)
{
DataLayerObj.remTask4Machine(id, tName);
}
else
{
logger.lg.scriviLog($"remTask2Exe: impossibile riconoscere il comando {taskName} come uno deitipi ammessi, NON aggiunto", tipoLog.ERROR);
}
answ = getTask2Exe(id);
}
catch
{ }
return answ;
}
/// <summary>
/// Effettua RESET dell'ODL corrente x macchina:
+69 -3
View File
@@ -516,9 +516,9 @@ namespace GWMS.UI.Data
/// <summary>
/// Restitusice elenco KVP dei TASK (da passare a IOB-WIN) per l'impianto indicato
/// </summary>
/// <param name="idxMacchina"></param>
/// <param name="idxMacchina">Impianto richiesto</param>
/// <returns></returns>
public async Task<Dictionary<string, string>> mTaskMacchina(string idxMacchina)
public async Task<Dictionary<string, string>> TaskMacchinaGet(string idxMacchina)
{
// hard coded dimensione vettore DatiMacchine
Dictionary<string, string> answ = new Dictionary<string, string>();
@@ -541,13 +541,79 @@ namespace GWMS.UI.Data
return answ;
}
/// <summary>
/// Aggiunge ad elenco KVP dei TASK (da passare a IOB-WIN) per l'impianto indicato
/// </summary>
/// <param name="idxMacchina">Impianto richiesto</param>
/// <param name="taskName">Nome del Task da aggiungere</param>
/// <param name="taskVal">Valore del Task da aggiungere</param>
/// <returns>Restituisce elenco attuale</returns>
public async Task<Dictionary<string, string>> TaskMacchinaAdd(string idxMacchina, string taskName, string taskVal)
{
// hard coded dimensione vettore DatiMacchine
Dictionary<string, string> currTasks = await TaskMacchinaGet(idxMacchina);
try
{
// cerco se chiave esiste -_> sostituisco
if (currTasks.ContainsKey(taskName))
{
currTasks[taskName] = taskVal;
}
// altrimenti aggiungo
else
{
currTasks.Add(taskName, taskVal);
}
// salvo in redis!
string cacheKey = exeTaskHash(idxMacchina);
string rawData = JsonConvert.SerializeObject(currTasks);
var redisData = Encoding.UTF8.GetBytes(rawData);
await distributedCache.SetAsync(cacheKey, redisData);
}
catch (Exception exc)
{
Log.Info($"Errore in TaskMacchinaAdd | idxMacchina: {idxMacchina} | taskName: {taskName} | taskVal: {taskVal}{Environment.NewLine}{exc}");
}
return currTasks;
}
/// <summary>
/// Rimuove da elenco KVP il TASK indicato (se presente)
/// </summary>
/// <param name="idxMacchina">Impianto richiesto</param>
/// <param name="taskName">Nome del Task da aggiungere</param>
/// <returns>Restituisce elenco attuale</returns>
public async Task<Dictionary<string, string>> TaskMacchinaRem(string idxMacchina, string taskName)
{
// hard coded dimensione vettore DatiMacchine
Dictionary<string, string> currTasks = await TaskMacchinaGet(idxMacchina);
try
{
// cerco se chiave esiste -_> sostituisco
if (currTasks.ContainsKey(taskName))
{
currTasks.Remove(taskName);
// salvo in redis!
string cacheKey = exeTaskHash(idxMacchina);
string rawData = JsonConvert.SerializeObject(currTasks);
var redisData = Encoding.UTF8.GetBytes(rawData);
await distributedCache.SetAsync(cacheKey, redisData);
}
}
catch (Exception exc)
{
Log.Info($"Errore in TaskMacchinaRem | idxMacchina: {idxMacchina} | taskName: {taskName}{Environment.NewLine}{exc}");
}
return currTasks;
}
public async Task<bool> OrderDelete(OrderModel currItem)
{
bool done = false;
try
{
done = dbController.OrderDelete(currItem);
InvalidateAllCache();
await InvalidateAllCache();
}
catch (Exception exc)
{
+1 -1
View File
@@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<Version>1.0.2110.2208</Version>
<Version>1.0.2110.2216</Version>
<UserSecretsId>95c9f021-52d1-4390-a670-5810b7b777b0</UserSecretsId>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>GWMS - Gas Warehouse Management System</i>
<h4>Versione: 1.0.2110.2208</h4>
<h4>Versione: 1.0.2110.2216</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
1.0.2110.2208
1.0.2110.2216
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.2110.2208</version>
<version>1.0.2110.2216</version>
<url>http://nexus.steamware.net/repository/SWS/GWMS/stable/0/GWMS.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/GWMS/stable/0/ChangeLog.html</changelog>
<mandatory>false</mandatory>