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