Index: Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/Helpers/WaveConditionsInputExtensions.cs =================================================================== diff -u -r4fa75e2c07753d69a156377821eec5caaff7fc11 -rf03b47d0d73983de35188874a094ae07f1ea13fa --- Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/Helpers/WaveConditionsInputExtensions.cs (.../WaveConditionsInputExtensions.cs) (revision 4fa75e2c07753d69a156377821eec5caaff7fc11) +++ Ringtoets/Revetment/src/Ringtoets.Revetment.IO/Configurations/Helpers/WaveConditionsInputExtensions.cs (.../WaveConditionsInputExtensions.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) @@ -20,6 +20,9 @@ // All rights reserved. using System; +using Ringtoets.Common.Data.DikeProfiles; +using Ringtoets.Common.IO.Configurations; +using Ringtoets.Common.IO.Configurations.Helpers; using Ringtoets.Revetment.Data; namespace Ringtoets.Revetment.IO.Configurations.Helpers @@ -53,8 +56,47 @@ Orientation = input.Orientation, StepSize = (ConfigurationWaveConditionsInputStepSize?) new ConfigurationWaveConditionsInputStepSizeConverter().ConvertFrom(input.StepSize) }; - calculationConfiguration.SetConfigurationForeshoreProfileDependendProperties(input); + SetConfigurationForeshoreProfileDependendProperties(calculationConfiguration, input); return calculationConfiguration; } + + /// + /// Sets the using properties from , + /// when is set. + /// + /// The configuration to update. + /// The wave conditions input to update from. + /// Thrown when any of the input parameters is null. + private static void SetConfigurationForeshoreProfileDependendProperties(WaveConditionsCalculationConfiguration configuration, + WaveConditionsInput input) + { + if (configuration == null) + { + throw new ArgumentNullException(nameof(configuration)); + } + if (input == null) + { + throw new ArgumentNullException(nameof(input)); + } + + if (input.ForeshoreProfile == null) + { + return; + } + + configuration.ForeshoreProfile = input.ForeshoreProfile?.Id; + configuration.WaveReduction = new WaveReductionConfiguration + { + UseForeshoreProfile = input.UseForeshore, + UseBreakWater = input.UseBreakWater, + BreakWaterHeight = input.BreakWater.Height + }; + + if (Enum.IsDefined(typeof(BreakWaterType), input.BreakWater.Type)) + { + configuration.WaveReduction.BreakWaterType = (ConfigurationBreakWaterType?) + new ConfigurationBreakWaterTypeConverter().ConvertFrom(input.BreakWater.Type); + } + } } } \ No newline at end of file