Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismEntityReadExtensions.cs
===================================================================
diff -u -r2fe46c62134fde70ada240fa952971444177be90 -r1cd3618f5f8916ef15992d69ec3b447b311c2f72
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismEntityReadExtensions.cs (.../FailureMechanismEntityReadExtensions.cs) (revision 2fe46c62134fde70ada240fa952971444177be90)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismEntityReadExtensions.cs (.../FailureMechanismEntityReadExtensions.cs) (revision 1cd3618f5f8916ef15992d69ec3b447b311c2f72)
@@ -245,6 +245,36 @@
}
///
+ /// Read the and use the information to update a .
+ ///
+ /// The to create for.
+ ///
+ /// The object keeping track of read operations.
+ internal static void ReadAsClosingStructureFailureMechanism(this FailureMechanismEntity entity, ClosingStructureFailureMechanism failureMechanism, ReadConversionCollector collector)
+ {
+ failureMechanism.StorageId = entity.FailureMechanismEntityId;
+ failureMechanism.IsRelevant = entity.IsRelevant == 1;
+ failureMechanism.Comments = entity.Comments;
+
+ entity.ReadFailureMechanismSections(failureMechanism, collector);
+ entity.ReadClosingStructureMechanismSectionResults(failureMechanism, collector);
+ }
+
+ private static void ReadClosingStructureMechanismSectionResults(this FailureMechanismEntity entity, ClosingStructureFailureMechanism failureMechanism, ReadConversionCollector collector)
+ {
+ foreach (var sectionResultEntity in entity.FailureMechanismSectionEntities.SelectMany(fms => fms.ClosingStructureSectionResultEntities))
+ {
+ var readSectionResult = sectionResultEntity.Read(collector);
+ var failureMechanismSection = collector.Get(sectionResultEntity.FailureMechanismSectionEntity);
+ var result = failureMechanism.SectionResults.Single(sr => ReferenceEquals(sr.Section, failureMechanismSection));
+ result.StorageId = readSectionResult.StorageId;
+ result.AssessmentLayerOne = readSectionResult.AssessmentLayerOne;
+ result.AssessmentLayerTwoA = readSectionResult.AssessmentLayerTwoA;
+ result.AssessmentLayerThree = readSectionResult.AssessmentLayerThree;
+ }
+ }
+
+ ///
/// Read the and use the information to update a .
///
/// The to read into a .