Index: Riskeer/Piping/src/Riskeer.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs =================================================================== diff -u -ra6bf043470ab19d50ea5732be9432963fe0b7924 -rb16a93569b27c1ed03103e07d37ba6f6954314df --- Riskeer/Piping/src/Riskeer.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision a6bf043470ab19d50ea5732be9432963fe0b7924) +++ Riskeer/Piping/src/Riskeer.Piping.IO/Configurations/PipingCalculationConfigurationExporter.cs (.../PipingCalculationConfigurationExporter.cs) (revision b16a93569b27c1ed03103e07d37ba6f6954314df) @@ -49,11 +49,15 @@ public PipingCalculationConfigurationExporter(IEnumerable calculations, string filePath) : base(calculations, new PipingCalculationConfigurationWriter(filePath)) {} + /// + /// Thrown when + /// is an invalid type. protected override PipingCalculationConfiguration ToConfiguration(IPipingCalculationScenario calculation) { PipingInput input = calculation.InputParameters; - var calculationConfiguration = new PipingCalculationConfiguration(calculation.Name, GetCalculationConfigurationType(calculation)) + PipingCalculationConfigurationType calculationConfigurationType = GetCalculationConfigurationType(calculation); + var calculationConfiguration = new PipingCalculationConfiguration(calculation.Name, calculationConfigurationType) { DampingFactorExit = input.DampingFactorExit.ToStochastConfiguration(), PhreaticLevelExit = input.PhreaticLevelExit.ToStochastConfiguration(), @@ -73,22 +77,29 @@ calculationConfiguration.StochasticSoilProfileName = input.StochasticSoilProfile?.SoilProfile.Name; } - if (calculation is SemiProbabilisticPipingCalculationScenario semiProbabilisticPipingCalculation) + if (calculationConfigurationType == PipingCalculationConfigurationType.SemiProbabilistic) { - ToSemiProbabilisticConfiguration(calculationConfiguration, semiProbabilisticPipingCalculation); + ToSemiProbabilisticConfiguration(calculationConfiguration, (SemiProbabilisticPipingInput) calculation.InputParameters); } - if (calculation is ProbabilisticPipingCalculationScenario probabilisticPipingCalculationScenario) + if (calculationConfigurationType == PipingCalculationConfigurationType.Probabilistic) { - ToProbabilisticConfiguration(calculationConfiguration, probabilisticPipingCalculationScenario); + ToProbabilisticConfiguration(calculationConfiguration, (ProbabilisticPipingInput) calculation.InputParameters); } return calculationConfiguration; } - private static PipingCalculationConfigurationType GetCalculationConfigurationType(IPipingCalculationScenario pipingCalculationScenario) + /// + /// Gets the based on the type of . + /// + /// The calculation scenario to get the type from. + /// The . + /// Thrown when + /// is an invalid type. + private static PipingCalculationConfigurationType GetCalculationConfigurationType(IPipingCalculationScenario calculation) { - switch (pipingCalculationScenario) + switch (calculation) { case SemiProbabilisticPipingCalculationScenario _: return PipingCalculationConfigurationType.SemiProbabilistic; @@ -100,9 +111,8 @@ } private static void ToSemiProbabilisticConfiguration(PipingCalculationConfiguration calculationConfiguration, - SemiProbabilisticPipingCalculationScenario calculation) + SemiProbabilisticPipingInput input) { - SemiProbabilisticPipingInput input = calculation.InputParameters; if (input.UseAssessmentLevelManualInput) { calculationConfiguration.AssessmentLevel = input.AssessmentLevel; @@ -114,9 +124,8 @@ } private static void ToProbabilisticConfiguration(PipingCalculationConfiguration calculationConfiguration, - ProbabilisticPipingCalculationScenario calculation) + ProbabilisticPipingInput input) { - ProbabilisticPipingInput input = calculation.InputParameters; if (input.HydraulicBoundaryLocation != null) { calculationConfiguration.HydraulicBoundaryLocationName = input.HydraulicBoundaryLocation.Name;