Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs =================================================================== diff -u -rf0525483bb0f01219ec1990b2e366de5faa7cb96 -r6d2a451c86300fe64ea80a345ab6d37549007ea0 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision f0525483bb0f01219ec1990b2e366de5faa7cb96) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Configurations/MacroStabilityInwardsCalculationConfigurationWriter.cs (.../MacroStabilityInwardsCalculationConfigurationWriter.cs) (revision 6d2a451c86300fe64ea80a345ab6d37549007ea0) @@ -171,17 +171,10 @@ MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.AdjustPhreaticLine3And4ForUpliftElement, configuration.AdjustPhreaticLine3And4ForUplift); - WritePhreaticLineConfigurationWhenContentAvailable(writer, - MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine3LeakageLengthElement, - configuration.PhreaticLine3); - WritePhreaticLineConfigurationWhenContentAvailable(writer, - MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine4LeakageLengthElement, - configuration.PhreaticLine4); + WritePhreaticLine3Configuration(writer, configuration); + WritePhreaticLine4Configuration(writer, configuration); + WritePhreaticLine2Configuration(writer, configuration); - WritePhreaticLineConfigurationWhenContentAvailable(writer, - MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine2PiezometricHeadElement, - configuration.PhreaticLine2); - WriteLocationDailyInputWhenContentAvailable(writer, configuration.LocationInputDaily); WriteLocationExtremeInputWhenContentAvailable(writer, configuration.LocationInputExtreme); @@ -190,36 +183,75 @@ } /// - /// Writes a phreatic line configuration. + /// Writes a phreatic line 2 configuration. /// /// The writer to use for writing. - /// The name of the phreatic line. - /// The configuration for the phreatic line that can be null. + /// The configuration to write. /// Thrown when the /// is closed. - private static void WritePhreaticLineConfigurationWhenContentAvailable(XmlWriter writer, - string elementName, - MacroStabilityInwardsPhreaticLineConfiguration configuration) + private static void WritePhreaticLine2Configuration(XmlWriter writer, + MacroStabilityInwardsCalculationConfiguration configuration) { - if (configuration == null) - { - return; - } + writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine2PiezometricHeadElement); - writer.WriteStartElement(elementName); + WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement, + configuration.PiezometricHeadPhreaticLine2Inwards); WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement, + configuration.PiezometricHeadPhreaticLine2Outwards); + + writer.WriteEndElement(); + } + + /// + /// Writes a phreatic line 3 configuration. + /// + /// The writer to use for writing. + /// The configuration to write. + /// Thrown when the + /// is closed. + private static void WritePhreaticLine3Configuration(XmlWriter writer, + MacroStabilityInwardsCalculationConfiguration configuration) + { + writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine3LeakageLengthElement); + + WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement, - configuration.Inwards); + configuration.LeakageLengthInwardsPhreaticLine3); WriteElementWhenContentAvailable(writer, MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement, - configuration.Outwards); + configuration.LeakageLengthOutwardsPhreaticLine3); writer.WriteEndElement(); } /// + /// Writes a phreatic line 4 configuration. + /// + /// The writer to use for writing. + /// The configuration to write. + /// Thrown when the + /// is closed. + private static void WritePhreaticLine4Configuration(XmlWriter writer, + MacroStabilityInwardsCalculationConfiguration configuration) + { + writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLine4LeakageLengthElement); + + WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineInwardsElement, + configuration.LeakageLengthInwardsPhreaticLine4); + + WriteElementWhenContentAvailable(writer, + MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOutwardsElement, + configuration.LeakageLengthOutwardsPhreaticLine4); + + writer.WriteEndElement(); + } + + /// /// Writes a location input configuration for daily conditions. /// /// The writer to use for writing. @@ -252,7 +284,7 @@ /// Thrown when the /// is closed. private static void WriteLocationExtremeInputWhenContentAvailable(XmlWriter writer, - MacroStabilityInwardsLocationInputExtremeConfiguration configuration) + MacroStabilityInwardsLocationInputExtremeConfiguration configuration) { if (configuration == null) {