Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresPlugin.cs =================================================================== diff -u -r0f678f97e76d90e4a7e7f0611ff22ab196b46381 -r2a0fbe6ec22928831305671ecd4f41030b827250 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresPlugin.cs (.../HeightStructuresPlugin.cs) (revision 0f678f97e76d90e4a7e7f0611ff22ab196b46381) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresPlugin.cs (.../HeightStructuresPlugin.cs) (revision 2a0fbe6ec22928831305671ecd4f41030b827250) @@ -98,28 +98,28 @@ }; yield return new ViewInfo< - HeightStructuresScenariosContext, - CalculationGroup, - HeightStructuresScenariosView> - { - GetViewData = context => context.WrappedData, - GetViewName = (view, calculationGroup) => RingtoetsCommonFormsResources.Scenarios_DisplayName, - AfterCreate = (view, context) => view.FailureMechanism = context.ParentFailureMechanism, - CloseForData = CloseScenariosViewForData, - Image = RingtoetsCommonFormsResources.ScenariosIcon - }; + HeightStructuresScenariosContext, + CalculationGroup, + HeightStructuresScenariosView> + { + GetViewData = context => context.WrappedData, + GetViewName = (view, calculationGroup) => RingtoetsCommonFormsResources.Scenarios_DisplayName, + AfterCreate = (view, context) => view.FailureMechanism = context.ParentFailureMechanism, + CloseForData = CloseScenariosViewForData, + Image = RingtoetsCommonFormsResources.ScenariosIcon + }; yield return new ViewInfo< - FailureMechanismSectionResultContext, - IEnumerable, - HeightStructuresFailureMechanismResultView> - { - GetViewName = (view, results) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, - Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, - CloseForData = CloseFailureMechanismResultViewForData, - GetViewData = context => context.WrappedData, - AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism - }; + FailureMechanismSectionResultContext, + IEnumerable, + HeightStructuresFailureMechanismResultView> + { + GetViewName = (view, results) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, + Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + CloseForData = CloseFailureMechanismResultViewForData, + GetViewData = context => context.WrappedData, + AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism + }; } public override IEnumerable GetTreeNodeInfos() @@ -479,9 +479,9 @@ } builder.AddValidateAllCalculationsInGroupItem( - context, - ValidateAll, - ValidateAllDataAvailableAndGetErrorMessageForCalculationsInGroup) + context, + ValidateAll, + ValidateAllDataAvailableAndGetErrorMessageForCalculationsInGroup) .AddPerformAllCalculationsInGroupItem(group, context, CalculateAll, ValidateAllDataAvailableAndGetErrorMessageForCalculationsInGroup) .AddSeparator() .AddClearAllCalculationOutputInGroupItem(group); @@ -551,8 +551,10 @@ } }; calculations.Add(calculation); - StructuresHelper.Update(sectionResults, calculation); } + StructuresHelper.UpdateCalculationToSectionResultAssignments( + sectionResults, + calculations.Cast>()); } private static void CalculationGroupContextOnNodeRemoved(HeightStructuresCalculationGroupContext context, object parentNodeData) @@ -561,12 +563,10 @@ parentGroupContext.WrappedData.Children.Remove(context.WrappedData); var heightStructuresCalculations = context.FailureMechanism.Calculations.Cast>().ToArray(); - foreach (var calculation in context.WrappedData.GetCalculations().Cast>()) - { - StructuresHelper.Delete(context.FailureMechanism.SectionResults, - calculation, - heightStructuresCalculations); - } + + StructuresHelper.UpdateCalculationToSectionResultAssignments(context.FailureMechanism.SectionResults, + heightStructuresCalculations); + parentGroupContext.NotifyObservers(); } @@ -669,7 +669,7 @@ if (calculationGroupContext != null) { calculationGroupContext.WrappedData.Children.Remove(context.WrappedData); - StructuresHelper.Delete(context.FailureMechanism.SectionResults, context.WrappedData, context.FailureMechanism.Calculations.Cast>()); + StructuresHelper.UpdateCalculationToSectionResultAssignments(context.FailureMechanism.SectionResults, context.FailureMechanism.Calculations.Cast>()); calculationGroupContext.NotifyObservers(); } }