Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyCreator.cs =================================================================== diff -u -rca1120a0858a3b0d1ce5724fa00724afa4e2aad2 -rd39047c8e7392c4d7d33dc1fb23f95e812ed8880 --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyCreator.cs (.../SerializableFailureMechanismSectionAssemblyCreator.cs) (revision ca1120a0858a3b0d1ce5724fa00724afa4e2aad2) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyCreator.cs (.../SerializableFailureMechanismSectionAssemblyCreator.cs) (revision d39047c8e7392c4d7d33dc1fb23f95e812ed8880) @@ -91,9 +91,9 @@ /// for. /// A . /// Thrown when any parameter is null. - public static SerializableFailureMechanismSectionAssembly Create(UniqueIdentifierGenerator idGenerator, + public static SerializableFailureMechanismSectionAssembly Create(UniqueIdentifierGenerator idGenerator, SerializableFailureMechanismSectionCollection serializableCollection, - SerializableFailureMechanism serializableFailureMechanism, + SerializableFailureMechanism serializableFailureMechanism, ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability sectionResult) { if (idGenerator == null) @@ -117,15 +117,61 @@ } return new SerializableFailureMechanismSectionAssembly(idGenerator.GetNewId(Resources.SerializableFailureMechanismSectionAssembly_IdPrefix), - serializableFailureMechanism, - SerializableFailureMechanismSectionCreator.Create(idGenerator, - serializableCollection, - sectionResult.FailureMechanismSection), - CreateAssemblySectionResults(sectionResult), - SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.CombinedAssessment, - sectionResult.CombinedAssembly)); + serializableFailureMechanism, + SerializableFailureMechanismSectionCreator.Create(idGenerator, + serializableCollection, + sectionResult.FailureMechanismSection), + CreateAssemblySectionResults(sectionResult), + SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.CombinedAssessment, + sectionResult.CombinedAssembly)); } + /// + /// Creates an instance of + /// based on its input parameters. + /// + /// The id generator to generate an id for . + /// The the result belongs to. + /// The the result belongs to. + /// The to create a + /// for. + /// A . + /// Thrown when any parameter is null. + public static SerializableFailureMechanismSectionAssembly Create(UniqueIdentifierGenerator idGenerator, + SerializableFailureMechanismSectionCollection serializableCollection, + SerializableFailureMechanism serializableFailureMechanism, + ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly sectionResult) + { + if (idGenerator == null) + { + throw new ArgumentNullException(nameof(idGenerator)); + } + + if (serializableCollection == null) + { + throw new ArgumentNullException(nameof(serializableCollection)); + } + + if (serializableFailureMechanism == null) + { + throw new ArgumentNullException(nameof(serializableFailureMechanism)); + } + + if (sectionResult == null) + { + throw new ArgumentNullException(nameof(sectionResult)); + } + + return new SerializableFailureMechanismSectionAssembly(idGenerator.GetNewId(Resources.SerializableFailureMechanismSectionAssembly_IdPrefix), + serializableFailureMechanism, + SerializableFailureMechanismSectionCreator.Create(idGenerator, + serializableCollection, + sectionResult.FailureMechanismSection), + CreateAssemblySectionResults(sectionResult), + SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.CombinedAssessment, + sectionResult.CombinedAssembly)); + } + private static SerializableFailureMechanismSectionAssemblyResult[] CreateAssemblySectionResults(ExportableAggregatedFailureMechanismSectionAssemblyResult sectionResult) { return new[] @@ -146,5 +192,15 @@ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.TailorMadeAssessment, sectionResult.TailorMadeAssembly) }; } + + private static SerializableFailureMechanismSectionAssemblyResult[] CreateAssemblySectionResults( + ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly sectionResult) + { + return new[] + { + SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.SimpleAssessment, sectionResult.SimpleAssembly), + SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.TailorMadeAssessment, sectionResult.TailorMadeAssembly) + }; + } } } \ No newline at end of file