Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -r03fae882dff9db344c9380368a85ecdf3ab46f2a -r497eff2ae81726e546751a3423f5b7b5b93d1e3e --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 03fae882dff9db344c9380368a85ecdf3ab46f2a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 497eff2ae81726e546751a3423f5b7b5b93d1e3e) @@ -811,7 +811,7 @@ context.FailureMechanism.Contribution)); } - private static StrictContextMenuItem CreateUpdateEntryAndExitPointItem(PipingCalculationScenarioContext context) + private StrictContextMenuItem CreateUpdateEntryAndExitPointItem(PipingCalculationScenarioContext context) { bool hasSurfaceLine = context.WrappedData.InputParameters.SurfaceLine != null; @@ -823,12 +823,25 @@ Resources.PipingPlugin_CreateUpdateEntryAndExitPointItem_Update_entry_and_exit_point, toolTipMessage, RingtoetsCommonFormsResources.UpdateItemIcon, - (o, args) => { UpdateSurfaceLineDependentData(context.WrappedData); }) + (o, args) => { UpdatedSurfaceLineDependentDataOfCalculation(context.WrappedData); }) { Enabled = hasSurfaceLine }; } + private void UpdatedSurfaceLineDependentDataOfCalculation(PipingCalculation scenario) + { + string message = + Resources.PipingPlugin_VerifyEntryAndExitPointUpdates_When_updating_entry_and_exit_points_definitions_assigned_to_calculation_output_will_be_cleared_confirm; + if (VerifyEntryAndExitPointUpdates(new[] + { + scenario + }, message)) + { + UpdateSurfaceLineDependentData(scenario); + } + } + private static void UpdateSurfaceLineDependentData(PipingCalculation scenario) { PipingInput inputParameters = scenario.InputParameters; @@ -1064,7 +1077,9 @@ { PipingCalculationScenario[] calculations = nodeData.WrappedData.GetCalculations().OfType().ToArray(); - if (VerifyEntryAndExitPointUpdates(calculations)) + string message = + Resources.PipingPlugin_VerifyEntryAndExitPointUpdates_When_updating_entry_and_exit_points_definitions_assigned_to_calculations_output_will_be_cleared_confirm; + if (VerifyEntryAndExitPointUpdates(calculations, message)) { foreach (PipingCalculationScenario calculation in calculations) { @@ -1073,10 +1088,10 @@ } } - private bool VerifyEntryAndExitPointUpdates(IEnumerable calculations) + private bool VerifyEntryAndExitPointUpdates(IEnumerable calculations, string query) { - var changeHandler = new UpdateEntryAndExitPointsCalculationGroupChangeHandler(calculations, - new DialogBasedInquiryHelper(Gui.MainWindow)); + var changeHandler = new UpdateEntryAndExitPointsOfCalculationsChangeHandler(calculations, query, + new DialogBasedInquiryHelper(Gui.MainWindow)); return !changeHandler.RequireConfirmation() || changeHandler.InquireConfirmation(); }