|
@@ -386,6 +386,17 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in Steps)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.TempValueChangedEvent -= Item_TempValueChangedEvent;
|
|
|
+ item.MFCValueChangedEvent -= Item_MFCValueChangedEvent;
|
|
|
+ item.ValveValueChangedEvent -= Item_ValveValueChangedEvent;
|
|
|
+ item.AUXValueChangedEvent -= Item_AUXValueChangedEvent;
|
|
|
+ item.OhterTempValueChangedEvent -= Item_OhterTempValueChangedEvent;
|
|
|
+ item.PressureValueChangedEvent -= Item_PressureValueChangedEvent;
|
|
|
+ item.LoaderValueChangedEvent -= Item_LoaderValueChangedEvent;
|
|
|
+ item.AlarmValueChangedEvent -= Item_AlarmValueChangedEvent;
|
|
|
+ }
|
|
|
item.TempValueChangedEvent += Item_TempValueChangedEvent;
|
|
|
item.MFCValueChangedEvent += Item_MFCValueChangedEvent;
|
|
|
item.ValveValueChangedEvent += Item_ValveValueChangedEvent;
|
|
@@ -415,6 +426,17 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (Step item in e.NewItems)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.TempValueChangedEvent -= Item_TempValueChangedEvent;
|
|
|
+ item.MFCValueChangedEvent -= Item_MFCValueChangedEvent;
|
|
|
+ item.ValveValueChangedEvent -= Item_ValveValueChangedEvent;
|
|
|
+ item.AUXValueChangedEvent -= Item_AUXValueChangedEvent;
|
|
|
+ item.OhterTempValueChangedEvent -= Item_OhterTempValueChangedEvent;
|
|
|
+ item.PressureValueChangedEvent -= Item_PressureValueChangedEvent;
|
|
|
+ item.LoaderValueChangedEvent -= Item_LoaderValueChangedEvent;
|
|
|
+ item.AlarmValueChangedEvent -= Item_AlarmValueChangedEvent;
|
|
|
+ }
|
|
|
item.TempValueChangedEvent += Item_TempValueChangedEvent;
|
|
|
item.MFCValueChangedEvent += Item_MFCValueChangedEvent;
|
|
|
item.ValveValueChangedEvent += Item_ValveValueChangedEvent;
|
|
@@ -1272,32 +1294,33 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
//AUXSetsCollectionChanged(step);
|
|
|
|
|
|
Task[] tasks = new Task[4];
|
|
|
- tasks[0] = Task.Factory.StartNew(() =>
|
|
|
- {
|
|
|
- MFCSetsCollectionChanged(step);
|
|
|
- });
|
|
|
-
|
|
|
- tasks[1] = Task.Factory.StartNew(() =>
|
|
|
- {
|
|
|
- TemperatureSetsCollectionChanged(step);
|
|
|
- });
|
|
|
-
|
|
|
- tasks[2] = Task.Factory.StartNew(() =>
|
|
|
+ tasks[0] = Task.Run(() => MFCSetsCollectionChanged(step));
|
|
|
+ tasks[1] = Task.Run(() => TemperatureSetsCollectionChanged(step));
|
|
|
+ tasks[2] = Task.Run(() => ValveSetsCollectionChanged(step));
|
|
|
+ tasks[3] = Task.Run(() => AUXSetsCollectionChanged(step));
|
|
|
+ try
|
|
|
{
|
|
|
- ValveSetsCollectionChanged(step);
|
|
|
- });
|
|
|
-
|
|
|
- tasks[3] = Task.Factory.StartNew(() =>
|
|
|
+ Task.WaitAll(tasks);
|
|
|
+ }
|
|
|
+ catch (AggregateException ae)
|
|
|
{
|
|
|
- AUXSetsCollectionChanged(step);
|
|
|
- });
|
|
|
- Task.WaitAll(tasks);
|
|
|
+ LOG.Error("One or more errors occurred during delegate event processing:");
|
|
|
+ foreach (var ex in ae.InnerExceptions)
|
|
|
+ {
|
|
|
+ LOG.Error($" - {ex.GetType().Name}: {ex.Message}");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void MFCSetsCollectionChanged(Step step)
|
|
|
{
|
|
|
foreach (var item in step.MFCSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= step.MFCIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= step.Item_MFCValueChangedEvent;
|
|
|
+ }
|
|
|
item.PropertyChanged += step.MFCIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += step.Item_MFCValueChangedEvent;
|
|
|
}
|
|
@@ -1308,6 +1331,11 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in step.TemperatureSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= step.TemperatureIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= step.Item_TempValueChangedEvent;
|
|
|
+ }
|
|
|
item.PropertyChanged += step.TemperatureIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += step.Item_TempValueChangedEvent;
|
|
|
}
|
|
@@ -1319,6 +1347,11 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in step.ValveSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged += step.ValveIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent += step.Item_ValveValueChangedEvent;
|
|
|
+ }
|
|
|
item.PropertyChanged += step.ValveIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += step.Item_ValveValueChangedEvent;
|
|
|
}
|
|
@@ -1347,6 +1380,12 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in step.AUXSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= step.AUXIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= step.Item_AUXValueChangedEvent;
|
|
|
+
|
|
|
+ }
|
|
|
item.PropertyChanged += step.AUXIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += step.Item_AUXValueChangedEvent;
|
|
|
}
|
|
@@ -3146,6 +3185,13 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in MFCSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= MFCIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= Item_MFCValueChangedEvent;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
item.PropertyChanged += MFCIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += Item_MFCValueChangedEvent;
|
|
|
}
|
|
@@ -3174,6 +3220,13 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in TemperatureSets)
|
|
|
{
|
|
|
+
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= TemperatureIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= Item_TempValueChangedEvent;
|
|
|
+ }
|
|
|
+
|
|
|
item.PropertyChanged += TemperatureIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += Item_TempValueChangedEvent;
|
|
|
}
|
|
@@ -3202,6 +3255,12 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in ValveSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= ValveIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= Item_ValveValueChangedEvent;
|
|
|
+ }
|
|
|
+
|
|
|
item.PropertyChanged += ValveIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += Item_ValveValueChangedEvent;
|
|
|
}
|
|
@@ -3219,6 +3278,13 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (BoolParam item in e.NewItems)
|
|
|
{
|
|
|
+
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged -= ValveIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent -= Item_ValveValueChangedEvent;
|
|
|
+ }
|
|
|
+
|
|
|
item.PropertyChanged += ValveIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += Item_ValveValueChangedEvent;
|
|
|
}
|
|
@@ -3231,6 +3297,11 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (var item in AUXSets)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged += AUXIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent += Item_AUXValueChangedEvent;
|
|
|
+ }
|
|
|
item.PropertyChanged += AUXIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += Item_AUXValueChangedEvent;
|
|
|
}
|
|
@@ -3248,6 +3319,11 @@ namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
{
|
|
|
foreach (AUXData item in e.NewItems)
|
|
|
{
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.PropertyChanged += AUXIsSaved_PropertyChanged;
|
|
|
+ item.ValueChangedEvent += Item_AUXValueChangedEvent;
|
|
|
+ }
|
|
|
item.PropertyChanged += AUXIsSaved_PropertyChanged;
|
|
|
item.ValueChangedEvent += Item_AUXValueChangedEvent;
|
|
|
}
|