Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs =================================================================== diff -u -r45cdbd9c1a4955375e03be0085a22152e53232ef -r6b330f8e7c1df6bc70f6de1e4251f69cd6865a81 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision 45cdbd9c1a4955375e03be0085a22152e53232ef) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision 6b330f8e7c1df6bc70f6de1e4251f69cd6865a81) @@ -35,7 +35,9 @@ using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.TreeNodeInfos; +using Ringtoets.HydraRing.Data; using Ringtoets.HydraRing.IO; +using Ringtoets.Revetment.Service; using Ringtoets.StabilityStoneCover.Data; using Ringtoets.StabilityStoneCover.Forms.PresentationObjects; using Ringtoets.StabilityStoneCover.Forms.PropertyClasses; @@ -280,7 +282,11 @@ builder.AddSeparator() .AddValidateAllCalculationsInGroupItem(nodeData, - c => ValidateAll(c.WrappedData.GetCalculations().OfType()), + c => ValidateAll( + c.WrappedData.GetCalculations().OfType(), + c.FailureMechanism.GeneralInput, + c.AssessmentSection.FailureMechanismContribution.Norm, + c.AssessmentSection.HydraulicBoundaryDatabase), ValidateAllDataAvailableAndGetErrorMessageForCalculationGroup) .AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll) .AddClearAllCalculationOutputInGroupItem(group) @@ -358,11 +364,11 @@ nodeData.WrappedData.NotifyObservers(); } - private void ValidateAll(IEnumerable calculations) + private void ValidateAll(IEnumerable calculations, GeneralStabilityStoneCoverWaveConditionsInput generalInput, int norm, HydraulicBoundaryDatabase database) { foreach (StabilityStoneCoverWaveConditionsCalculation calculation in calculations) { - StabilityStoneCoverCalculationService.Validate(calculation); + WaveConditionsCalculationService.Instance.Validate(calculation.Name); } } @@ -385,6 +391,11 @@ failureMechanism, assessmentSection)) .ToList()); + + foreach (var calculation in calculations) + { + calculation.NotifyObservers(); + } } private void WaveConditionsCalculationGroupContextOnNodeRemoved(StabilityStoneCoverWaveConditionsCalculationGroupContext nodeData, object parentNodeData) @@ -429,7 +440,11 @@ StabilityStoneCoverWaveConditionsCalculation calculation = nodeData.WrappedData; return builder.AddValidateCalculationItem(nodeData, - c => StabilityStoneCoverCalculationService.Validate(c.WrappedData), + c => ValidateAll( + new [] { c.WrappedData }, + c.FailureMechanism.GeneralInput, + c.AssessmentSection.FailureMechanismContribution.Norm, + c.AssessmentSection.HydraulicBoundaryDatabase), ValidateAllDataAvailableAndGetErrorMessageForCalculation) .AddPerformCalculationItem(calculation, nodeData, PerformCalculation) .AddClearCalculationOutputItem(calculation) @@ -452,6 +467,7 @@ Path.GetDirectoryName(context.AssessmentSection.HydraulicBoundaryDatabase.FilePath), context.FailureMechanism, context.AssessmentSection)); + calculation.NotifyObservers(); } private void WaveConditionsCalculationContextOnNodeRemoved(StabilityStoneCoverWaveConditionsCalculationContext nodeData, object parentNodeData)