Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/DerivedMacroStabilityInwardsInput.cs =================================================================== diff -u -r6e703bab0430cff5eb3f81b41b630afbd1d6b59a -r62b285e72c107c0c7dd5e4f7c212ee85e427aa7d --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/DerivedMacroStabilityInwardsInput.cs (.../DerivedMacroStabilityInwardsInput.cs) (revision 6e703bab0430cff5eb3f81b41b630afbd1d6b59a) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/DerivedMacroStabilityInwardsInput.cs (.../DerivedMacroStabilityInwardsInput.cs) (revision 62b285e72c107c0c7dd5e4f7c212ee85e427aa7d) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Core.Common.Base.Data; using Ringtoets.MacroStabilityInwards.CalculatedInput; using Ringtoets.MacroStabilityInwards.Primitives; @@ -28,50 +29,45 @@ /// /// Class responsible for calculating the derived macro stability inwards input. /// - public class DerivedMacroStabilityInwardsInput + public static class DerivedMacroStabilityInwardsInput { - private readonly MacroStabilityInwardsInput input; - /// - /// Creates a new instance of . + /// Gets the calculated waternet for extreme circumstances. /// - /// The input to calculate the derived macro stability inwards input. + /// The input to calculate the waternet for. + /// The assessment level at stake. /// Thrown when is null. - public DerivedMacroStabilityInwardsInput(MacroStabilityInwardsInput input) + /// Returns the corresponding derived waternet value. + public static MacroStabilityInwardsWaternet GetWaternetExtreme(MacroStabilityInwardsInput input, RoundedDouble assessmentLevel) { if (input == null) { throw new ArgumentNullException(nameof(input)); } - this.input = input; - } - /// - /// Gets the calculated waternet for extreme circumstances. - /// - public MacroStabilityInwardsWaternet WaternetExtreme - { - get - { - return input.SoilProfileUnderSurfaceLine != null - ? WaternetCalculationService.CalculateExtreme(input) - : new MacroStabilityInwardsWaternet(new MacroStabilityInwardsPhreaticLine[0], - new MacroStabilityInwardsWaternetLine[0]); - } + return input.SoilProfileUnderSurfaceLine != null + ? WaternetCalculationService.CalculateExtreme(input, assessmentLevel) + : new MacroStabilityInwardsWaternet(new MacroStabilityInwardsPhreaticLine[0], + new MacroStabilityInwardsWaternetLine[0]); } /// /// Gets the calculated waternet for daily circumstances. /// - public MacroStabilityInwardsWaternet WaternetDaily + /// The input to calculate the waternet for. + /// Thrown when is null. + /// Returns the corresponding derived waternet value. + public static MacroStabilityInwardsWaternet GetWaternetDaily(MacroStabilityInwardsInput input) { - get + if (input == null) { - return input.SoilProfileUnderSurfaceLine != null - ? WaternetCalculationService.CalculateDaily(input) - : new MacroStabilityInwardsWaternet(new MacroStabilityInwardsPhreaticLine[0], - new MacroStabilityInwardsWaternetLine[0]); + throw new ArgumentNullException(nameof(input)); } + + return input.SoilProfileUnderSurfaceLine != null + ? WaternetCalculationService.CalculateDaily(input) + : new MacroStabilityInwardsWaternet(new MacroStabilityInwardsPhreaticLine[0], + new MacroStabilityInwardsWaternetLine[0]); } } } \ No newline at end of file