Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -r5724d9646d808c712d3bd87ecc89d8e23426c83f -r83024e3b1086e1dba93b83df874bd4781f67aa63 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 5724d9646d808c712d3bd87ecc89d8e23426c83f) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 83024e3b1086e1dba93b83df874bd4781f67aa63) @@ -35,6 +35,7 @@ using Ringtoets.ClosingStructures.Forms.Views; using Ringtoets.ClosingStructures.IO; using Ringtoets.ClosingStructures.Service; +using Ringtoets.ClosingStructures.Utils; using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; @@ -489,8 +490,11 @@ ClosingStructuresCalculation calculation = context.WrappedData; - return builder.AddValidateCalculationItem(context, ValidateAction, ValidateAllDataAvailableAndGetErrorMessageForCalculation) - .AddPerformCalculationItem(calculation, context, CalculateAction, ValidateAllDataAvailableAndGetErrorMessageForCalculation) + return builder.AddValidateCalculationItem( + context, + c => new ClosingStructuresCalculationService().Validate(c.WrappedData, c.AssessmentSection), + ValidateAllDataAvailableAndGetErrorMessageForCalculation) + .AddPerformCalculationItem(calculation, context, Calculate, ValidateAllDataAvailableAndGetErrorMessageForCalculation) .AddClearCalculationOutputItem(calculation) .AddSeparator() .AddRenameItem() @@ -503,10 +507,15 @@ .Build(); } - private static void CalculateAction(ClosingStructuresCalculation closingStructuresCalculation, ClosingStructuresCalculationContext closingStructuresCalculationContext) {} + private void Calculate(ClosingStructuresCalculation calculation, ClosingStructuresCalculationContext context) + { + ActivityProgressDialogRunner.Run(Gui.MainWindow, + new ClosingStructuresCalculationActivity(calculation, + Path.GetDirectoryName(context.AssessmentSection.HydraulicBoundaryDatabase.FilePath), + context.FailureMechanism, + context.AssessmentSection)); + } - private static void ValidateAction(ClosingStructuresCalculationContext closingStructuresCalculationContext) {} - private static string ValidateAllDataAvailableAndGetErrorMessageForCalculation(ClosingStructuresCalculationContext context) { return ValidateAllDataAvailableAndGetErrorMessage(context.AssessmentSection, context.FailureMechanism); @@ -518,6 +527,9 @@ if (calculationGroupContext != null) { calculationGroupContext.WrappedData.Children.Remove(context.WrappedData); + ClosingStructuresHelper.Delete(context.FailureMechanism.SectionResults, + context.WrappedData, + context.FailureMechanism.Calculations.Cast()); calculationGroupContext.NotifyObservers(); } } Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/Ringtoets.ClosingStructures.Plugin.csproj =================================================================== diff -u -r10ebec09145f1bdb1294fe2c98e77c492069fc2d -r83024e3b1086e1dba93b83df874bd4781f67aa63 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/Ringtoets.ClosingStructures.Plugin.csproj (.../Ringtoets.ClosingStructures.Plugin.csproj) (revision 10ebec09145f1bdb1294fe2c98e77c492069fc2d) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/Ringtoets.ClosingStructures.Plugin.csproj (.../Ringtoets.ClosingStructures.Plugin.csproj) (revision 83024e3b1086e1dba93b83df874bd4781f67aa63) @@ -125,6 +125,11 @@ Ringtoets.ClosingStructures.Service False + + {09A12A95-370D-42FE-B18E-32821D7A62BA} + Ringtoets.ClosingStructures.Utils + False +