Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r184de624feae0c0a051e34298d66e304d073daf5 -ra8354e83db04899a5e94b92c8803d31131a8b480 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 184de624feae0c0a051e34298d66e304d073daf5) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision a8354e83db04899a5e94b92c8803d31131a8b480) @@ -418,8 +418,10 @@ RingtoetsCommonFormsResources.Validate_all, RingtoetsCommonFormsResources.Validate_all_ToolTip, RingtoetsCommonFormsResources.ValidateAllIcon, - (o, args) => ValidateAll(failureMechanism) - ); + (o, args) => + { + ValidateAll(GetAllPipingCalculations(failureMechanism)); + }); if (!GetAllPipingCalculations(failureMechanism).Any()) { @@ -430,25 +432,6 @@ return menuItem; } - private void ValidateAll(PipingFailureMechanism failureMechanism) - { - foreach (PipingCalculation calculation in GetAllPipingCalculations(failureMechanism)) - { - PipingCalculationService.Validate(calculation); - } - } - - private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) - { - ActivityProgressDialogRunner.Run(Gui.MainWindow, - GetAllPipingCalculations(failureMechanismContext.WrappedData) - .Select(calc => new PipingCalculationActivity(calc, - failureMechanismContext.WrappedData.PipingProbabilityAssessmentInput, - failureMechanismContext.Parent.FailureMechanismContribution.Norm, - failureMechanismContext.WrappedData.Contribution)) - .ToList()); - } - private object[] FailureMechanismEnabledChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext) { PipingFailureMechanism wrappedData = pipingFailureMechanismContext.WrappedData; @@ -714,7 +697,10 @@ var menuItem = new StrictContextMenuItem( RingtoetsCommonFormsResources.Validate_all, PipingFormsResources.PipingCalculationGroup_Validate_All_ToolTip, - RingtoetsCommonFormsResources.ValidateAllIcon, (o, args) => { ValidateAll(group); }); + RingtoetsCommonFormsResources.ValidateAllIcon, (o, args) => + { + ValidateAll(group.GetCalculations().OfType()); + }); if (!group.GetCalculations().Any()) { @@ -725,35 +711,55 @@ return menuItem; } + private void PipingCalculationGroupContextOnNodeRemoved(PipingCalculationGroupContext nodeData, object parentNodeData) + { + var parentGroupContext = (PipingCalculationGroupContext) parentNodeData; + + parentGroupContext.WrappedData.Children.Remove(nodeData.WrappedData); + + parentGroupContext.NotifyObservers(); + } + + #endregion + + private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) + { + var calculations = GetAllPipingCalculations(failureMechanismContext.WrappedData); + var assessmentInput = failureMechanismContext.WrappedData.PipingProbabilityAssessmentInput; + var norm = failureMechanismContext.Parent.FailureMechanismContribution.Norm; + var contribution = failureMechanismContext.WrappedData.Contribution; + + CalculateAll(calculations, assessmentInput, norm, contribution); + } + private void CalculateAll(CalculationGroup group, PipingCalculationGroupContext context) { - ActivityProgressDialogRunner.Run(Gui.MainWindow, - group.GetCalculations() - .OfType() - .Select(pc => new PipingCalculationActivity(pc, - context.FailureMechanism.PipingProbabilityAssessmentInput, - context.AssessmentSection.FailureMechanismContribution.Norm, - context.FailureMechanism.Contribution)) - .ToList()); + var calculations = group.GetCalculations().OfType().ToArray(); + var assessmentInput = context.FailureMechanism.PipingProbabilityAssessmentInput; + var norm = context.AssessmentSection.FailureMechanismContribution.Norm; + var contribution = context.FailureMechanism.Contribution; + + CalculateAll(calculations, assessmentInput, norm, contribution); } - private static void ValidateAll(CalculationGroup group) + private static void ValidateAll(IEnumerable pipingCalculations) { - foreach (PipingCalculation calculation in group.GetCalculations().OfType()) + foreach (PipingCalculation calculation in pipingCalculations) { PipingCalculationService.Validate(calculation); } } - private void PipingCalculationGroupContextOnNodeRemoved(PipingCalculationGroupContext nodeData, object parentNodeData) + private void CalculateAll(IEnumerable calculations, PipingProbabilityAssessmentInput assessmentInput, int norm, double contribution) { - var parentGroupContext = (PipingCalculationGroupContext) parentNodeData; - - parentGroupContext.WrappedData.Children.Remove(nodeData.WrappedData); - - parentGroupContext.NotifyObservers(); + ActivityProgressDialogRunner.Run( + Gui.MainWindow, + calculations + .Select(pc => new PipingCalculationActivity(pc, + assessmentInput, + norm, + contribution)) + .ToList()); } - - #endregion } } \ No newline at end of file