Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs =================================================================== diff -u -ra9aafffab97152303562110b1d789bacb465ce24 -r1edcce70c4214ce894351c4e19f69c0c954d6360 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs (.../FailureMechanismContributionView.cs) (revision a9aafffab97152303562110b1d789bacb465ce24) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/FailureMechanismContributionView.cs (.../FailureMechanismContributionView.cs) (revision 1edcce70c4214ce894351c4e19f69c0c954d6360) @@ -27,11 +27,12 @@ using Core.Common.Controls.Views; using Core.Common.Utils.Reflection; -using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Contribution; +using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Forms.PresentationObjects; +using CoreCommonBaseResources = Core.Common.Base.Properties.Resources; using CommonGuiResources = Core.Common.Gui.Properties.Resources; using RingtoetsIntegrationFormsResources = Ringtoets.Integration.Forms.Properties.Resources; @@ -47,6 +48,8 @@ private DataGridViewColumn probabilityPerYearColumn; private FailureMechanismContributionContext data; + private bool revertingComboBoxSelectedValue; + /// /// Creates a new instance of . /// @@ -271,11 +274,36 @@ private void AssessmentSectionCompositionComboBoxSelectedIndexChanged(object sender, EventArgs e) { + if (revertingComboBoxSelectedValue) + { + return; + } + IAssessmentSection assessmentSection = data.Parent; - assessmentSection.ChangeComposition((AssessmentSectionComposition)assessmentSectionCompositionComboBox.SelectedValue); - SetGridDataSource(); - assessmentSection.NotifyObservers(); + var dialogResult = MessageBox.Show(RingtoetsIntegrationFormsResources.FailureMechanismContributionView_ChangeComposition_Change_will_clear_calculation_output_accept_question, + CoreCommonBaseResources.Confirm, + MessageBoxButtons.OKCancel); + if (dialogResult == DialogResult.OK) + { + assessmentSection.ChangeComposition((AssessmentSectionComposition)assessmentSectionCompositionComboBox.SelectedValue); + SetGridDataSource(); + foreach (IFailureMechanism failureMechanism in assessmentSection.GetFailureMechanisms()) + { + foreach (ICalculationItem calculation in failureMechanism.CalculationItems) + { + calculation.ClearOutput(); + calculation.NotifyObservers(); + } + } + assessmentSection.NotifyObservers(); + } + else + { + revertingComboBoxSelectedValue = true; + assessmentSectionCompositionComboBox.SelectedValue = assessmentSection.Composition; + revertingComboBoxSelectedValue = false; + } } } } \ No newline at end of file