Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs =================================================================== diff -u -rf03b47d0d73983de35188874a094ae07f1ea13fa -r5a34759978bfb0c2982463f8f8c2adfc29b1c666 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision f03b47d0d73983de35188874a094ae07f1ea13fa) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationExporter.cs (.../MacroStabilityInwardsCalculationConfigurationExporter.cs) (revision 5a34759978bfb0c2982463f8f8c2adfc29b1c666) @@ -30,7 +30,10 @@ /// /// Exports a macro stability inwards calculation configuration and stores it as an XML file. /// - public class MacroStabilityInwardsCalculationConfigurationExporter : CalculationConfigurationExporter + public class MacroStabilityInwardsCalculationConfigurationExporter : SchemaCalculationConfigurationExporter< + MacroStabilityInwardsCalculationConfigurationWriter, + MacroStabilityInwardsCalculation, + MacroStabilityInwardsCalculationConfiguration> { /// /// Creates a new instance of . @@ -40,5 +43,39 @@ /// Thrown when is null. /// Thrown when is invalid. public MacroStabilityInwardsCalculationConfigurationExporter(IEnumerable configuration, string filePath) : base(configuration, filePath) {} + + protected override MacroStabilityInwardsCalculationConfigurationWriter CreateWriter(string filePath) + { + return new MacroStabilityInwardsCalculationConfigurationWriter(filePath); + } + + protected override MacroStabilityInwardsCalculationConfiguration ToConfiguration(MacroStabilityInwardsCalculation calculation) + { + MacroStabilityInwardsInput input = calculation.InputParameters; + + var calculationConfiguration = new MacroStabilityInwardsCalculationConfiguration(calculation.Name); + + if (input.HydraulicBoundaryLocation != null) + { + calculationConfiguration.HydraulicBoundaryLocation = input.HydraulicBoundaryLocation.Name; + } + else if (input.UseAssessmentLevelManualInput) + { + calculationConfiguration.AssessmentLevel = input.AssessmentLevel; + } + + if (input.SurfaceLine != null) + { + calculationConfiguration.SurfaceLine = input.SurfaceLine.Name; + } + + if (input.StochasticSoilModel != null) + { + calculationConfiguration.StochasticSoilModel = input.StochasticSoilModel.Name; + calculationConfiguration.StochasticSoilProfile = input.StochasticSoilProfile?.SoilProfile.Name; + } + + return calculationConfiguration; + } } } \ No newline at end of file