Update x salvataggio valori canali warmers in ricetta

This commit is contained in:
Samuele Locatelli
2020-10-26 19:19:32 +01:00
parent a3f0758380
commit 375f5556ef
2 changed files with 52 additions and 12 deletions
@@ -24,10 +24,18 @@ namespace Thermo.Active.Model.DTOModels.ThRecipe
/// </summary>
public Dictionary<string, double> RecipeParameters;
/// <summary>
/// Dictionary of all channels and relative setpoints
/// Dictionary of all channels and relative setpoints %
/// </summary>
public Dictionary<int, int> ChannelSetpoints;
/// <summary>
/// Dictionary of all channels and relative TEMP req (°C)
/// </summary>
public Dictionary<int, double> ChannelTCamTempReq;
/// <summary>
/// Dictionary of all channels and status for ThermoCam correction enabled
/// </summary>
public Dictionary<int, bool> ChannelTCamEnab;
/// <summary>
/// Recipe Overview
/// </summary>
public Dictionary<RecipeSection, RecipeCatStatus> RecipeOverview;
@@ -58,15 +58,30 @@ namespace Thermo.Active.Controllers.WebApi
return BadRequest(libraryError.localizationKey);
}
// rileggo la ricetta
var currParams = new Dictionary<int, int>();
// preparo SetpointHMI
var currSetpointHMI = new Dictionary<int, int>();
foreach (var item in currWarmers)
{
currParams.Add(item.Key, item.Value.SetpointHMI);
currSetpointHMI.Add(item.Key, item.Value.SetpointHMI);
}
saveCurrentRecipeWarmers(currParams);
// preparo TCamTempReq
var currTCamTempReq = new Dictionary<int, double>();
foreach (var item in currWarmers)
{
currTCamTempReq.Add(item.Key, item.Value.TCamTempSet);
}
// preparo SetpointHMI
var currTCamEnab = new Dictionary<int, bool>();
foreach (var item in currWarmers)
{
currTCamEnab.Add(item.Key, item.Value.TCamActive);
}
// salvo!
saveCurrentRecipeWarmersData(currSetpointHMI, currTCamTempReq, currTCamEnab);
// ritorno solo fatto!
return Ok();
}
@@ -103,14 +118,29 @@ namespace Thermo.Active.Controllers.WebApi
return BadRequest(libraryError.localizationKey);
}
// rileggo la ricetta
var currParams = new Dictionary<int, int>();
// preparo SetpointHMI
var currSetpointHMI = new Dictionary<int, int>();
foreach (var item in currWarmers)
{
currParams.Add(item.Key, item.Value.SetpointHMI);
currSetpointHMI.Add(item.Key, item.Value.SetpointHMI);
}
saveCurrentRecipeWarmers(currParams);
// preparo TCamTempReq
var currTCamTempReq = new Dictionary<int, double>();
foreach (var item in currWarmers)
{
currTCamTempReq.Add(item.Key, item.Value.TCamTempSet);
}
// preparo SetpointHMI
var currTCamEnab = new Dictionary<int, bool>();
foreach (var item in currWarmers)
{
currTCamEnab.Add(item.Key, item.Value.TCamActive);
}
// salvo!
saveCurrentRecipeWarmersData(currSetpointHMI, currTCamTempReq, currTCamEnab);
// ritorno solo fatto!
return Ok();
@@ -419,21 +449,23 @@ namespace Thermo.Active.Controllers.WebApi
}
/// <summary>
/// Do actual recipe warmers setpoints FileSave
/// Do actual recipe warmers SetpointHMI File-Save
/// </summary>
/// <param name="chSetpoints"></param>
private static void saveCurrentRecipeWarmers(Dictionary<int, int> chSetpoints)
private static void saveCurrentRecipeWarmersData(Dictionary<int, int> chSetpoints, Dictionary<int, double> chTCamTempReq, Dictionary<int, bool> chTCamEnab)
{
try
{
// ora salvo ANCHE i dati live...
NcAdapter.RecipeLiveData.ChannelSetpoints = chSetpoints;
NcAdapter.RecipeLiveData.ChannelTCamTempReq = chTCamTempReq;
NcAdapter.RecipeLiveData.ChannelTCamEnab = chTCamEnab;
// e salvo su disco
NcFileAdapter.SaveRecipeCurrent();
}
catch (Exception exc)
{
ThermoActiveLogger.LogError($"Warmers | SaveCurrentRecipeParams exception | {exc}");
ThermoActiveLogger.LogError($"Warmers | saveCurrentRecipeWarmersData exception | {exc}");
}
}