Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs =================================================================== diff -u -r5e6eacaf76f765ba77febee673e9e94895e46feb -r20415b2886919a103cb4677f56a8f61abbb7aa8a --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs (.../HeightStructuresGuiPlugin.cs) (revision 5e6eacaf76f765ba77febee673e9e94895e46feb) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Plugin/HeightStructuresGuiPlugin.cs (.../HeightStructuresGuiPlugin.cs) (revision 20415b2886919a103cb4677f56a8f61abbb7aa8a) @@ -243,6 +243,10 @@ .AddSeparator() .AddToggleRelevancyOfFailureMechanismItem(context, RemoveAllViewsForItem) .AddSeparator() + .AddValidateAllCalculationsInFailureMechanismItem( + context, + c => ValidateAll(c.WrappedData.Calculations.OfType(), c.Parent), + ValidateAllDataAvailableAndGetErrorMessageForCalculationsInFailureMechanism) .AddPerformAllCalculationsInFailureMechanismItem(context, CalculateAll, ValidateAllDataAvailableAndGetErrorMessageForCalculationsInFailureMechanism) .AddClearAllCalculationOutputInFailureMechanismItem(context.WrappedData) .AddSeparator() @@ -331,6 +335,10 @@ builder.AddCreateCalculationGroupItem(group) .AddCreateCalculationItem(context, AddCalculation) .AddSeparator() + .AddValidateAllCalculationsInGroupItem( + context, + c => ValidateAll(c.WrappedData.GetCalculations().OfType(), c.AssessmentSection), + ValidateAllDataAvailableAndGetErrorMessageForCalculationsInGroup) .AddPerformAllCalculationsInGroupItem(group, context, CalculateAll, ValidateAllDataAvailableAndGetErrorMessageForCalculationsInGroup) .AddClearAllCalculationOutputInGroupItem(group) .AddSeparator(); @@ -352,6 +360,14 @@ .Build(); } + private void ValidateAll(IEnumerable heightStructuresCalculations, IAssessmentSection assessmentSection) + { + foreach (var calculation in heightStructuresCalculations) + { + HeightStructuresCalculationService.Validate(calculation, assessmentSection); + } + } + private static void CalculationGroupContextOnNodeRemoved(HeightStructuresCalculationGroupContext context, object parentNodeData) { var parentGroupContext = (HeightStructuresCalculationGroupContext) parentNodeData; @@ -413,7 +429,11 @@ HeightStructuresCalculation calculation = context.WrappedData; - return builder.AddPerformCalculationItem(calculation, context, Calculate, ValidateAllDataAvailableAndGetErrorMessageForCalculation) + return builder.AddValidateCalculationItem( + context, + c => HeightStructuresCalculationService.Validate(c.WrappedData, c.AssessmentSection), + ValidateAllDataAvailableAndGetErrorMessageForCalculation) + .AddPerformCalculationItem(calculation, context, Calculate, ValidateAllDataAvailableAndGetErrorMessageForCalculation) .AddClearCalculationOutputItem(calculation) .AddSeparator() .AddRenameItem()