/// <summary>
        /// Writes a location input configuration for daily conditions in XML format to file when
        /// <paramref name="configuration"/> has a value.
        /// </summary>
        /// <param name="writer">The writer to use for writing.</param>
        /// <param name="configuration">The configuration for the location input that can be <c>null</c>.</param>
        /// <exception cref="InvalidOperationException">Thrown when the <paramref name="writer"/>
        /// is closed.</exception>
        private static void WriteLocationDailyInputWhenAvailable(XmlWriter writer,
                                                                 MacroStabilityInwardsLocationInputConfiguration configuration)
        {
            if (configuration == null)
            {
                return;
            }

            writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.LocationInputDailyElement);

            WriteElementWhenContentAvailable(writer,
                                             MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.WaterLevelPolderElement,
                                             configuration.WaterLevelPolder);

            WriteLocationLocationInputOffset(writer, configuration);

            writer.WriteEndElement();
        }
Beispiel #2
0
        /// <summary>
        /// Assigns the read location input configuration to the of <paramref name="locationInput"/>.
        /// </summary>
        /// <param name="configurationLocationInput">The location input configuration read from the imported file.</param>
        /// <param name="locationInput">The location input to configure.</param>
        private static void SetMacroStabilityInwardsLocationInput(MacroStabilityInwardsLocationInputConfiguration configurationLocationInput,
                                                                  IMacroStabilityInwardsLocationInput locationInput)
        {
            if (configurationLocationInput == null)
            {
                return;
            }

            if (configurationLocationInput.WaterLevelPolder.HasValue)
            {
                locationInput.WaterLevelPolder = (RoundedDouble)configurationLocationInput.WaterLevelPolder.Value;
            }

            if (configurationLocationInput.UseDefaultOffsets.HasValue)
            {
                locationInput.UseDefaultOffsets = configurationLocationInput.UseDefaultOffsets.Value;
            }

            if (configurationLocationInput.PhreaticLineOffsetBelowDikeTopAtRiver.HasValue)
            {
                locationInput.PhreaticLineOffsetBelowDikeTopAtRiver = (RoundedDouble)configurationLocationInput.PhreaticLineOffsetBelowDikeTopAtRiver.Value;
            }

            if (configurationLocationInput.PhreaticLineOffsetBelowDikeTopAtPolder.HasValue)
            {
                locationInput.PhreaticLineOffsetBelowDikeTopAtPolder = (RoundedDouble)configurationLocationInput.PhreaticLineOffsetBelowDikeTopAtPolder.Value;
            }

            if (configurationLocationInput.PhreaticLineOffsetBelowShoulderBaseInside.HasValue)
            {
                locationInput.PhreaticLineOffsetBelowShoulderBaseInside = (RoundedDouble)configurationLocationInput.PhreaticLineOffsetBelowShoulderBaseInside.Value;
            }

            if (configurationLocationInput.PhreaticLineOffsetBelowDikeToeAtPolder.HasValue)
            {
                locationInput.PhreaticLineOffsetBelowDikeToeAtPolder = (RoundedDouble)configurationLocationInput.PhreaticLineOffsetBelowDikeToeAtPolder.Value;
            }
        }
        /// <summary>
        /// Writes the offset of a location input configuration in XML format to file.
        /// </summary>
        /// <param name="writer">The writer to use for writing.</param>
        /// <param name="configuration">The configuration for the location input that can be <c>null</c>.</param>
        /// <exception cref="InvalidOperationException">Thrown when the <paramref name="writer"/>
        /// is closed.</exception>
        private static void WriteLocationLocationInputOffset(XmlWriter writer,
                                                             MacroStabilityInwardsLocationInputConfiguration configuration)
        {
            writer.WriteStartElement(MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.LocationInputOffsetElement);

            WriteElementWhenContentAvailable(writer,
                                             MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.UseDefaultOffsetsElement,
                                             configuration.UseDefaultOffsets);
            WriteElementWhenContentAvailable(writer,
                                             MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOffsetBelowDikeTopAtRiverElement,
                                             configuration.PhreaticLineOffsetBelowDikeTopAtRiver);
            WriteElementWhenContentAvailable(writer,
                                             MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOffsetBelowDikeTopAtPolderElement,
                                             configuration.PhreaticLineOffsetBelowDikeTopAtPolder);
            WriteElementWhenContentAvailable(writer,
                                             MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOffsetBelowShoulderBaseInsideElement,
                                             configuration.PhreaticLineOffsetBelowShoulderBaseInside);
            WriteElementWhenContentAvailable(writer,
                                             MacroStabilityInwardsCalculationConfigurationSchemaIdentifiers.PhreaticLineOffsetBelowDikeToeAtPolderElement,
                                             configuration.PhreaticLineOffsetBelowDikeToeAtPolder);

            writer.WriteEndElement();
        }