diff --git a/Thermo.Active.Config/ServerConfigController.cs b/Thermo.Active.Config/ServerConfigController.cs
index 5cfaad83..b9c4c7be 100644
--- a/Thermo.Active.Config/ServerConfigController.cs
+++ b/Thermo.Active.Config/ServerConfigController.cs
@@ -841,6 +841,13 @@ namespace Thermo.Active.Config
{
if (File.Exists(filePath))
{
+ // check filePath...
+ if (!filePath.Contains(RECIPE_DIRECTORY))
+ {
+ // aggiungo base path!
+ filePath = RECIPE_DIRECTORY + filePath;
+ }
+
// load all text data
var rawData = File.ReadAllText(filePath);
try
@@ -865,6 +872,12 @@ namespace Thermo.Active.Config
string rawData = JsonConvert.SerializeObject(RecipeLiveData);
// save live!
File.WriteAllText(LIVE_RECIPE_PATH, rawData);
+ // check filePath...
+ if (!filePath.Contains(RECIPE_DIRECTORY))
+ {
+ // aggiungo base path!
+ filePath = RECIPE_DIRECTORY + filePath;
+ }
// save!
File.WriteAllText(filePath, rawData);
}
diff --git a/Thermo.Active/Controllers/WebApi/RecipeController.cs b/Thermo.Active/Controllers/WebApi/RecipeController.cs
index 7765b2ed..8466f6a0 100644
--- a/Thermo.Active/Controllers/WebApi/RecipeController.cs
+++ b/Thermo.Active/Controllers/WebApi/RecipeController.cs
@@ -100,7 +100,7 @@ namespace Thermo.Active.Controllers.WebApi
/// Confirm recipe modification (parameters: HMI --> PLC)
///
///
- [Route("Confirm"), HttpPut]
+ [Route("confirm"), HttpPut]
public IHttpActionResult ConfirmEdit()
{
using (NcAdapter ncAdapter = new NcAdapter())
@@ -110,11 +110,17 @@ namespace Thermo.Active.Controllers.WebApi
if (libraryError.errorCode != 0)
return NotFound();
- // recupero i dati LIVE dei parametri HMI della ricetta...
- CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary currRecipe);
+ // scrivo sul PLC il comando conferma!
+ CmsError cmsError = ncAdapter.ConfirmRecipeData(true);
if (cmsError.IsError())
return BadRequest(cmsError.localizationKey);
+ // recupero i dati LIVE dei parametri HMI della ricetta...
+ cmsError = ncAdapter.ReadFullRecipe(out Dictionary currRecipe);
+ if (cmsError.IsError())
+ return BadRequest(cmsError.localizationKey);
+
+ // rileggo la ricetta
var currParams = new Dictionary();
foreach (var item in currRecipe)
{
@@ -126,11 +132,6 @@ namespace Thermo.Active.Controllers.WebApi
// e salvo su disco
ServerConfigController.WriteLiveData();
- // scrivo sul PLC il comando conferma!
- cmsError = ncAdapter.ConfirmRecipeData(true);
- if (cmsError.IsError())
- return BadRequest(cmsError.localizationKey);
-
// ritorno solo fatto!
return Ok();
}
@@ -140,7 +141,7 @@ namespace Thermo.Active.Controllers.WebApi
/// Cancel recipe modification (parameters: PLC --> HMI)
///
///
- [Route("Cancel"), HttpPut]
+ [Route("cancel"), HttpPut]
public IHttpActionResult CancelEdit()
{
using (NcAdapter ncAdapter = new NcAdapter())
@@ -150,6 +151,45 @@ namespace Thermo.Active.Controllers.WebApi
if (libraryError.errorCode != 0)
return NotFound();
+ // scrivo sul PLC il comando annula!
+ CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
+ if (cmsError.IsError())
+ return BadRequest(cmsError.localizationKey);
+
+ // recupero i dati LIVE dei parametri HMI della ricetta...
+ cmsError = ncAdapter.ReadFullRecipe(out Dictionary currRecipe);
+ if (cmsError.IsError())
+ return BadRequest(cmsError.localizationKey);
+
+ var currParams = new Dictionary();
+ foreach (var item in currRecipe)
+ {
+ currParams.Add(item.Key, item.Value.SetpointPLC);
+ }
+
+ // ora salvo ANCHE i dati live...
+ RecipeLiveData.RecipeParameters = currParams;
+ // e salvo su disco
+ ServerConfigController.WriteLiveData();
+
+ // ritorno solo fatto!
+ return Ok();
+ }
+ }
+
+ ///
+ /// Save current recipe from PLC to default
+ ///
+ ///
+ [Route("save"), HttpPut]
+ public IHttpActionResult Save()
+ {
+ using (NcFileAdapter ncAdapter = new NcFileAdapter())
+ {
+ // Try connection
+ CmsError libraryError = ncAdapter.Connect();
+ if (libraryError.errorCode != 0)
+ return NotFound();
// recupero i dati LIVE dei parametri HMI della ricetta...
CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary currRecipe);
@@ -167,37 +207,6 @@ namespace Thermo.Active.Controllers.WebApi
// e salvo su disco
ServerConfigController.WriteLiveData();
- // scrivo sul PLC il comando annula!
- cmsError = ncAdapter.ConfirmRecipeData(false);
- if (cmsError.IsError())
- return BadRequest(cmsError.localizationKey);
-
- // ritorno solo fatto!
- return Ok();
- }
- }
-
- ///
- /// Save current recipe from PLC to default
- ///
- ///
- [Route("Save"), HttpPut]
- public IHttpActionResult Save()
- {
- using (NcFileAdapter ncAdapter = new NcFileAdapter())
- {
- // Try connection
- CmsError libraryError = ncAdapter.Connect();
- if (libraryError.errorCode != 0)
- return NotFound();
-
- // serialize current recipe as JSon
-
- //// scrivo sul PLC il comando annula!
- //CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
- //if (cmsError.IsError())
- // return BadRequest(cmsError.localizationKey);
-
// ritorno solo fatto!
return Ok();
}
@@ -207,7 +216,7 @@ namespace Thermo.Active.Controllers.WebApi
/// Save current recipe from PLC with new name
///
///
- [Route("SaveAs"), HttpPut]
+ [Route("saveAs"), HttpPut]
public IHttpActionResult SaveAs(string newName)
{
using (NcFileAdapter ncAdapter = new NcFileAdapter())
@@ -217,11 +226,22 @@ namespace Thermo.Active.Controllers.WebApi
if (libraryError.errorCode != 0)
return NotFound();
- // scrivo sul PLC il comando annula!
- CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
+ // recupero i dati LIVE dei parametri HMI della ricetta...
+ CmsError cmsError = ncAdapter.ReadFullRecipe(out Dictionary currRecipe);
if (cmsError.IsError())
return BadRequest(cmsError.localizationKey);
+ var currParams = new Dictionary();
+ foreach (var item in currRecipe)
+ {
+ currParams.Add(item.Key, item.Value.SetpointPLC);
+ }
+
+ // ora salvo ANCHE i dati live...
+ RecipeLiveData.RecipeParameters = currParams;
+ // e salvo su disco
+ ServerConfigController.SaveRecipe(newName);
+
// ritorno solo fatto!
return Ok();
}
@@ -230,7 +250,7 @@ namespace Thermo.Active.Controllers.WebApi
/// load recipe from file and send to PLC
///
///
- [Route("Load"), HttpPut]
+ [Route("load"), HttpPut]
public IHttpActionResult Load(string newName)
{
using (NcFileAdapter ncAdapter = new NcFileAdapter())
@@ -240,10 +260,8 @@ namespace Thermo.Active.Controllers.WebApi
if (libraryError.errorCode != 0)
return NotFound();
- // scrivo sul PLC il comando annula!
- CmsError cmsError = ncAdapter.ConfirmRecipeData(false);
- if (cmsError.IsError())
- return BadRequest(cmsError.localizationKey);
+ // chiamo metodo di lettura...
+ ServerConfigController.LoadRecipe(newName);
// ritorno solo fatto!
return Ok();