Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionCreator.cs =================================================================== diff -u -rce42b439da4acd8052e1a3ecf9f7d2d28fa88d7b -re2f055e9909f28be4469ab5d92ea375e669bee59 --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionCreator.cs (.../SerializableFailureMechanismSectionCreator.cs) (revision ce42b439da4acd8052e1a3ecf9f7d2d28fa88d7b) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionCreator.cs (.../SerializableFailureMechanismSectionCreator.cs) (revision e2f055e9909f28be4469ab5d92ea375e669bee59) @@ -71,5 +71,45 @@ section.Geometry, SerializableFailureMechanismSectionType.FailureMechanism); } + + /// + /// Creates a based on + /// an . + /// + /// The id generator to generate an id + /// for . + /// The + /// this section belongs to. + /// The + /// to create a for. + /// A . + /// Thrown when any parameter is null. + public static SerializableFailureMechanismSection Create(UniqueIdentifierGenerator idGenerator, + SerializableFailureMechanismSectionCollection serializableCollection, + ExportableCombinedFailureMechanismSection section) + { + if (idGenerator == null) + { + throw new ArgumentNullException(nameof(idGenerator)); + } + + if (serializableCollection == null) + { + throw new ArgumentNullException(nameof(serializableCollection)); + } + + if (section == null) + { + throw new ArgumentNullException(nameof(section)); + } + + return new SerializableFailureMechanismSection(idGenerator.GetNewId(Resources.SerializableFailureMechanismSection_IdPrefix), + serializableCollection, + section.StartDistance, + section.EndDistance, + section.Geometry, + SerializableFailureMechanismSectionType.Combined, + SerializableAssemblyMethodCreator.Create(section.AssemblyMethod)); + } } } \ No newline at end of file