Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PropertyClasses/MacroStabilityInwardsInputContextProperties.cs =================================================================== diff -u -r3c832ffce74b527eb1d588aa722840f0a80330b7 -r44bce9443701bae546a52fed26327da870c2ab0b --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PropertyClasses/MacroStabilityInwardsInputContextProperties.cs (.../MacroStabilityInwardsInputContextProperties.cs) (revision 3c832ffce74b527eb1d588aa722840f0a80330b7) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/PropertyClasses/MacroStabilityInwardsInputContextProperties.cs (.../MacroStabilityInwardsInputContextProperties.cs) (revision 44bce9443701bae546a52fed26327da870c2ab0b) @@ -69,28 +69,39 @@ private const int settingsCategoryIndex = 3; private const int totalCategoryCount = 3; + private readonly Func getNormativeAssessmentLevelFunc; private readonly IObservablePropertyChangeHandler propertyChangeHandler; /// /// Creates a new instance of . /// /// The instance to show the properties for. - /// The handler responsible for handling effects of a property change. + /// for obtaining the normative assessment level. + /// The handler responsible for handling effects of a property change. /// Thrown when any parameter is null. public MacroStabilityInwardsInputContextProperties(MacroStabilityInwardsInputContext data, - IObservablePropertyChangeHandler handler) + Func getNormativeAssessmentLevelFunc, + IObservablePropertyChangeHandler propertyChangeHandler) { if (data == null) { throw new ArgumentNullException(nameof(data)); } - if (handler == null) + + if (getNormativeAssessmentLevelFunc == null) { - throw new ArgumentNullException(nameof(handler)); + throw new ArgumentNullException(nameof(getNormativeAssessmentLevelFunc)); } + if (this.propertyChangeHandler == null) + { + throw new ArgumentNullException(nameof(this.propertyChangeHandler)); + } + Data = data; - propertyChangeHandler = handler; + + this.getNormativeAssessmentLevelFunc = getNormativeAssessmentLevelFunc; + this.propertyChangeHandler = propertyChangeHandler; } /// @@ -110,6 +121,7 @@ { return data.AvailableStochasticSoilModels; } + return MacroStabilityInwardsCalculationConfigurationHelper.GetStochasticSoilModelsForSurfaceLine(data.WrappedData.SurfaceLine, data.AvailableStochasticSoilModels); } @@ -187,7 +199,9 @@ { get { - return data.WrappedData.AssessmentLevel; + return data.WrappedData.UseAssessmentLevelManualInput + ? data.WrappedData.AssessmentLevel + : getNormativeAssessmentLevelFunc(); } set {