Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs =================================================================== diff -u -r2057d3372084602a2d959db2e33dcf81de971a73 -r4fa75e2c07753d69a156377821eec5caaff7fc11 --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs (.../WaveConditionsCalculationConfigurationImporter.cs) (revision 2057d3372084602a2d959db2e33dcf81de971a73) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/WaveConditionsCalculationConfigurationImporter.cs (.../WaveConditionsCalculationConfigurationImporter.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) @@ -93,8 +93,10 @@ && TryReadBoundaries(calculationConfiguration, waveConditionsCalculation) && TryReadForeshoreProfile(calculationConfiguration.ForeshoreProfile, waveConditionsCalculation) && TryReadOrientation(calculationConfiguration, waveConditionsCalculation) - && TryReadWaveReduction(calculationConfiguration, waveConditionsCalculation)) + && calculationConfiguration.WaveReduction.ValidateWaveReduction(waveConditionsCalculation.InputParameters.ForeshoreProfile, + waveConditionsCalculation.Name, Log)) { + SetWaveReductionParameters(calculationConfiguration.WaveReduction, waveConditionsCalculation.InputParameters); return waveConditionsCalculation; } return null; @@ -209,76 +211,5 @@ } return true; } - - /// - /// Reads the wave reduction parameters. - /// - /// The calculation read from the imported file. - /// The calculation to configure. - /// false when there is an invalid wave reduction parameter defined, - /// true otherwise. - private bool TryReadWaveReduction(WaveConditionsCalculationConfiguration calculationConfiguration, ICalculation calculation) - { - if (!ValidateWaveReduction(calculationConfiguration, calculation)) - { - return false; - } - - if (calculationConfiguration.UseForeshore.HasValue) - { - calculation.InputParameters.UseForeshore = calculationConfiguration.UseForeshore.Value; - } - - if (calculationConfiguration.UseBreakWater.HasValue) - { - calculation.InputParameters.UseBreakWater = calculationConfiguration.UseBreakWater.Value; - } - - if (calculationConfiguration.BreakWaterType.HasValue) - { - calculation.InputParameters.BreakWater.Type = (BreakWaterType) calculationConfiguration.BreakWaterType.Value; - } - - if (calculationConfiguration.BreakWaterHeight.HasValue) - { - calculation.InputParameters.BreakWater.Height = (RoundedDouble) calculationConfiguration.BreakWaterHeight.Value; - } - return true; - } - - /// - /// Validation to check if the defined wave reduction parameters are valid. - /// - /// The calculation read from the imported file. - /// The calculation to configure. - /// false when there is an invalid wave reduction parameter defined, - /// true otherwise. - private bool ValidateWaveReduction(WaveConditionsCalculationConfiguration calculationConfiguration, ICalculation calculation) - { - if (calculation.InputParameters.ForeshoreProfile == null) - { - if (calculationConfiguration.UseBreakWater.HasValue - || calculationConfiguration.UseForeshore.HasValue - || calculationConfiguration.BreakWaterHeight != null - || calculationConfiguration.BreakWaterType != null) - { - Log.LogCalculationConversionError(RingtoetsCommonIOResources.CalculationConfigurationImporter_ValidateWaveReduction_No_foreshore_profile_provided, - calculation.Name); - return false; - } - } - else if (!calculation.InputParameters.ForeshoreGeometry.Any()) - { - if (calculationConfiguration.UseForeshore.HasValue && calculationConfiguration.UseForeshore.Value) - { - Log.LogCalculationConversionError(string.Format( - RingtoetsCommonIOResources.ReadForeshoreProfile_ForeshoreProfile_0_has_no_geometry_and_cannot_be_used, - calculationConfiguration.ForeshoreProfile), - calculation.Name); - return false; - } - } - return true; - } } } \ No newline at end of file