Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs =================================================================== diff -u -rdfd2e82406d3cafb83004a065b3ea1f943ced729 -r57d429a3807dad1ac5e980e2da0a9e2281adc815 --- Riskeer/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs (.../PipingFailureMechanismCreateExtensions.cs) (revision dfd2e82406d3cafb83004a065b3ea1f943ced729) +++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs (.../PipingFailureMechanismCreateExtensions.cs) (revision 57d429a3807dad1ac5e980e2da0a9e2281adc815) @@ -49,6 +49,8 @@ AddEntitiesForStochasticSoilModels(mechanism, registry, entity); AddEntitiesForSurfaceLines(mechanism, registry, entity); AddEntitiesForSectionResults(mechanism.SectionResultsOld, registry); + AddEntitiesForPipingScenarioConfigurationPerFailureMechanismSection(mechanism.ScenarioConfigurationsPerFailureMechanismSection, + registry); entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0); @@ -67,14 +69,27 @@ } } + private static void AddEntitiesForPipingScenarioConfigurationPerFailureMechanismSection( + IEnumerable scenarioConfigurations, + PersistenceRegistry registry) + { + foreach (PipingScenarioConfigurationPerFailureMechanismSection configuration in scenarioConfigurations) + { + PipingScenarioConfigurationPerFailureMechanismSectionEntity configurationPerFailureMechanismSectionEntity = configuration.Create(); + FailureMechanismSectionEntity section = registry.Get(configuration.Section); + section.PipingScenarioConfigurationPerFailureMechanismSectionEntities.Add(configurationPerFailureMechanismSectionEntity); + } + } + private static void AddEntitiesForFailureMechanismMeta(PipingFailureMechanism mechanism, FailureMechanismEntity entity) { var metaEntity = new PipingFailureMechanismMetaEntity { A = mechanism.PipingProbabilityAssessmentInput.A, WaterVolumetricWeight = mechanism.GeneralInput.WaterVolumetricWeight, StochasticSoilModelCollectionSourcePath = mechanism.StochasticSoilModels.SourcePath.DeepClone(), - SurfaceLineCollectionSourcePath = mechanism.SurfaceLines.SourcePath.DeepClone() + SurfaceLineCollectionSourcePath = mechanism.SurfaceLines.SourcePath.DeepClone(), + PipingScenarioConfigurationType = Convert.ToByte(mechanism.ScenarioConfigurationType) }; entity.PipingFailureMechanismMetaEntities.Add(metaEntity); Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/PipingFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u -r107a475f8519d0df4edf01dc22abe60dfcd790fe -r57d429a3807dad1ac5e980e2da0a9e2281adc815 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/PipingFailureMechanismCreateExtensionsTest.cs (.../PipingFailureMechanismCreateExtensionsTest.cs) (revision 107a475f8519d0df4edf01dc22abe60dfcd790fe) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/Piping/PipingFailureMechanismCreateExtensionsTest.cs (.../PipingFailureMechanismCreateExtensionsTest.cs) (revision 57d429a3807dad1ac5e980e2da0a9e2281adc815) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.Linq; using Core.Common.Base.Geometry; using Core.Common.TestUtil; @@ -86,7 +87,8 @@ GeneralInput = { WaterVolumetricWeight = random.NextRoundedDouble(0, 20) - } + }, + ScenarioConfigurationType = random.NextEnumValue() }; var registry = new PersistenceRegistry(); @@ -109,6 +111,7 @@ Assert.AreEqual(failureMechanism.GeneralInput.WaterVolumetricWeight.Value, failureMechanismMetaEntity.WaterVolumetricWeight); Assert.AreEqual(failureMechanism.SurfaceLines.SourcePath, failureMechanismMetaEntity.SurfaceLineCollectionSourcePath); Assert.AreEqual(failureMechanism.StochasticSoilModels.SourcePath, failureMechanismMetaEntity.StochasticSoilModelCollectionSourcePath); + Assert.AreEqual(Convert.ToByte(failureMechanism.ScenarioConfigurationType), failureMechanismMetaEntity.PipingScenarioConfigurationType); } [Test] @@ -211,8 +214,12 @@ // Assert Assert.IsNotNull(entity); - Assert.AreEqual(1, entity.FailureMechanismSectionEntities.Count); - Assert.AreEqual(1, entity.FailureMechanismSectionEntities.SelectMany(fms => fms.PipingSectionResultEntities).Count()); + ICollection failureMechanismSectionEntities = entity.FailureMechanismSectionEntities; + Assert.AreEqual(1, failureMechanismSectionEntities.Count); + Assert.AreEqual(1, failureMechanismSectionEntities.SelectMany(fms => fms.PipingSectionResultEntities) + .Count()); + Assert.AreEqual(1, failureMechanismSectionEntities.SelectMany(fms => fms.PipingScenarioConfigurationPerFailureMechanismSectionEntities) + .Count()); TestHelper.AssertAreEqualButNotSame(filePath, entity.FailureMechanismSectionCollectionSourcePath); }