fix gestione "*" modificato in caso di annulla causa "rimbalzo reset"

This commit is contained in:
Samuele E. Locatelli
2020-09-22 15:05:30 +02:00
parent 8b645e01d1
commit fa9bed3196
@@ -130,10 +130,26 @@ namespace Thermo.Active.Controllers.WebApi
if (updtRecipe.Count > 0)
{
// salvo che la ricetta è cambiata
NcAdapter.RecipeLiveData.hasChanged = true;
// scrivo sul PLC con i parametri specificati x ritardo/raggruppamento
ncAdapter.WriteRecipeParams(updtRecipe, ncAdapter.nMaxParamWrite, ncAdapter.delayParamWrite);
// verifico SE siano cambiati rispetto a versione originale...
var originalRecipe = NcFileAdapter.LoadRecipe($"{NcAdapter.RecipeLiveData.RecipeDir}{NcAdapter.RecipeLiveData.RecipeName}");
// comparazione parametri...
bool isEqual = false;
ncAdapter.paramsComparer(originalRecipe.RecipeParameters, NcAdapter.RecipeLiveData.RecipeParameters, out isEqual);
// salvo se la ricetta SIA cambiata
NcAdapter.RecipeLiveData.hasChanged = !isEqual;
// ora gestisco la lettura della overview di "modificata
DTORecipeStatus message = new DTORecipeStatus()
{
recipeName = NcAdapter.RecipeLiveData.RecipeName,
hasChanged = NcAdapter.RecipeLiveData.hasChanged,
forceSend = true
};
MessageServices.Current.Publish(SEND_THERMO_RECIPE_CHANGED, null, message);
}
// ritorno solo fatto!
@@ -432,14 +448,6 @@ namespace Thermo.Active.Controllers.WebApi
};
MessageServices.Current.Publish(SEND_THERMO_RECIPE_CHANGED, null, message);
#if false
// attesa 100ms
System.Threading.Thread.Sleep(100);
// ora mando vero valore modificata!
message.hasChanged = NcAdapter.RecipeLiveData.hasChanged;
MessageServices.Current.Publish(SEND_THERMO_RECIPE_CHANGED, null, message);
#endif
// ritorno solo fatto!
return Ok();
}
@@ -628,6 +636,14 @@ namespace Thermo.Active.Controllers.WebApi
NcAdapter.RecipeLiveData.hasChanged = !isEqual;
// e salvo su disco
NcFileAdapter.SaveRecipeCurrent();
// ora gestisco la lettura della overview di "modificata
DTORecipeStatus message = new DTORecipeStatus()
{
recipeName = NcAdapter.RecipeLiveData.RecipeName,
hasChanged = NcAdapter.RecipeLiveData.hasChanged,
forceSend = true
};
MessageServices.Current.Publish(SEND_THERMO_RECIPE_CHANGED, null, message);
}
catch (Exception exc)
{