Index: Riskeer/Storage/src/Riskeer.Storage.Core/Read/FailureMechanismEntityReadExtensions.cs =================================================================== diff -u -rdfd2e82406d3cafb83004a065b3ea1f943ced729 -ra0b68ebae124959ff8d24c1fe76bad83c45213fa --- Riskeer/Storage/src/Riskeer.Storage.Core/Read/FailureMechanismEntityReadExtensions.cs (.../FailureMechanismEntityReadExtensions.cs) (revision dfd2e82406d3cafb83004a065b3ea1f943ced729) +++ Riskeer/Storage/src/Riskeer.Storage.Core/Read/FailureMechanismEntityReadExtensions.cs (.../FailureMechanismEntityReadExtensions.cs) (revision a0b68ebae124959ff8d24c1fe76bad83c45213fa) @@ -142,6 +142,7 @@ PipingFailureMechanismMetaEntity metaEntity = entity.PipingFailureMechanismMetaEntities.Single(); metaEntity.ReadProbabilityAssessmentInput(failureMechanism.PipingProbabilityAssessmentInput); metaEntity.ReadGeneralPipingInput(failureMechanism.GeneralInput); + metaEntity.ReadFailureMechanismValues(failureMechanism); string stochasticSoilModelCollectionSourcePath = metaEntity.StochasticSoilModelCollectionSourcePath; if (stochasticSoilModelCollectionSourcePath != null) @@ -164,6 +165,7 @@ } entity.ReadPipingMechanismSectionResults(failureMechanism, collector); + entity.ReadPipingScenarioConfigurationPerFailureMechanismSection(failureMechanism, collector); ReadPipingRootCalculationGroup(entity.CalculationGroupEntity, failureMechanism.CalculationsGroup, collector); } @@ -181,6 +183,19 @@ } } + private static void ReadPipingScenarioConfigurationPerFailureMechanismSection(this FailureMechanismEntity entity, + PipingFailureMechanism failureMechanism, + ReadConversionCollector collector) + { + foreach (PipingScenarioConfigurationPerFailureMechanismSectionEntity sectionConfigurationEntity in entity.FailureMechanismSectionEntities.SelectMany(fms => fms.PipingScenarioConfigurationPerFailureMechanismSectionEntities)) + { + FailureMechanismSection failureMechanismSection = collector.Get(sectionConfigurationEntity.FailureMechanismSectionEntity); + PipingScenarioConfigurationPerFailureMechanismSection configuration = failureMechanism.ScenarioConfigurationsPerFailureMechanismSection.Single(sr => ReferenceEquals(sr.Section, failureMechanismSection)); + + sectionConfigurationEntity.Read(configuration); + } + } + private static void ReadPipingRootCalculationGroup(CalculationGroupEntity rootCalculationGroupEntity, CalculationGroup targetRootCalculationGroup, ReadConversionCollector collector) @@ -1055,7 +1070,7 @@ { FailureMechanismSection failureMechanismSection = collector.Get(sectionResultEntity.FailureMechanismSectionEntity); StabilityPointStructuresFailureMechanismSectionResultOld result = failureMechanism.SectionResultsOld - .Single(sr => ReferenceEquals(sr.Section, failureMechanismSection)); + .Single(sr => ReferenceEquals(sr.Section, failureMechanismSection)); sectionResultEntity.Read(result); } Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/FailureMechanismEntityReadExtensionsTest.cs =================================================================== diff -u -r107a475f8519d0df4edf01dc22abe60dfcd790fe -ra0b68ebae124959ff8d24c1fe76bad83c45213fa --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/FailureMechanismEntityReadExtensionsTest.cs (.../FailureMechanismEntityReadExtensionsTest.cs) (revision 107a475f8519d0df4edf01dc22abe60dfcd790fe) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/FailureMechanismEntityReadExtensionsTest.cs (.../FailureMechanismEntityReadExtensionsTest.cs) (revision a0b68ebae124959ff8d24c1fe76bad83c45213fa) @@ -425,6 +425,7 @@ // Setup var random = new Random(31); bool inAssembly = random.NextBoolean(); + PipingScenarioConfigurationType pipingScenarioConfigurationType = random.NextEnumValue(); var entity = new FailureMechanismEntity { InAssembly = Convert.ToByte(inAssembly), @@ -438,7 +439,8 @@ new PipingFailureMechanismMetaEntity { A = random.NextDouble(), - WaterVolumetricWeight = random.NextDouble() + WaterVolumetricWeight = random.NextDouble(), + PipingScenarioConfigurationType = Convert.ToByte(pipingScenarioConfigurationType) } } }; @@ -463,6 +465,7 @@ Assert.AreEqual(pipingFailureMechanismMetaEntity.A, failureMechanism.PipingProbabilityAssessmentInput.A); Assert.AreEqual(pipingFailureMechanismMetaEntity.WaterVolumetricWeight, failureMechanism.GeneralInput.WaterVolumetricWeight, failureMechanism.GeneralInput.WaterVolumetricWeight.GetAccuracy()); + Assert.AreEqual(pipingScenarioConfigurationType, failureMechanism.ScenarioConfigurationType); Assert.IsNull(pipingFailureMechanismMetaEntity.StochasticSoilModelCollectionSourcePath); Assert.IsNull(pipingFailureMechanismMetaEntity.SurfaceLineCollectionSourcePath); @@ -644,7 +647,12 @@ { FailureMechanismSectionEntity = failureMechanismSectionEntity }; + var pipingScenarioConfigurationPerFailureMechanismSectionEntity = new PipingScenarioConfigurationPerFailureMechanismSectionEntity + { + FailureMechanismSectionEntity = failureMechanismSectionEntity + }; failureMechanismSectionEntity.PipingSectionResultEntities.Add(pipingSectionResultEntity); + failureMechanismSectionEntity.PipingScenarioConfigurationPerFailureMechanismSectionEntities.Add(pipingScenarioConfigurationPerFailureMechanismSectionEntity); var entity = new FailureMechanismEntity { FailureMechanismSectionCollectionSourcePath = filePath,