Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs
===================================================================
diff -u -r237b9031d74382e26141395ff845d5e43f44981d -r4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporter.cs) (revision 237b9031d74382e26141395ff845d5e43f44981d)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Configurations/GrassCoverErosionInwardsCalculationConfigurationExporter.cs (.../GrassCoverErosionInwardsCalculationConfigurationExporter.cs) (revision 4c5ed0f6a4b5f4bbf8a39c6dd6d9d372ee54acfb)
@@ -22,16 +22,23 @@
using System;
using System.Collections.Generic;
using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Common.IO.Configurations;
using Ringtoets.Common.IO.Configurations.Export;
+using Ringtoets.Common.IO.Configurations.Helpers;
using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionInwards.IO.Configurations.Helpers;
namespace Ringtoets.GrassCoverErosionInwards.IO.Configurations
{
///
/// Exports a grass cover erosion inwards calculation configuration and stores it as an XML file.
///
public class GrassCoverErosionInwardsCalculationConfigurationExporter
- : CalculationConfigurationExporter
+ : SchemaCalculationConfigurationExporter<
+ GrassCoverErosionInwardsCalculationConfigurationWriter,
+ GrassCoverErosionInwardsCalculation,
+ GrassCoverErosionInwardsCalculationConfiguration>
{
///
/// Creates a new instance of .
@@ -42,5 +49,53 @@
/// Thrown when is invalid.
public GrassCoverErosionInwardsCalculationConfigurationExporter(IEnumerable configuration, string filePath)
: base(configuration, filePath) {}
+
+ protected override GrassCoverErosionInwardsCalculationConfigurationWriter CreateWriter(string filePath)
+ {
+ return new GrassCoverErosionInwardsCalculationConfigurationWriter(filePath);
+ }
+
+ protected override GrassCoverErosionInwardsCalculationConfiguration ToConfiguration(GrassCoverErosionInwardsCalculation calculation)
+ {
+ GrassCoverErosionInwardsInput input = calculation.InputParameters;
+ var configuration = new GrassCoverErosionInwardsCalculationConfiguration(calculation.Name);
+
+ configuration.HydraulicBoundaryLocation = input.HydraulicBoundaryLocation?.Name;
+
+ if (input.DikeProfile != null)
+ {
+ configuration.DikeProfile = input.DikeProfile.Id;
+ configuration.DikeHeight = input.DikeHeight;
+ configuration.Orientation = input.Orientation;
+
+ 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);
+ }
+ }
+
+ if (Enum.IsDefined(typeof(DikeHeightCalculationType), input.DikeHeightCalculationType))
+ {
+ configuration.DikeHeightCalculationType = (ConfigurationHydraulicLoadsCalculationType?)
+ new ConfigurationHydraulicLoadsCalculationTypeConverter().ConvertFrom(input.DikeHeightCalculationType);
+ }
+ if (Enum.IsDefined(typeof(OvertoppingRateCalculationType), input.OvertoppingRateCalculationType))
+ {
+ configuration.OvertoppingRateCalculationType = (ConfigurationHydraulicLoadsCalculationType?)
+ new ConfigurationHydraulicLoadsCalculationTypeConverter().ConvertFrom(input.OvertoppingRateCalculationType);
+ }
+
+ configuration.CriticalFlowRate = input.CriticalFlowRate.ToStochastConfiguration();
+
+ return configuration;
+ }
}
}
\ No newline at end of file