Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.Designer.cs =================================================================== diff -u -rcdd8d664df93d961388f8e0fc49a5434a03b2ecd -r0c79c91c69927a7bd0988c4b132f3f29b7c43b74 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.Designer.cs (.../PipingScenariosView.Designer.cs) (revision cdd8d664df93d961388f8e0fc49a5434a03b2ecd) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.Designer.cs (.../PipingScenariosView.Designer.cs) (revision 0c79c91c69927a7bd0988c4b132f3f29b7c43b74) @@ -92,6 +92,7 @@ this.selectConfigurationTypeComboBox.Size = new System.Drawing.Size(140, 35); this.selectConfigurationTypeComboBox.TabIndex = 3; this.selectConfigurationTypeComboBox.Margin = new System.Windows.Forms.Padding(7); + this.selectConfigurationTypeComboBox.SelectedIndexChanged += SelectConfigurationTypeComboBox_OnSelectedIndexChanged; // // splitContainer // Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs =================================================================== diff -u -rcdd8d664df93d961388f8e0fc49a5434a03b2ecd -r0c79c91c69927a7bd0988c4b132f3f29b7c43b74 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision cdd8d664df93d961388f8e0fc49a5434a03b2ecd) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 0c79c91c69927a7bd0988c4b132f3f29b7c43b74) @@ -53,6 +53,7 @@ private RecursiveObserver calculationInputObserver; private IEnumerable scenarioRows; + private bool selectConfigurationTypeComboBoxUpdating; /// /// Creates a new instance of . @@ -127,10 +128,12 @@ .ToArray(); selectConfigurationTypeComboBox.BeginUpdate(); + selectConfigurationTypeComboBoxUpdating = true; selectConfigurationTypeComboBox.DataSource = enumDisplayWrappers; selectConfigurationTypeComboBox.ValueMember = nameof(EnumDisplayWrapper.Value); selectConfigurationTypeComboBox.DisplayMember = nameof(EnumDisplayWrapper.DisplayName); selectConfigurationTypeComboBox.SelectedValue = failureMechanism.ScenarioConfigurationType; + selectConfigurationTypeComboBoxUpdating = false; selectConfigurationTypeComboBox.EndUpdate(); } @@ -246,5 +249,15 @@ return pipingCalculations.Select(pc => new PipingScenarioRow(pc, failureMechanism, failureMechanismSection, assessmentSection)).ToList(); } + + private void SelectConfigurationTypeComboBox_OnSelectedIndexChanged(object sender, EventArgs e) + { + if (selectConfigurationTypeComboBoxUpdating || selectConfigurationTypeComboBox.SelectedIndex == -1) + { + return; + } + + failureMechanism.ScenarioConfigurationType = (PipingScenarioConfigurationType) selectConfigurationTypeComboBox.SelectedValue; + } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingScenariosViewTest.cs =================================================================== diff -u -rcdd8d664df93d961388f8e0fc49a5434a03b2ecd -r0c79c91c69927a7bd0988c4b132f3f29b7c43b74 --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision cdd8d664df93d961388f8e0fc49a5434a03b2ecd) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision 0c79c91c69927a7bd0988c4b132f3f29b7c43b74) @@ -27,6 +27,7 @@ using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.Controls.Views; +using Core.Common.TestUtil; using Core.Common.Util; using NUnit.Extensions.Forms; using NUnit.Framework; @@ -256,6 +257,26 @@ } [Test] + public void GivenPipingScenarioView_WhenSelectingItemInComboBox_ThenDataSet() + { + // Given + var failureMechanism = new PipingFailureMechanism(); + ShowPipingScenariosView(failureMechanism); + + var comboBox = (ComboBox) new ComboBoxTester("selectConfigurationTypeComboBox").TheObject; + + // Precondition + Assert.AreEqual(PipingScenarioConfigurationType.SemiProbabilistic, failureMechanism.ScenarioConfigurationType); + + // When + var newValue = new Random(21).NextEnumValue(); + comboBox.SelectedValue = newValue; + + // Then + Assert.AreEqual(newValue, failureMechanism.ScenarioConfigurationType); + } + + [Test] public void PipingScenariosView_ContributionValueInvalid_ShowsErrorTooltip() { // Setup