Index: Ringtoets.sln
===================================================================
diff -u -r1d6af127c4b44cf6fd17bd6848b5e2512e550a44 -r5f61c64020ac01999b88a49cc70eafba7134e450
--- Ringtoets.sln (.../Ringtoets.sln) (revision 1d6af127c4b44cf6fd17bd6848b5e2512e550a44)
+++ Ringtoets.sln (.../Ringtoets.sln) (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -1911,7 +1911,7 @@
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{7504E03B-CF6B-4071-BDCD-E93BF55BD811}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.Storage.Core", "Ringtoets\Storage\src\Ringtoets.Storage.Core\Riskeer.Storage.Core.csproj", "{50963F12-448C-41BA-A62C-CDB0AB8D21E0}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Riskeer.Storage.Core", "Ringtoets\Storage\src\Riskeer.Storage.Core\Riskeer.Storage.Core.csproj", "{50963F12-448C-41BA-A62C-CDB0AB8D21E0}"
ProjectSection(ProjectDependencies) = postProject
{C90B77DA-E421-43CC-B82E-529651BC21AC} = {C90B77DA-E421-43CC-B82E-529651BC21AC}
EndProjectSection
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/App.config'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/BackedUpFileWriter.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/BackgroundDataIdentifiers.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/BackgroundDataType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/ColorConversionExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/AssessmentSectionCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/BackgroundDataCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/CalculationGroupCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/ClosingStructures/ClosingStructureCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/DuneErosion/DuneLocationCalculationCollectionCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/DuneErosion/DuneLocationCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/DuneErosion/DuneLocationCalculationOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/DuneErosion/DuneLocationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/FailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/FailureMechanismSectionCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/ForeshoreProfileCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/DikeHeightOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/DikeProfileCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionInwards/OvertoppingRateOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HeightStructures/HeightStructureCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HydraulicBoundaryLocationCalculationCollectionCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HydraulicBoundaryLocationCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HydraulicBoundaryLocationCalculationOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HydraulicBoundaryLocationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/GeneralResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/IllustrationPointNodeCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/IllustrationPointResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/StochastCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointStochastCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/TopLevelFaultTreeIllustrationPointCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/IllustrationPoints/TopLevelSubMechanismIllustrationPointCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsCalculationScenarioCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer1DCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer2DCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile1DCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilModelCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilProfileCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSurfaceLineCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/PersistenceRegistry.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingCalculationScenarioCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingSoilLayerCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingSoilProfileCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingStochasticSoilModelCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingStochasticSoilProfileCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/Piping/PipingSurfaceLineCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/RiskeerProjectCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StabilityPointStructures/StabilityPointStructureCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StructuresCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/StructuresOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverWaveConditionsCalculationCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/AssessmentSectionEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/BackgroundDataEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/BackgroundDataMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/CalculationGroupEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ClosingStructureEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ClosingStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ClosingStructuresFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ClosingStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ClosingStructuresSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DikeProfileEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DuneErosionFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DuneErosionSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DuneLocationCalculationCollectionEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DuneLocationCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DuneLocationCalculationOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/DuneLocationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/FailureMechanismEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/FailureMechanismSectionEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/FailureMechanismType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/FaultTreeIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ForeshoreProfileEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GeneralResultFaultTreeIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GeneralResultSubMechanismIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionInwardsCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionInwardsDikeHeightOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionInwardsFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionInwardsOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionInwardsOvertoppingRateOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionInwardsSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionOutwardsFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionOutwardsSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionOutwardsWaveConditionsCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverErosionOutwardsWaveConditionsOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverSlipOffInwardsSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/GrassCoverSlipOffOutwardsSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HeightStructureEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HeightStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HeightStructuresFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HeightStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HeightStructuresSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HydraulicBoundaryDatabaseEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HydraulicLocationCalculationCollectionEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HydraulicLocationCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HydraulicLocationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HydraulicLocationOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/HydraulicLocationOutputType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/IGeneralResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/IHasGeneralResultFaultTreeIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/IStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/IStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/IllustrationPointResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsCalculationOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsCharacteristicPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsCharacteristicPointType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsPreconsolidationStressEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsSoilLayerOneDEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsSoilLayerTwoDEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsSoilProfileOneDEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsSoilProfileTwoDEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityInwardsStochasticSoilProfileEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityOutwardsFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MacroStabilityOutwardsSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/MicrostabilitySectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialClosingStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialClosingStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialGeneralResultFaultTreeIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialGeneralResultSubMechanismIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialHeightStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialHeightStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialRiskeerEntities.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialStabilityPointStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PartialStabilityPointStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingCalculationOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingCharacteristicPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingCharacteristicPointType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingSoilLayerEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingSoilProfileEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingStochasticSoilProfileEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingStructureFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/PipingStructureSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/ProjectEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.Context.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.Context.tt'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.edmx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.edmx.diagram'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/RiskeerEntities.tt'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityPointStructureEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityPointStructuresCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityPointStructuresFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityPointStructuresOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityPointStructuresSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityStoneCoverFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityStoneCoverSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityStoneCoverWaveConditionsCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StabilityStoneCoverWaveConditionsOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StochastEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StochasticSoilModelEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/StrengthStabilityLengthwiseConstructionSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/SubMechanismIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/SubMechanismIllustrationPointStochastEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/SurfaceLineEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/TechnicalInnovationSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/TopLevelFaultTreeIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/TopLevelSubMechanismIllustrationPointEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/VersionEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/WaterPressureAsphaltCoverSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/WaveConditionsOutputType.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/WaveImpactAsphaltCoverFailureMechanismMetaEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/WaveImpactAsphaltCoverSectionResultEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/WaveImpactAsphaltCoverWaveConditionsCalculationEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DbContext/WaveImpactAsphaltCoverWaveConditionsOutputEntity.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/DoubleConversionExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Exceptions/CannotDeleteBackupFileException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Exceptions/CannotDetermineFingerprintException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Exceptions/EntityNotFoundException.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/FingerprintHelper.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Properties/AssemblyInfo.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Properties/Resources.Designer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Properties/Resources.resx'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/BackgroundDataEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/BackgroundDataMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/CalculationGroupEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ClosingStructures/ClosingStructureEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ClosingStructures/ClosingStructuresCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ClosingStructures/ClosingStructuresFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ClosingStructures/ClosingStructuresSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/DuneErosion/DuneErosionFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/DuneErosion/DuneErosionSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/DuneErosion/DuneLocationCalculationCollectionEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/DuneErosion/DuneLocationCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/DuneErosion/DuneLocationCalculationOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/DuneErosion/DuneLocationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/FailureMechanismEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/FailureMechanismSectionEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ForeshoreProfileEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/DikeProfileEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionOutwards/GrassCoverErosionInwardsFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverSlipOffInwardsSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/GrassCoverSlipOffOutwardsSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HeightStructures/HeightStructureEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HeightStructures/HeightStructuresCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HeightStructures/HeightStructuresFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HeightStructures/HeightStructuresSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HydraulicBoundaryDatabaseEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HydraulicLocationCalculationCollectionReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HydraulicLocationCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HydraulicLocationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/HydraulicLocationOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/FaultTreeIllustrationPointEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/GeneralResultFaultTreeIllustrationPointEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/GeneralResultSubMechanismIllustrationPointEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/IllustrationPointResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/StochastEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/SubMechanismIllustrationPointEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/SubMechanismIllustrationPointStochastEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/TopLevelFaultTreeIllustrationPointEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/IllustrationPoints/TopLevelSubMechanismIllustrationPointReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsCalculationOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsSoilLayerOneDEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsSoilLayerTwoDEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsSoilProfileOneDEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsSoilProfileTwoDEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilProfileEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityOutwards/MacroStabilityOutwardsFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MacroStabilityOutwards/MacroStabilityOutwardsSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/MicrostabilitySectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingCalculationOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingSoilLayerEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingSoilProfileEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/Piping/PipingStochasticSoilProfileEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/PipingStructure/PipingStructureSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ProjectEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/ReadConversionCollector.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityPointStructures/StabilityPointStructureEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityPointStructures/StabilityPointStructureFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityPointStructures/StabilityPointStructuresCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityPointStructures/StabilityPointStructuresSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityStoneCover/StabilityStoneCoverFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StabilityStoneCover/StabilityStoneCoverWaveConditionsOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StochasticSoilModelEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StrengthStabilityLengthwiseConstructionSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/StructureCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/SurfaceLineEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/TechnicalInnovationSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/WaterPressureAsphaltCoverSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismMetaEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverWaveConditionsCalculationEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverWaveConditionsOutputEntityReadExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Storage/src/Ringtoets.Storage.Core/Ringtoets.rtd
===================================================================
diff -u -r12c71fcdd358a10e875edfa2288e545e02547d63 -r5f61c64020ac01999b88a49cc70eafba7134e450
Binary files differ
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Riskeer.Storage.Core.csproj'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/RoundedDoubleConversionExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Serializers/DataCollectionSerializer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Serializers/MacroStabilityInwardsSliceCollectionXmlSerializer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Serializers/Point2DCollectionXmlSerializer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Serializers/Point3DCollectionXmlSerializer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Serializers/RoughnessPointCollectionXmlSerializer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/Serializers/TangentLineCollectionXmlSerializer.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/SqLiteEntityConnectionStringBuilder.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/StorageSqLite.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/StorageSqliteCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag 5f61c64020ac01999b88a49cc70eafba7134e450 refers to a dead (removed) revision in file `Ringtoets/Storage/src/Ringtoets.Storage.Core/packages.config'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/App.config
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/App.config (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/App.config (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/BackedUpFileWriter.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/BackedUpFileWriter.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/BackedUpFileWriter.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,238 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.IO;
+using Core.Common.Util;
+using Ringtoets.Storage.Core.Exceptions;
+using Ringtoets.Storage.Core.Properties;
+
+namespace Ringtoets.Storage.Core
+{
+ ///
+ /// Class for providing a safe way of writing files by creating a temporary backup file of targeted files.
+ ///
+ public class BackedUpFileWriter
+ {
+ private const string temporarySuffix = "~";
+
+ private readonly string temporaryFilePath;
+ private readonly string targetFilePath;
+ private bool isTemporaryFileCreated;
+
+ ///
+ /// Creates an instance of .
+ ///
+ /// The path of the file which will be overwritten.
+ /// is not a valid path.
+ public BackedUpFileWriter(string targetFilePath)
+ {
+ IOUtils.ValidateFilePath(targetFilePath);
+
+ this.targetFilePath = targetFilePath;
+ temporaryFilePath = targetFilePath + temporarySuffix;
+ }
+
+ ///
+ /// Performs the in a safe way by backing up the targeted file provided when
+ /// constructing the . It is expected that the
+ /// will throw an exception when the operation fails, so that the backed up target file can be restored.
+ ///
+ /// The action to perform after backing up the targeted file.
+ /// Thrown when:
+ ///
+ /// - The temporary file already exists and cannot be deleted.
+ /// - The temporary file cannot be created from the target file.
+ /// - When reverting, the original file cannot be restored.
+ ///
+ ///
+ /// Thrown when cleaning up, the temporary file cannot be removed.
+ /// Any thrown by will be rethrown.
+ public void Perform(Action writeAction)
+ {
+ CreateTemporaryFile();
+
+ try
+ {
+ writeAction();
+ }
+ catch
+ {
+ Revert();
+ throw;
+ }
+
+ Finish();
+ }
+
+ ///
+ /// Removes the temporary file if it was created.
+ ///
+ /// The temporary file cannot be removed.
+ private void Finish()
+ {
+ if (isTemporaryFileCreated)
+ {
+ DeleteTemporaryFile();
+ }
+ }
+
+ ///
+ /// Reverts the target file to the temporary file if it was created. If the operation fails,
+ /// the temporary file will remain in the directory of the target file.
+ ///
+ /// The original file cannot be restored.
+ private void Revert()
+ {
+ if (isTemporaryFileCreated)
+ {
+ RestoreOriginalFile();
+ }
+ }
+
+ ///
+ /// Creates a temporary file from the target file, if there is any. Creates a new file at the target
+ /// file path.
+ ///
+ /// Thrown when either:
+ ///
+ /// - The temporary file already exists and cannot be deleted.
+ /// - The temporary file cannot be created from the target file.
+ ///
+ ///
+ private void CreateTemporaryFile()
+ {
+ isTemporaryFileCreated = false;
+
+ if (File.Exists(targetFilePath))
+ {
+ RemoveAlreadyExistingTemporaryFile();
+ CreateNewTemporaryFile();
+ isTemporaryFileCreated = true;
+ }
+ }
+
+ ///
+ /// Removes the temporary file for the target file if it already exists.
+ ///
+ /// The temporary file already exists and cannot be deleted.
+ private void RemoveAlreadyExistingTemporaryFile()
+ {
+ if (File.Exists(temporaryFilePath))
+ {
+ try
+ {
+ File.Delete(temporaryFilePath);
+ }
+ catch (Exception e)
+ {
+ if (e is ArgumentException || e is IOException || e is NotSupportedException || e is UnauthorizedAccessException)
+ {
+ string message = string.Format(
+ Resources.SafeOverwriteFileHelper_RemoveAlreadyExistingTemporaryFile_Already_existing_temporary_file_at_FilePath_0_could_not_be_removed,
+ temporaryFilePath);
+ throw new IOException(message, e);
+ }
+
+ throw;
+ }
+ }
+ }
+
+ ///
+ /// Creates a temporary file from the target file.
+ ///
+ /// The temporary file cannot be created from the target file.
+ private void CreateNewTemporaryFile()
+ {
+ try
+ {
+ File.Move(targetFilePath, temporaryFilePath);
+ }
+ catch (Exception e)
+ {
+ if (e is ArgumentException || e is IOException || e is UnauthorizedAccessException || e is NotSupportedException)
+ {
+ string message = string.Format(
+ Resources.SafeOverwriteFileHelper_CreateNewTemporaryFile_Cannot_create_temporary_FilePath_0_Try_change_save_location,
+ targetFilePath);
+ throw new IOException(message, e);
+ }
+
+ throw;
+ }
+ }
+
+ ///
+ /// Moves the temporary file back to the original path. If the operation fails, the temporary file
+ /// will remain.
+ ///
+ /// Thrown when either:
+ ///
+ /// - The new file could not be deleted.
+ /// - The temporary file could not be moved to its original place.
+ ///
+ private void RestoreOriginalFile()
+ {
+ try
+ {
+ File.Delete(targetFilePath);
+ File.Move(temporaryFilePath, targetFilePath);
+ }
+ catch (Exception e)
+ {
+ if (e is ArgumentException || e is IOException || e is NotSupportedException || e is UnauthorizedAccessException)
+ {
+ string message = string.Format(
+ Resources.SafeOverwriteFileHelper_RestoreOriginalFile_Cannot_revert_to_original_FilePath_0_Try_reverting_manually,
+ targetFilePath);
+ throw new IOException(message, e);
+ }
+
+ throw;
+ }
+ }
+
+ ///
+ /// Deletes the created temporary file.
+ ///
+ /// The temporary file cannot be removed.
+ private void DeleteTemporaryFile()
+ {
+ try
+ {
+ File.Delete(temporaryFilePath);
+ }
+ catch (Exception e)
+ {
+ if (e is ArgumentException || e is IOException || e is NotSupportedException || e is UnauthorizedAccessException)
+ {
+ string message = string.Format(
+ Resources.SafeOverwriteFileHelper_DeleteTemporaryFile_Cannot_remove_temporary_FilePath_0_Try_removing_manually,
+ temporaryFilePath);
+ throw new CannotDeleteBackupFileException(message, e);
+ }
+
+ throw;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/BackgroundDataIdentifiers.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/BackgroundDataIdentifiers.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/BackgroundDataIdentifiers.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,54 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+namespace Ringtoets.Storage.Core
+{
+ ///
+ /// Container of general identifiers related to background data.
+ ///
+ public static class BackgroundDataIdentifiers
+ {
+ ///
+ /// The identifier for the configured state.
+ ///
+ public const string IsConfigured = "IsConfigured";
+
+ ///
+ /// The identifier for the source capabilities url.
+ ///
+ public const string SourceCapabilitiesUrl = "SourceCapabilitiesUrl";
+
+ ///
+ /// The identifier for the selected capability identifier.
+ ///
+ public const string SelectedCapabilityIdentifier = "SelectedCapabilityIdentifier";
+
+ ///
+ /// The identifier for the preferred format.
+ ///
+ public const string PreferredFormat = "PreferredFormat";
+
+ ///
+ /// The identifier for the well known tile source.
+ ///
+ public const string WellKnownTileSource = "WellKnownTileSource";
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/BackgroundDataType.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/BackgroundDataType.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/BackgroundDataType.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,41 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using Ringtoets.Common.Data.AssessmentSection;
+
+namespace Ringtoets.Storage.Core
+{
+ ///
+ /// Enumeration that defines the possible types of a .
+ ///
+ public enum BackgroundDataType
+ {
+ ///
+ /// Web Map Tile Service background data type.
+ ///
+ Wmts = 1,
+
+ ///
+ /// Well known tile source background data type.
+ ///
+ WellKnown = 2
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/ColorConversionExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/ColorConversionExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/ColorConversionExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,56 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Drawing;
+
+namespace Ringtoets.Storage.Core
+{
+ ///
+ /// Class that contains extension methods for to convert them to
+ /// other value types.
+ ///
+ internal static class ColorConversionExtensions
+ {
+ ///
+ /// Convert to its 64-bit ARGB value.
+ ///
+ /// The value to convert.
+ /// The 64-bit ARGB value, or null when the
+ /// color is empty.
+ public static long? ToInt64(this Color value)
+ {
+ return value.IsEmpty
+ ? (long?) null
+ : value.ToArgb();
+ }
+
+ ///
+ /// Converts a 32-bit ARGB value to .
+ ///
+ /// The 32-bit ARGB value to convert.
+ /// The created .
+ public static Color ToColor(this long? value)
+ {
+ return value == null ? Color.Empty : Color.FromArgb(Convert.ToInt32(value));
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/AssessmentSectionCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/AssessmentSectionCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/AssessmentSectionCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,147 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.Contribution;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Integration.Data;
+using Ringtoets.Storage.Core.Create.ClosingStructures;
+using Ringtoets.Storage.Core.Create.DuneErosion;
+using Ringtoets.Storage.Core.Create.GrassCoverErosionInwards;
+using Ringtoets.Storage.Core.Create.GrassCoverErosionOutwards;
+using Ringtoets.Storage.Core.Create.GrassCoverSlipOffInwards;
+using Ringtoets.Storage.Core.Create.GrassCoverSlipOffOutwards;
+using Ringtoets.Storage.Core.Create.HeightStructures;
+using Ringtoets.Storage.Core.Create.MacroStabilityInwards;
+using Ringtoets.Storage.Core.Create.MacroStabilityOutwards;
+using Ringtoets.Storage.Core.Create.Microstability;
+using Ringtoets.Storage.Core.Create.Piping;
+using Ringtoets.Storage.Core.Create.PipingStructure;
+using Ringtoets.Storage.Core.Create.StabilityPointStructures;
+using Ringtoets.Storage.Core.Create.StabilityStoneCover;
+using Ringtoets.Storage.Core.Create.StrengthStabilityLengthwise;
+using Ringtoets.Storage.Core.Create.TechnicalInnovation;
+using Ringtoets.Storage.Core.Create.WaterPressureAsphaltCover;
+using Ringtoets.Storage.Core.Create.WaveImpactAsphaltCover;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating an .
+ ///
+ internal static class AssessmentSectionCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The section to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides in its parent.
+ /// A new .
+ /// Thrown when is null.
+ internal static AssessmentSectionEntity Create(this AssessmentSection section, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ FailureMechanismContribution contribution = section.FailureMechanismContribution;
+ var entity = new AssessmentSectionEntity
+ {
+ Id = section.Id.DeepClone(),
+ Name = section.Name.DeepClone(),
+ Composition = Convert.ToByte(section.Composition),
+ Comments = section.Comments.Body.DeepClone(),
+ LowerLimitNorm = contribution.LowerLimitNorm,
+ SignalingNorm = contribution.SignalingNorm,
+ NormativeNormType = Convert.ToByte(contribution.NormativeNorm),
+ Order = order
+ };
+
+ AddEntityForHydraulicDatabase(section.HydraulicBoundaryDatabase, entity, registry);
+ AddHydraulicLocationCalculationEntities(section, entity, registry);
+ AddEntityForReferenceLine(section, entity);
+
+ entity.BackgroundDataEntities.Add(section.BackgroundData.Create());
+
+ entity.FailureMechanismEntities.Add(section.Piping.Create(registry));
+ entity.FailureMechanismEntities.Add(section.GrassCoverErosionInwards.Create(registry));
+ entity.FailureMechanismEntities.Add(section.HeightStructures.Create(registry));
+ entity.FailureMechanismEntities.Add(section.StrengthStabilityLengthwiseConstruction.Create(registry));
+ entity.FailureMechanismEntities.Add(section.TechnicalInnovation.Create(registry));
+ entity.FailureMechanismEntities.Add(section.WaterPressureAsphaltCover.Create(registry));
+ entity.FailureMechanismEntities.Add(section.ClosingStructures.Create(registry));
+ entity.FailureMechanismEntities.Add(section.MacroStabilityInwards.Create(registry));
+ entity.FailureMechanismEntities.Add(section.MacroStabilityOutwards.Create(registry));
+ entity.FailureMechanismEntities.Add(section.WaveImpactAsphaltCover.Create(registry));
+ entity.FailureMechanismEntities.Add(section.GrassCoverErosionOutwards.Create(registry));
+ entity.FailureMechanismEntities.Add(section.GrassCoverSlipOffInwards.Create(registry));
+ entity.FailureMechanismEntities.Add(section.GrassCoverSlipOffOutwards.Create(registry));
+ entity.FailureMechanismEntities.Add(section.Microstability.Create(registry));
+ entity.FailureMechanismEntities.Add(section.PipingStructure.Create(registry));
+ entity.FailureMechanismEntities.Add(section.StabilityStoneCover.Create(registry));
+ entity.FailureMechanismEntities.Add(section.DuneErosion.Create(registry));
+ entity.FailureMechanismEntities.Add(section.StabilityPointStructures.Create(registry));
+
+ return entity;
+ }
+
+ private static void AddEntityForReferenceLine(AssessmentSection section, AssessmentSectionEntity entity)
+ {
+ if (section.ReferenceLine.Points.Any())
+ {
+ entity.ReferenceLinePointXml = new Point2DCollectionXmlSerializer().ToXml(section.ReferenceLine.Points);
+ }
+ }
+
+ private static void AddEntityForHydraulicDatabase(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, AssessmentSectionEntity entity, PersistenceRegistry registry)
+ {
+ if (hydraulicBoundaryDatabase.IsLinked())
+ {
+ entity.HydraulicBoundaryDatabaseEntities.Add(hydraulicBoundaryDatabase.Create());
+
+ for (var i = 0; i < hydraulicBoundaryDatabase.Locations.Count; i++)
+ {
+ HydraulicBoundaryLocation hydraulicBoundaryLocation = hydraulicBoundaryDatabase.Locations[i];
+ entity.HydraulicLocationEntities.Add(hydraulicBoundaryLocation.Create(registry, i));
+ }
+ }
+ }
+
+ private static void AddHydraulicLocationCalculationEntities(AssessmentSection assessmentSection, AssessmentSectionEntity entity, PersistenceRegistry registry)
+ {
+ entity.HydraulicLocationCalculationCollectionEntity7 = assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.Create(registry);
+ entity.HydraulicLocationCalculationCollectionEntity6 = assessmentSection.WaterLevelCalculationsForSignalingNorm.Create(registry);
+ entity.HydraulicLocationCalculationCollectionEntity5 = assessmentSection.WaterLevelCalculationsForLowerLimitNorm.Create(registry);
+ entity.HydraulicLocationCalculationCollectionEntity4 = assessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm.Create(registry);
+
+ entity.HydraulicLocationCalculationCollectionEntity3 = assessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm.Create(registry);
+ entity.HydraulicLocationCalculationCollectionEntity2 = assessmentSection.WaveHeightCalculationsForSignalingNorm.Create(registry);
+ entity.HydraulicLocationCalculationCollectionEntity1 = assessmentSection.WaveHeightCalculationsForLowerLimitNorm.Create(registry);
+ entity.HydraulicLocationCalculationCollectionEntity = assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm.Create(registry);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/BackgroundDataCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/BackgroundDataCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/BackgroundDataCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,114 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extensions methods for related to
+ /// creating a .
+ ///
+ internal static class BackgroundDataCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The container to create a for.
+ /// The created .
+ internal static BackgroundDataEntity Create(this BackgroundData backgroundData)
+ {
+ if (backgroundData == null)
+ {
+ throw new ArgumentNullException(nameof(backgroundData));
+ }
+
+ var entity = new BackgroundDataEntity
+ {
+ Name = backgroundData.Name.DeepClone(),
+ IsVisible = Convert.ToByte(backgroundData.IsVisible),
+ Transparency = backgroundData.Transparency
+ };
+
+ AddEntitiesForBackgroundDataMeta(backgroundData, entity);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForBackgroundDataMeta(BackgroundData backgroundData, BackgroundDataEntity entity)
+ {
+ var wmtsBackgroundDataConfiguration = backgroundData.Configuration as WmtsBackgroundDataConfiguration;
+ var wellKnownBackgroundDataConfiguration = backgroundData.Configuration as WellKnownBackgroundDataConfiguration;
+
+ if (wmtsBackgroundDataConfiguration != null)
+ {
+ entity.BackgroundDataType = Convert.ToByte(BackgroundDataType.Wmts);
+ AddWmtsMetaEntities(wmtsBackgroundDataConfiguration, entity);
+ }
+ else if (wellKnownBackgroundDataConfiguration != null)
+ {
+ entity.BackgroundDataType = Convert.ToByte(BackgroundDataType.WellKnown);
+ AddWellKnownTileSourceMetaEntities(wellKnownBackgroundDataConfiguration, entity);
+ }
+ }
+
+ private static void AddWellKnownTileSourceMetaEntities(WellKnownBackgroundDataConfiguration wellKnownConfiguration, BackgroundDataEntity entity)
+ {
+ entity.BackgroundDataMetaEntities.Add(new BackgroundDataMetaEntity
+ {
+ Key = BackgroundDataIdentifiers.WellKnownTileSource.DeepClone(),
+ Value = ((int) wellKnownConfiguration.WellKnownTileSource).ToString()
+ });
+ }
+
+ private static void AddWmtsMetaEntities(WmtsBackgroundDataConfiguration wmtsBackgroundDataConfiguration, BackgroundDataEntity entity)
+ {
+ entity.BackgroundDataMetaEntities.Add(new BackgroundDataMetaEntity
+ {
+ Key = BackgroundDataIdentifiers.IsConfigured,
+ Value = Convert.ToByte(wmtsBackgroundDataConfiguration.IsConfigured).ToString()
+ });
+
+ if (wmtsBackgroundDataConfiguration.IsConfigured)
+ {
+ entity.BackgroundDataMetaEntities.Add(new BackgroundDataMetaEntity
+ {
+ Key = BackgroundDataIdentifiers.SelectedCapabilityIdentifier.DeepClone(),
+ Value = wmtsBackgroundDataConfiguration.SelectedCapabilityIdentifier.DeepClone()
+ });
+ entity.BackgroundDataMetaEntities.Add(new BackgroundDataMetaEntity
+ {
+ Key = BackgroundDataIdentifiers.SourceCapabilitiesUrl.DeepClone(),
+ Value = wmtsBackgroundDataConfiguration.SourceCapabilitiesUrl.DeepClone()
+ });
+ entity.BackgroundDataMetaEntities.Add(new BackgroundDataMetaEntity
+ {
+ Key = BackgroundDataIdentifiers.PreferredFormat.DeepClone(),
+ Value = wmtsBackgroundDataConfiguration.PreferredFormat.DeepClone()
+ });
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/CalculationGroupCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/CalculationGroupCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/CalculationGroupCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,143 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.Piping.Data;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.Storage.Core.Create.GrassCoverErosionInwards;
+using Ringtoets.Storage.Core.Create.GrassCoverErosionOutwards;
+using Ringtoets.Storage.Core.Create.MacroStabilityInwards;
+using Ringtoets.Storage.Core.Create.Piping;
+using Ringtoets.Storage.Core.Create.StabilityStoneCover;
+using Ringtoets.Storage.Core.Create.WaveImpactAsphaltCover;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class CalculationGroupCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The calculation group to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ internal static CalculationGroupEntity Create(this CalculationGroup group, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new CalculationGroupEntity
+ {
+ Name = group.Name.DeepClone(),
+ Order = order
+ };
+ CreateChildElements(group, entity, registry);
+
+ return entity;
+ }
+
+ private static void CreateChildElements(CalculationGroup parentGroup, CalculationGroupEntity entity, PersistenceRegistry registry)
+ {
+ for (var i = 0; i < parentGroup.Children.Count; i++)
+ {
+ ICalculationBase calculationBase = parentGroup.Children[i];
+
+ var childGroup = calculationBase as CalculationGroup;
+ if (childGroup != null)
+ {
+ entity.CalculationGroupEntity1.Add(childGroup.Create(registry, i));
+ }
+
+ var childPipingCalculation = calculationBase as PipingCalculationScenario;
+ if (childPipingCalculation != null)
+ {
+ entity.PipingCalculationEntities.Add(childPipingCalculation.Create(registry, i));
+ }
+
+ var childMacroStabilityInwardsCalculation = calculationBase as MacroStabilityInwardsCalculationScenario;
+ if (childMacroStabilityInwardsCalculation != null)
+ {
+ entity.MacroStabilityInwardsCalculationEntities.Add(childMacroStabilityInwardsCalculation.Create(registry, i));
+ }
+
+ var childGrassCoverErosionInwardsCalculation = calculationBase as GrassCoverErosionInwardsCalculation;
+ if (childGrassCoverErosionInwardsCalculation != null)
+ {
+ entity.GrassCoverErosionInwardsCalculationEntities.Add(childGrassCoverErosionInwardsCalculation.Create(registry, i));
+ }
+
+ var childGrassCoverErosionOutwardsCalculation = calculationBase as GrassCoverErosionOutwardsWaveConditionsCalculation;
+ if (childGrassCoverErosionOutwardsCalculation != null)
+ {
+ entity.GrassCoverErosionOutwardsWaveConditionsCalculationEntities.Add(childGrassCoverErosionOutwardsCalculation.Create(registry, i));
+ }
+
+ var childHeightStructuresCalculation = calculationBase as StructuresCalculation;
+ if (childHeightStructuresCalculation != null)
+ {
+ entity.HeightStructuresCalculationEntities.Add(childHeightStructuresCalculation.CreateForHeightStructures(registry, i));
+ }
+
+ var childClosingStructuresCalculation = calculationBase as StructuresCalculation;
+ if (childClosingStructuresCalculation != null)
+ {
+ entity.ClosingStructuresCalculationEntities.Add(childClosingStructuresCalculation.CreateForClosingStructures(registry, i));
+ }
+
+ var childStabilityPointStructuresCalculation = calculationBase as StructuresCalculation;
+ if (childStabilityPointStructuresCalculation != null)
+ {
+ entity.StabilityPointStructuresCalculationEntities.Add(childStabilityPointStructuresCalculation.CreateForStabilityPointStructures(registry, i));
+ }
+
+ var stabilityStoneCoverWaveConditionsCalculation = calculationBase as StabilityStoneCoverWaveConditionsCalculation;
+ if (stabilityStoneCoverWaveConditionsCalculation != null)
+ {
+ entity.StabilityStoneCoverWaveConditionsCalculationEntities.Add(stabilityStoneCoverWaveConditionsCalculation.Create(registry, i));
+ }
+
+ var waveImpactAsphaltCoverWaveConditionsCalculation = calculationBase as WaveImpactAsphaltCoverWaveConditionsCalculation;
+ if (waveImpactAsphaltCoverWaveConditionsCalculation != null)
+ {
+ entity.WaveImpactAsphaltCoverWaveConditionsCalculationEntities.Add(waveImpactAsphaltCoverWaveConditionsCalculation.Create(registry, i));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructureCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructureCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructureCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.ClosingStructures
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class ClosingStructureCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The structure to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ internal static ClosingStructureEntity Create(this ClosingStructure structure, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(structure))
+ {
+ return registry.Get(structure);
+ }
+
+ var entity = new ClosingStructureEntity
+ {
+ Name = structure.Name.DeepClone(),
+ Id = structure.Id.DeepClone(),
+ X = structure.Location.X.ToNaNAsNull(),
+ Y = structure.Location.Y.ToNaNAsNull(),
+ StructureNormalOrientation = structure.StructureNormalOrientation.ToNaNAsNull(),
+ StorageStructureAreaMean = structure.StorageStructureArea.Mean.ToNaNAsNull(),
+ StorageStructureAreaCoefficientOfVariation = structure.StorageStructureArea.CoefficientOfVariation.ToNaNAsNull(),
+ AllowedLevelIncreaseStorageMean = structure.AllowedLevelIncreaseStorage.Mean.ToNaNAsNull(),
+ AllowedLevelIncreaseStorageStandardDeviation = structure.AllowedLevelIncreaseStorage.StandardDeviation.ToNaNAsNull(),
+ WidthFlowAperturesMean = structure.WidthFlowApertures.Mean.ToNaNAsNull(),
+ WidthFlowAperturesStandardDeviation = structure.WidthFlowApertures.StandardDeviation.ToNaNAsNull(),
+ LevelCrestStructureNotClosingMean = structure.LevelCrestStructureNotClosing.Mean.ToNaNAsNull(),
+ LevelCrestStructureNotClosingStandardDeviation = structure.LevelCrestStructureNotClosing.StandardDeviation.ToNaNAsNull(),
+ InsideWaterLevelMean = structure.InsideWaterLevel.Mean.ToNaNAsNull(),
+ InsideWaterLevelStandardDeviation = structure.InsideWaterLevel.StandardDeviation.ToNaNAsNull(),
+ ThresholdHeightOpenWeirMean = structure.ThresholdHeightOpenWeir.Mean.ToNaNAsNull(),
+ ThresholdHeightOpenWeirStandardDeviation = structure.ThresholdHeightOpenWeir.StandardDeviation.ToNaNAsNull(),
+ AreaFlowAperturesMean = structure.AreaFlowApertures.Mean.ToNaNAsNull(),
+ AreaFlowAperturesStandardDeviation = structure.AreaFlowApertures.StandardDeviation.ToNaNAsNull(),
+ CriticalOvertoppingDischargeMean = structure.CriticalOvertoppingDischarge.Mean.ToNaNAsNull(),
+ CriticalOvertoppingDischargeCoefficientOfVariation = structure.CriticalOvertoppingDischarge.CoefficientOfVariation.ToNaNAsNull(),
+ FlowWidthAtBottomProtectionMean = structure.FlowWidthAtBottomProtection.Mean.ToNaNAsNull(),
+ FlowWidthAtBottomProtectionStandardDeviation = structure.FlowWidthAtBottomProtection.StandardDeviation.ToNaNAsNull(),
+ ProbabilityOpenStructureBeforeFlooding = structure.ProbabilityOpenStructureBeforeFlooding.ToNaNAsNull(),
+ FailureProbabilityOpenStructure = structure.FailureProbabilityOpenStructure.ToNaNAsNull(),
+ IdenticalApertures = structure.IdenticalApertures,
+ FailureProbabilityReparation = structure.FailureProbabilityReparation.ToNaNAsNull(),
+ InflowModelType = Convert.ToByte(structure.InflowModelType),
+ Order = order
+ };
+
+ registry.Register(entity, structure);
+
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,104 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.ClosingStructures
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class ClosingStructuresFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this ClosingStructuresFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.ReliabilityClosingOfStructure, registry);
+ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry);
+ AddEntitiesForClosingStructures(mechanism.ClosingStructures, entity, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (ClosingStructuresFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ ClosingStructuresSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create(registry);
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.ClosingStructuresSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForForeshoreProfiles(
+ ForeshoreProfileCollection foreshoreProfiles,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ for (var i = 0; i < foreshoreProfiles.Count; i++)
+ {
+ ForeshoreProfileEntity foreshoreProfileEntity = foreshoreProfiles[i].Create(registry, i);
+ entity.ForeshoreProfileEntities.Add(foreshoreProfileEntity);
+ }
+ }
+
+ private static void AddEntitiesForClosingStructures(
+ StructureCollection structures,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ for (var i = 0; i < structures.Count; i++)
+ {
+ ClosingStructureEntity structureEntity = structures[i].Create(registry, i);
+ entity.ClosingStructureEntities.Add(structureEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(ClosingStructuresFailureMechanism failureMechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new ClosingStructuresFailureMechanismMetaEntity
+ {
+ N2A = failureMechanism.GeneralInput.N2A,
+ ClosingStructureCollectionSourcePath = failureMechanism.ClosingStructures.SourcePath.DeepClone(),
+ ForeshoreProfileCollectionSourcePath = failureMechanism.ForeshoreProfiles.SourcePath.DeepClone()
+ };
+ entity.ClosingStructuresFailureMechanismMetaEntities.Add(metaEntity);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ClosingStructures/ClosingStructuresFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,72 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.ClosingStructures
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class ClosingStructuresFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static ClosingStructuresSectionResultEntity Create(this ClosingStructuresFailureMechanismSectionResult result,
+ PersistenceRegistry registry)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var sectionResultEntity = new ClosingStructuresSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyProbability = result.ManualAssemblyProbability.ToNaNAsNull()
+ };
+ if (result.Calculation != null)
+ {
+ sectionResultEntity.ClosingStructuresCalculationEntity = registry.Get(result.Calculation);
+ }
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,88 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.DuneErosion
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class DuneErosionFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this DuneErosionFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.DuneErosion, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+ AddEntitiesForDuneLocations(mechanism.DuneLocations, entity, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity, registry);
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (DuneErosionFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ DuneErosionSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.DuneErosionSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(DuneErosionFailureMechanism failureMechanism,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ var metaEntity = new DuneErosionFailureMechanismMetaEntity
+ {
+ N = failureMechanism.GeneralInput.N,
+ DuneLocationCalculationCollectionEntity4 = failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Create(registry),
+ DuneLocationCalculationCollectionEntity3 = failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Create(registry),
+ DuneLocationCalculationCollectionEntity2 = failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Create(registry),
+ DuneLocationCalculationCollectionEntity1 = failureMechanism.CalculationsForLowerLimitNorm.Create(registry),
+ DuneLocationCalculationCollectionEntity = failureMechanism.CalculationsForFactorizedLowerLimitNorm.Create(registry)
+ };
+
+ entity.DuneErosionFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForDuneLocations(IEnumerable locations, FailureMechanismEntity entity, PersistenceRegistry registry)
+ {
+ var i = 0;
+ foreach (DuneLocation duneLocation in locations)
+ {
+ entity.DuneLocationEntities.Add(duneLocation.Create(registry, i++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneErosionFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.DuneErosion
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class DuneErosionFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static DuneErosionSectionResultEntity Create(this DuneErosionFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new DuneErosionSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResultForFactorizedSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedSignalingNorm),
+ DetailedAssessmentResultForSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForSignalingNorm),
+ DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm),
+ DetailedAssessmentResultForLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForLowerLimitNorm),
+ DetailedAssessmentResultForFactorizedLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedLowerLimitNorm),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationCollectionCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationCollectionCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationCollectionCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,66 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.DuneErosion
+{
+ ///
+ /// Extension methods for collections of related to creating a
+ /// .
+ ///
+ internal static class DuneLocationCalculationCollectionCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The collection of
+ /// to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static DuneLocationCalculationCollectionEntity Create(this IEnumerable calculations,
+ PersistenceRegistry registry)
+ {
+ if (calculations == null)
+ {
+ throw new ArgumentNullException(nameof(calculations));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var collectionEntity = new DuneLocationCalculationCollectionEntity();
+ foreach (DuneLocationCalculation calculation in calculations)
+ {
+ collectionEntity.DuneLocationCalculationEntities.Add(calculation.Create(registry));
+ }
+
+ return collectionEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,70 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.DuneErosion
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class DuneLocationCalculationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static DuneLocationCalculationEntity Create(this DuneLocationCalculation calculation, PersistenceRegistry registry)
+ {
+ if (calculation == null)
+ {
+ throw new ArgumentNullException(nameof(calculation));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var duneLocationCalculationEntity = new DuneLocationCalculationEntity
+ {
+ DuneLocationEntity = registry.Get(calculation.DuneLocation)
+ };
+ CreateDuneLocationOutput(duneLocationCalculationEntity, calculation.Output);
+
+ return duneLocationCalculationEntity;
+ }
+
+ private static void CreateDuneLocationOutput(DuneLocationCalculationEntity calculationEntity,
+ DuneLocationCalculationOutput output)
+ {
+ if (output != null)
+ {
+ calculationEntity.DuneLocationCalculationOutputEntities.Add(output.Create());
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCalculationOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.DuneErosion
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class DuneLocationCalculationOutputCreateExtensions
+ {
+ ///
+ /// Creates a based on the
+ /// information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static DuneLocationCalculationOutputEntity Create(this DuneLocationCalculationOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new DuneLocationCalculationOutputEntity
+ {
+ WaterLevel = output.WaterLevel.ToNaNAsNull(),
+ WaveHeight = output.WaveHeight.ToNaNAsNull(),
+ WavePeriod = output.WavePeriod.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence)
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/DuneErosion/DuneLocationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,76 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.DuneErosion
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class DuneLocationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The location to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static DuneLocationEntity Create(this DuneLocation location, PersistenceRegistry registry, int order)
+ {
+ if (location == null)
+ {
+ throw new ArgumentNullException(nameof(location));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(location))
+ {
+ return registry.Get(location);
+ }
+
+ var entity = new DuneLocationEntity
+ {
+ LocationId = location.Id,
+ Name = location.Name.DeepClone(),
+ LocationX = location.Location.X.ToNaNAsNull(),
+ LocationY = location.Location.Y.ToNaNAsNull(),
+ CoastalAreaId = location.CoastalAreaId,
+ Offset = location.Offset.ToNaNAsNull(),
+ Orientation = location.Orientation.ToNaNAsNull(),
+ D50 = location.D50.ToNaNAsNull(),
+ Order = order
+ };
+
+ registry.Register(entity, location);
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/FailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/FailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/FailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,94 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class FailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The type of the failure mechanism that is being created.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this IFailureMechanism mechanism, FailureMechanismType type, PersistenceRegistry registry)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new FailureMechanismEntity
+ {
+ FailureMechanismType = (short) type,
+ IsRelevant = Convert.ToByte(mechanism.IsRelevant),
+ InputComments = mechanism.InputComments.Body.DeepClone(),
+ OutputComments = mechanism.OutputComments.Body.DeepClone(),
+ NotRelevantComments = mechanism.NotRelevantComments.Body.DeepClone(),
+ FailureMechanismSectionCollectionSourcePath = mechanism.FailureMechanismSectionSourcePath.DeepClone()
+ };
+
+ mechanism.AddEntitiesForFailureMechanismSections(registry, entity);
+
+ return entity;
+ }
+
+ ///
+ /// Creates instances based on the information of the .
+ ///
+ /// The failure mechanism to create a database failure mechanism section entities for.
+ /// The object keeping track of create operations.
+ /// The to which to add the created entities.
+ /// Thrown when either:
+ ///
+ /// - is null
+ /// - is null
+ ///
+ ///
+ internal static void AddEntitiesForFailureMechanismSections(this IFailureMechanism mechanism, PersistenceRegistry registry, FailureMechanismEntity entity)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (entity == null)
+ {
+ throw new ArgumentNullException(nameof(entity));
+ }
+
+ foreach (FailureMechanismSection failureMechanismSection in mechanism.Sections)
+ {
+ entity.FailureMechanismSectionEntities.Add(failureMechanismSection.Create(registry));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/FailureMechanismSectionCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/FailureMechanismSectionCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/FailureMechanismSectionCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class FailureMechanismSectionCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The section to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismSectionEntity Create(this FailureMechanismSection section, PersistenceRegistry registry)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var failureMechanismSectionEntity = new FailureMechanismSectionEntity
+ {
+ Name = section.Name.DeepClone(),
+ FailureMechanismSectionPointXml = new Point2DCollectionXmlSerializer().ToXml(section.Points)
+ };
+
+ registry.Register(failureMechanismSectionEntity, section);
+
+ return failureMechanismSectionEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ForeshoreProfileCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ForeshoreProfileCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/ForeshoreProfileCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ public static class ForeshoreProfileCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The foreshore profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ internal static ForeshoreProfileEntity Create(this ForeshoreProfile foreshoreProfile, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(foreshoreProfile))
+ {
+ return registry.Get(foreshoreProfile);
+ }
+
+ var foreshoreProfileEntity = new ForeshoreProfileEntity
+ {
+ Id = foreshoreProfile.Id.DeepClone(),
+ Name = foreshoreProfile.Name.DeepClone(),
+ GeometryXml = new Point2DCollectionXmlSerializer().ToXml(foreshoreProfile.Geometry),
+ X = foreshoreProfile.WorldReferencePoint.X,
+ Y = foreshoreProfile.WorldReferencePoint.Y,
+ X0 = foreshoreProfile.X0,
+ Orientation = foreshoreProfile.Orientation,
+ Order = order
+ };
+
+ if (foreshoreProfile.HasBreakWater)
+ {
+ foreshoreProfileEntity.BreakWaterHeight = foreshoreProfile.BreakWater.Height;
+ foreshoreProfileEntity.BreakWaterType = Convert.ToByte(foreshoreProfile.BreakWater.Type);
+ }
+
+ registry.Register(foreshoreProfileEntity, foreshoreProfile);
+
+ return foreshoreProfileEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/DikeHeightOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/DikeHeightOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/DikeHeightOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.Storage.Core.Create.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class DikeHeightOutputCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static GrassCoverErosionInwardsDikeHeightOutputEntity Create(this DikeHeightOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new GrassCoverErosionInwardsDikeHeightOutputEntity
+ {
+ DikeHeight = output.DikeHeight.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence),
+ GeneralResultFaultTreeIllustrationPointEntity = output.GeneralResult?.CreateGeneralResultFaultTreeIllustrationPointEntity()
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/DikeProfileCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/DikeProfileCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/DikeProfileCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class DikeProfileCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The dike profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when is null.
+ internal static DikeProfileEntity Create(this DikeProfile dikeProfile, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(dikeProfile))
+ {
+ return registry.Get(dikeProfile);
+ }
+
+ var sectionResultEntity = new DikeProfileEntity
+ {
+ X = dikeProfile.WorldReferencePoint.X,
+ Y = dikeProfile.WorldReferencePoint.Y,
+ X0 = dikeProfile.X0,
+ DikeGeometryXml = new RoughnessPointCollectionXmlSerializer().ToXml(dikeProfile.DikeGeometry),
+ ForeshoreXml = new Point2DCollectionXmlSerializer().ToXml(dikeProfile.ForeshoreGeometry),
+ Orientation = dikeProfile.Orientation,
+ DikeHeight = dikeProfile.DikeHeight,
+ Id = dikeProfile.Id.DeepClone(),
+ Name = dikeProfile.Name.DeepClone(),
+ Order = order
+ };
+ if (dikeProfile.HasBreakWater)
+ {
+ sectionResultEntity.BreakWaterHeight = dikeProfile.BreakWater.Height;
+ sectionResultEntity.BreakWaterType = Convert.ToByte(dikeProfile.BreakWater.Type);
+ }
+
+ registry.Register(sectionResultEntity, dikeProfile);
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,101 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related
+ /// to creating a .
+ ///
+ internal static class GrassCoverErosionInwardsCalculationCreateExtensions
+ {
+ ///
+ /// Creates a based
+ /// on the information of the .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at where resides
+ /// in its parent container.
+ /// A new .
+ /// Thrown when is null.
+ internal static GrassCoverErosionInwardsCalculationEntity Create(this GrassCoverErosionInwardsCalculation calculation, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new GrassCoverErosionInwardsCalculationEntity
+ {
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone(),
+ Order = order
+ };
+ SetInputValues(entity, calculation.InputParameters, registry);
+ SetOutputEntity(entity, calculation);
+
+ registry.Register(entity, calculation);
+
+ return entity;
+ }
+
+ private static void SetOutputEntity(GrassCoverErosionInwardsCalculationEntity entity, GrassCoverErosionInwardsCalculation calculation)
+ {
+ if (calculation.HasOutput)
+ {
+ entity.GrassCoverErosionInwardsOutputEntities.Add(calculation.Output.Create());
+ }
+ }
+
+ private static void SetInputValues(GrassCoverErosionInwardsCalculationEntity entity, GrassCoverErosionInwardsInput input, PersistenceRegistry registry)
+ {
+ if (input.DikeProfile != null)
+ {
+ entity.DikeProfileEntity = registry.Get(input.DikeProfile);
+ }
+
+ if (input.HydraulicBoundaryLocation != null)
+ {
+ entity.HydraulicLocationEntity = registry.Get(input.HydraulicBoundaryLocation);
+ }
+
+ entity.BreakWaterHeight = input.BreakWater.Height.ToNaNAsNull();
+ entity.BreakWaterType = Convert.ToByte(input.BreakWater.Type);
+ entity.UseBreakWater = Convert.ToByte(input.UseBreakWater);
+ entity.CriticalFlowRateMean = input.CriticalFlowRate.Mean.ToNaNAsNull();
+ entity.CriticalFlowRateStandardDeviation = input.CriticalFlowRate.StandardDeviation.ToNaNAsNull();
+ entity.Orientation = input.Orientation.ToNaNAsNull();
+ entity.DikeHeightCalculationType = Convert.ToByte(input.DikeHeightCalculationType);
+ entity.OvertoppingRateCalculationType = Convert.ToByte(input.OvertoppingRateCalculationType);
+ entity.DikeHeight = input.DikeHeight.ToNaNAsNull();
+ entity.UseForeshore = Convert.ToByte(input.UseForeshore);
+ entity.ShouldOvertoppingOutputIllustrationPointsBeCalculated = Convert.ToByte(input.ShouldOvertoppingOutputIllustrationPointsBeCalculated);
+ entity.ShouldDikeHeightIllustrationPointsBeCalculated = Convert.ToByte(input.ShouldDikeHeightIllustrationPointsBeCalculated);
+ entity.ShouldOvertoppingRateIllustrationPointsBeCalculated = Convert.ToByte(input.ShouldOvertoppingRateIllustrationPointsBeCalculated);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,85 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class GrassCoverErosionInwardsFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this GrassCoverErosionInwardsFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.GrassRevetmentTopErosionAndInwards, registry);
+ AddEntitiesForGeneralInput(mechanism, entity);
+ AddEntitiesForDikeProfiles(mechanism, registry, entity);
+ entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForGeneralInput(GrassCoverErosionInwardsFailureMechanism mechanism, FailureMechanismEntity entity)
+ {
+ var metaEntity = new GrassCoverErosionInwardsFailureMechanismMetaEntity
+ {
+ N = mechanism.GeneralInput.N,
+ DikeProfileCollectionSourcePath = mechanism.DikeProfiles.SourcePath.DeepClone()
+ };
+ entity.GrassCoverErosionInwardsFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForDikeProfiles(GrassCoverErosionInwardsFailureMechanism mechanism, PersistenceRegistry registry, FailureMechanismEntity entity)
+ {
+ for (var i = 0; i < mechanism.DikeProfiles.Count; i++)
+ {
+ DikeProfile dikeProfile = mechanism.DikeProfiles[i];
+ entity.DikeProfileEntities.Add(dikeProfile.Create(registry, i));
+ }
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (GrassCoverErosionInwardsFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ GrassCoverErosionInwardsSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create(registry);
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.GrassCoverErosionInwardsSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,72 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class GrassCoverErosionInwardsFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static GrassCoverErosionInwardsSectionResultEntity Create(this GrassCoverErosionInwardsFailureMechanismSectionResult result,
+ PersistenceRegistry registry)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var sectionResultEntity = new GrassCoverErosionInwardsSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyProbability = result.ManualAssemblyProbability.ToNaNAsNull()
+ };
+ if (result.Calculation != null)
+ {
+ sectionResultEntity.GrassCoverErosionInwardsCalculationEntity = registry.Get(result.Calculation);
+ }
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,77 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.Storage.Core.Create.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class GrassCoverErosionInwardsOutputCreateExtensions
+ {
+ ///
+ /// Creates a based on
+ /// the information of the .
+ ///
+ /// The grass cover erosion inwards calculation output to create
+ /// a database entity for.
+ /// A new .
+ internal static GrassCoverErosionInwardsOutputEntity Create(this GrassCoverErosionInwardsOutput output)
+ {
+ OvertoppingOutput overtoppingOutput = output.OvertoppingOutput;
+ var entity = new GrassCoverErosionInwardsOutputEntity
+ {
+ IsOvertoppingDominant = Convert.ToByte(overtoppingOutput.IsOvertoppingDominant),
+ WaveHeight = overtoppingOutput.WaveHeight.ToNaNAsNull(),
+ Reliability = overtoppingOutput.Reliability.ToNaNAsNull(),
+ GeneralResultFaultTreeIllustrationPointEntity = overtoppingOutput.GeneralResult?.CreateGeneralResultFaultTreeIllustrationPointEntity()
+ };
+
+ AddEntityForDikeHeightOutput(entity, output.DikeHeightOutput);
+ AddEntityForOvertoppingRateOutput(entity, output.OvertoppingRateOutput);
+
+ return entity;
+ }
+
+ private static void AddEntityForDikeHeightOutput(GrassCoverErosionInwardsOutputEntity entity,
+ DikeHeightOutput output)
+ {
+ if (output != null)
+ {
+ entity.GrassCoverErosionInwardsDikeHeightOutputEntities.Add(output.Create());
+ }
+ }
+
+ private static void AddEntityForOvertoppingRateOutput(GrassCoverErosionInwardsOutputEntity entity,
+ OvertoppingRateOutput output)
+ {
+ if (output != null)
+ {
+ entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.Add(output.Create());
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/OvertoppingRateOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/OvertoppingRateOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionInwards/OvertoppingRateOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.Storage.Core.Create.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class OvertoppingRateOutputCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static GrassCoverErosionInwardsOvertoppingRateOutputEntity Create(this OvertoppingRateOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new GrassCoverErosionInwardsOvertoppingRateOutputEntity
+ {
+ OvertoppingRate = output.OvertoppingRate.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence),
+ GeneralResultFaultTreeIllustrationPointEntity = output.GeneralResult?.CreateGeneralResultFaultTreeIllustrationPointEntity()
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,104 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionOutwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class GrassCoverErosionOutwardsFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this GrassCoverErosionOutwardsFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.GrassRevetmentErosionOutwards, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity, registry);
+ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry);
+ entity.CalculationGroupEntity = mechanism.WaveConditionsCalculationGroup.Create(registry, 0);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(GrassCoverErosionOutwardsFailureMechanism failureMechanism,
+ FailureMechanismEntity entity, PersistenceRegistry registry)
+ {
+ var metaEntity = new GrassCoverErosionOutwardsFailureMechanismMetaEntity
+ {
+ ForeshoreProfileCollectionSourcePath = failureMechanism.ForeshoreProfiles.SourcePath.DeepClone(),
+ N = failureMechanism.GeneralInput.N,
+ HydraulicLocationCalculationCollectionEntity5 = failureMechanism.WaterLevelCalculationsForMechanismSpecificFactorizedSignalingNorm
+ .Create(registry),
+ HydraulicLocationCalculationCollectionEntity4 = failureMechanism.WaterLevelCalculationsForMechanismSpecificSignalingNorm
+ .Create(registry),
+ HydraulicLocationCalculationCollectionEntity3 = failureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm
+ .Create(registry),
+ HydraulicLocationCalculationCollectionEntity2 = failureMechanism.WaveHeightCalculationsForMechanismSpecificFactorizedSignalingNorm
+ .Create(registry),
+ HydraulicLocationCalculationCollectionEntity1 = failureMechanism.WaveHeightCalculationsForMechanismSpecificSignalingNorm
+ .Create(registry),
+ HydraulicLocationCalculationCollectionEntity = failureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm
+ .Create(registry)
+ };
+
+ entity.GrassCoverErosionOutwardsFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (GrassCoverErosionOutwardsFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ GrassCoverErosionOutwardsSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.GrassCoverErosionOutwardsSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForForeshoreProfiles(
+ IEnumerable foreshoreProfiles,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ var i = 0;
+
+ foreach (ForeshoreProfile foreshoreProfile in foreshoreProfiles)
+ {
+ ForeshoreProfileEntity foreshoreProfileEntity = foreshoreProfile.Create(registry, i++);
+ entity.ForeshoreProfileEntities.Add(foreshoreProfileEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionOutwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is
+ /// null.
+ internal static GrassCoverErosionOutwardsSectionResultEntity Create(this GrassCoverErosionOutwardsFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new GrassCoverErosionOutwardsSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResultForFactorizedSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedSignalingNorm),
+ DetailedAssessmentResultForSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForSignalingNorm),
+ DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm),
+ DetailedAssessmentResultForLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForLowerLimitNorm),
+ DetailedAssessmentResultForFactorizedLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedLowerLimitNorm),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,113 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.Revetment.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverErosionOutwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static GrassCoverErosionOutwardsWaveConditionsCalculationEntity Create(this GrassCoverErosionOutwardsWaveConditionsCalculation calculation,
+ PersistenceRegistry registry, int order)
+ {
+ if (calculation == null)
+ {
+ throw new ArgumentNullException(nameof(calculation));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new GrassCoverErosionOutwardsWaveConditionsCalculationEntity
+ {
+ Order = order,
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone()
+ };
+
+ SetInputParameters(entity, calculation.InputParameters, registry);
+ SetOutputEntities(entity, calculation);
+
+ return entity;
+ }
+
+ private static void SetInputParameters(GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity,
+ FailureMechanismCategoryWaveConditionsInput calculationInput,
+ PersistenceRegistry registry)
+ {
+ HydraulicBoundaryLocation hydraulicBoundaryLocation = calculationInput.HydraulicBoundaryLocation;
+ if (hydraulicBoundaryLocation != null)
+ {
+ entity.HydraulicLocationEntity = registry.Get(hydraulicBoundaryLocation);
+ }
+
+ if (calculationInput.ForeshoreProfile != null)
+ {
+ entity.ForeshoreProfileEntity = calculationInput.ForeshoreProfile.Create(registry, 0);
+ }
+
+ entity.Orientation = calculationInput.Orientation.ToNaNAsNull();
+ entity.UseBreakWater = Convert.ToByte(calculationInput.UseBreakWater);
+ entity.BreakWaterType = Convert.ToByte(calculationInput.BreakWater.Type);
+ entity.BreakWaterHeight = calculationInput.BreakWater.Height.ToNaNAsNull();
+ entity.UseForeshore = Convert.ToByte(calculationInput.UseForeshore);
+ entity.UpperBoundaryRevetment = calculationInput.UpperBoundaryRevetment.ToNaNAsNull();
+ entity.LowerBoundaryRevetment = calculationInput.LowerBoundaryRevetment.ToNaNAsNull();
+ entity.UpperBoundaryWaterLevels = calculationInput.UpperBoundaryWaterLevels.ToNaNAsNull();
+ entity.LowerBoundaryWaterLevels = calculationInput.LowerBoundaryWaterLevels.ToNaNAsNull();
+ entity.StepSize = Convert.ToByte(calculationInput.StepSize);
+ entity.CategoryType = Convert.ToByte(calculationInput.CategoryType);
+ }
+
+ private static void SetOutputEntities(GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity,
+ GrassCoverErosionOutwardsWaveConditionsCalculation calculation)
+ {
+ if (calculation.HasOutput)
+ {
+ var i = 0;
+ foreach (WaveConditionsOutput output in calculation.Output.Items)
+ {
+ entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Add(output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(i++));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverSlipOffInwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class GrassCoverSlipOffInwardsFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this GrassCoverSlipOffInwardsFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.GrassRevetmentSlidingInwards, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (GrassCoverSlipOffInwardsFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ GrassCoverSlipOffInwardsSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.GrassCoverSlipOffInwardsSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffInwards/GrassCoverSlipOffInwardsFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverSlipOffInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class GrassCoverSlipOffInwardsFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static GrassCoverSlipOffInwardsSectionResultEntity Create(this GrassCoverSlipOffInwardsFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new GrassCoverSlipOffInwardsSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverSlipOffOutwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class GrassCoverSlipOffOutwardsFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this GrassCoverSlipOffOutwardsFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.GrassRevetmentSlidingOutwards, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (GrassCoverSlipOffOutwardsFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ GrassCoverSlipOffOutwardsSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.GrassCoverSlipOffOutwardsSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/GrassCoverSlipOffOutwards/GrassCoverSlipOffOutwardsFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.GrassCoverSlipOffOutwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class GrassCoverSlipOffOutwardsFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static GrassCoverSlipOffOutwardsSectionResultEntity Create(this GrassCoverSlipOffOutwardsFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new GrassCoverSlipOffOutwardsSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructureCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructureCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructureCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,83 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.HeightStructures
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class HeightStructureCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The structure to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ internal static HeightStructureEntity Create(this HeightStructure structure, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(structure))
+ {
+ return registry.Get(structure);
+ }
+
+ var entity = new HeightStructureEntity
+ {
+ Name = structure.Name.DeepClone(),
+ Id = structure.Id.DeepClone(),
+ X = structure.Location.X.ToNaNAsNull(),
+ Y = structure.Location.Y.ToNaNAsNull(),
+ StructureNormalOrientation = structure.StructureNormalOrientation.ToNaNAsNull(),
+ AllowedLevelIncreaseStorageMean = structure.AllowedLevelIncreaseStorage.Mean.ToNaNAsNull(),
+ AllowedLevelIncreaseStorageStandardDeviation = structure.AllowedLevelIncreaseStorage.StandardDeviation.ToNaNAsNull(),
+ CriticalOvertoppingDischargeMean = structure.CriticalOvertoppingDischarge.Mean.ToNaNAsNull(),
+ CriticalOvertoppingDischargeCoefficientOfVariation = structure.CriticalOvertoppingDischarge.CoefficientOfVariation.ToNaNAsNull(),
+ FailureProbabilityStructureWithErosion = structure.FailureProbabilityStructureWithErosion.ToNaNAsNull(),
+ FlowWidthAtBottomProtectionMean = structure.FlowWidthAtBottomProtection.Mean.ToNaNAsNull(),
+ FlowWidthAtBottomProtectionStandardDeviation = structure.FlowWidthAtBottomProtection.StandardDeviation.ToNaNAsNull(),
+ LevelCrestStructureMean = structure.LevelCrestStructure.Mean.ToNaNAsNull(),
+ LevelCrestStructureStandardDeviation = structure.LevelCrestStructure.StandardDeviation.ToNaNAsNull(),
+ StorageStructureAreaMean = structure.StorageStructureArea.Mean.ToNaNAsNull(),
+ StorageStructureAreaCoefficientOfVariation = structure.StorageStructureArea.CoefficientOfVariation.ToNaNAsNull(),
+ WidthFlowAperturesMean = structure.WidthFlowApertures.Mean.ToNaNAsNull(),
+ WidthFlowAperturesStandardDeviation = structure.WidthFlowApertures.StandardDeviation.ToNaNAsNull(),
+ Order = order
+ };
+
+ registry.Register(entity, structure);
+
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,102 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.HeightStructures
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class HeightStructuresFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this HeightStructuresFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.StructureHeight, registry);
+ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry);
+ AddEntitiesForHeightStructures(mechanism.HeightStructures, entity, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (HeightStructuresFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ HeightStructuresSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create(registry);
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.HeightStructuresSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForForeshoreProfiles(
+ ForeshoreProfileCollection foreshoreProfiles,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ for (var i = 0; i < foreshoreProfiles.Count; i++)
+ {
+ ForeshoreProfileEntity foreshoreProfileEntity = foreshoreProfiles[i].Create(registry, i);
+ entity.ForeshoreProfileEntities.Add(foreshoreProfileEntity);
+ }
+ }
+
+ private static void AddEntitiesForHeightStructures(
+ StructureCollection structures,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ for (var i = 0; i < structures.Count; i++)
+ {
+ HeightStructureEntity structureEntity = structures[i].Create(registry, i);
+ entity.HeightStructureEntities.Add(structureEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(HeightStructuresFailureMechanism mechanism, FailureMechanismEntity entity)
+ {
+ entity.HeightStructuresFailureMechanismMetaEntities.Add(new HeightStructuresFailureMechanismMetaEntity
+ {
+ N = mechanism.GeneralInput.N,
+ HeightStructureCollectionSourcePath = mechanism.HeightStructures.SourcePath.DeepClone(),
+ ForeshoreProfileCollectionSourcePath = mechanism.ForeshoreProfiles.SourcePath.DeepClone()
+ });
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HeightStructures/HeightStructuresFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,72 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.HeightStructures
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class HeightStructuresFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The result to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static HeightStructuresSectionResultEntity Create(this HeightStructuresFailureMechanismSectionResult result,
+ PersistenceRegistry registry)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var sectionResultEntity = new HeightStructuresSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyProbability = result.ManualAssemblyProbability.ToNaNAsNull()
+ };
+ if (result.Calculation != null)
+ {
+ sectionResultEntity.HeightStructuresCalculationEntity = registry.Get(result.Calculation);
+ }
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationCollectionCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationCollectionCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationCollectionCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,67 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for collections of related to creating a
+ /// .
+ ///
+ internal static class HydraulicBoundaryLocationCalculationCollectionCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The collection of
+ /// to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static HydraulicLocationCalculationCollectionEntity Create(this IEnumerable calculations,
+ PersistenceRegistry registry)
+ {
+ if (calculations == null)
+ {
+ throw new ArgumentNullException(nameof(calculations));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var collectionEntity = new HydraulicLocationCalculationCollectionEntity();
+
+ foreach (HydraulicBoundaryLocationCalculation calculation in calculations)
+ {
+ collectionEntity.HydraulicLocationCalculationEntities.Add(calculation.Create(registry));
+ }
+
+ return collectionEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,75 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related
+ /// to creating a .
+ ///
+ internal static class HydraulicBoundaryLocationCalculationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of
+ /// .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static HydraulicLocationCalculationEntity Create(this HydraulicBoundaryLocationCalculation calculation,
+ PersistenceRegistry registry)
+ {
+ if (calculation == null)
+ {
+ throw new ArgumentNullException(nameof(calculation));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var hydraulicLocationCalculationEntity = new HydraulicLocationCalculationEntity
+ {
+ ShouldIllustrationPointsBeCalculated = Convert.ToByte(calculation.InputParameters.ShouldIllustrationPointsBeCalculated),
+ HydraulicLocationEntity = registry.Get(calculation.HydraulicBoundaryLocation)
+ };
+
+ CreateHydraulicBoundaryLocationCalculationOutput(hydraulicLocationCalculationEntity, calculation.Output);
+
+ return hydraulicLocationCalculationEntity;
+ }
+
+ private static void CreateHydraulicBoundaryLocationCalculationOutput(HydraulicLocationCalculationEntity hydraulicLocationCalculationEntity,
+ HydraulicBoundaryLocationCalculationOutput output)
+ {
+ if (output != null)
+ {
+ hydraulicLocationCalculationEntity.HydraulicLocationOutputEntities.Add(output.CreateHydraulicLocationOutputEntity());
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCalculationOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Storage.Core.Create.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating a hydraulic boundary location output entity.
+ ///
+ internal static class HydraulicBoundaryLocationCalculationOutputCreateExtensions
+ {
+ ///
+ /// Creates a based
+ /// on the information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static HydraulicLocationOutputEntity CreateHydraulicLocationOutputEntity(this HydraulicBoundaryLocationCalculationOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new HydraulicLocationOutputEntity
+ {
+ Result = output.Result.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence),
+ GeneralResultSubMechanismIllustrationPointEntity = output.GeneralResult?.CreateGeneralResultSubMechanismIllustrationPointEntity()
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicBoundaryLocationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,73 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class HydraulicBoundaryLocationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The location to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when or
+ /// is null.
+ internal static HydraulicLocationEntity Create(this HydraulicBoundaryLocation location, PersistenceRegistry registry, int order)
+ {
+ if (location == null)
+ {
+ throw new ArgumentNullException(nameof(location));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(location))
+ {
+ return registry.Get(location);
+ }
+
+ var entity = new HydraulicLocationEntity
+ {
+ LocationId = location.Id,
+ Name = location.Name.DeepClone(),
+ LocationX = location.Location.X.ToNaNAsNull(),
+ LocationY = location.Location.Y.ToNaNAsNull(),
+ Order = order
+ };
+
+ registry.Register(entity, location);
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,69 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related
+ /// to creating a
+ ///
+ public static class HydraulicLocationConfigurationSettingsCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The to create a
+ /// for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static HydraulicBoundaryDatabaseEntity Create(this HydraulicBoundaryDatabase hydraulicBoundaryDatabase)
+ {
+ if (hydraulicBoundaryDatabase == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
+ }
+
+ HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings;
+ return new HydraulicBoundaryDatabaseEntity
+ {
+ FilePath = hydraulicBoundaryDatabase.FilePath.DeepClone(),
+ Version = hydraulicBoundaryDatabase.Version.DeepClone(),
+ HydraulicLocationConfigurationSettingsFilePath = settings.FilePath.DeepClone(),
+ HydraulicLocationConfigurationSettingsScenarioName = settings.ScenarioName.DeepClone(),
+ HydraulicLocationConfigurationSettingsYear = settings.Year,
+ HydraulicLocationConfigurationSettingsScope = settings.Scope.DeepClone(),
+ HydraulicLocationConfigurationSettingsSeaLevel = settings.SeaLevel.DeepClone(),
+ HydraulicLocationConfigurationSettingsRiverDischarge = settings.RiverDischarge.DeepClone(),
+ HydraulicLocationConfigurationSettingsLakeLevel = settings.LakeLevel.DeepClone(),
+ HydraulicLocationConfigurationSettingsWindDirection = settings.WindDirection.DeepClone(),
+ HydraulicLocationConfigurationSettingsWindSpeed = settings.WindSpeed.DeepClone(),
+ HydraulicLocationConfigurationSettingsComment = settings.Comment.DeepClone()
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/GeneralResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/GeneralResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/GeneralResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,133 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for
+ /// related to creating an instance of .
+ ///
+ internal static class GeneralResultCreateExtensions
+ {
+ ///
+ /// Creates a based on
+ /// the information of .
+ ///
+ /// The general result sub mechanism to create a database
+ /// entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ public static GeneralResultSubMechanismIllustrationPointEntity CreateGeneralResultSubMechanismIllustrationPointEntity(
+ this GeneralResult generalResult)
+ {
+ if (generalResult == null)
+ {
+ throw new ArgumentNullException(nameof(generalResult));
+ }
+
+ var entity = new GeneralResultSubMechanismIllustrationPointEntity();
+
+ SetGoverningWindDirection(entity, generalResult.GoverningWindDirection);
+
+ AddEntitiesForStochasts(entity, generalResult.Stochasts);
+ AddEntitiesForTopLevelSubMechanismIllustrationPoints(
+ entity,
+ generalResult.TopLevelIllustrationPoints);
+
+ return entity;
+ }
+
+ ///
+ /// Creates a based on the
+ /// information of .
+ ///
+ /// The general result to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ public static GeneralResultFaultTreeIllustrationPointEntity CreateGeneralResultFaultTreeIllustrationPointEntity(
+ this GeneralResult generalResult)
+ {
+ if (generalResult == null)
+ {
+ throw new ArgumentNullException(nameof(generalResult));
+ }
+
+ var entity = new GeneralResultFaultTreeIllustrationPointEntity();
+
+ SetGoverningWindDirection(entity, generalResult.GoverningWindDirection);
+
+ AddEntitiesForStochasts(entity, generalResult.Stochasts);
+ AddEntitiesForTopLevelFaultTreeIllustrationPoints(
+ entity, generalResult.TopLevelIllustrationPoints);
+
+ return entity;
+ }
+
+ private static void SetGoverningWindDirection(IGeneralResultEntity generalResultEntity,
+ WindDirection windDirection)
+ {
+ generalResultEntity.GoverningWindDirectionAngle = windDirection.Angle;
+ generalResultEntity.GoverningWindDirectionName = windDirection.Name.DeepClone();
+ }
+
+ private static void AddEntitiesForStochasts(IGeneralResultEntity entity,
+ IEnumerable stochasts)
+ {
+ var order = 0;
+ foreach (Stochast stochast in stochasts)
+ {
+ entity.StochastEntities.Add(stochast.Create(order++));
+ }
+ }
+
+ private static void AddEntitiesForTopLevelSubMechanismIllustrationPoints(
+ GeneralResultSubMechanismIllustrationPointEntity entity,
+ IEnumerable illustrationPoints)
+ {
+ var order = 0;
+ foreach (TopLevelSubMechanismIllustrationPoint illustrationPoint in illustrationPoints)
+ {
+ entity.TopLevelSubMechanismIllustrationPointEntities.Add(
+ illustrationPoint.Create(order++));
+ }
+ }
+
+ private static void AddEntitiesForTopLevelFaultTreeIllustrationPoints(
+ GeneralResultFaultTreeIllustrationPointEntity entity,
+ IEnumerable illustrationPoints)
+ {
+ var order = 0;
+ foreach (TopLevelFaultTreeIllustrationPoint illustrationPoint in illustrationPoints)
+ {
+ entity.TopLevelFaultTreeIllustrationPointEntities.Add(
+ illustrationPoint.Create(order++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/IllustrationPointNodeCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/IllustrationPointNodeCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/IllustrationPointNodeCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,119 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for
+ /// related to creating an instance of .
+ ///
+ internal static class IllustrationPointNodeCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of .
+ ///
+ /// The illustration point node to create a database
+ /// entity for.
+ /// The index at which
+ /// resides within its parent.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ /// Thrown when
+ /// is not of type .
+ public static FaultTreeIllustrationPointEntity Create(
+ this IllustrationPointNode illustrationPointNode,
+ int order)
+ {
+ if (illustrationPointNode == null)
+ {
+ throw new ArgumentNullException(nameof(illustrationPointNode));
+ }
+
+ var faultTreeIllustrationPoint = illustrationPointNode.Data as FaultTreeIllustrationPoint;
+ if (faultTreeIllustrationPoint == null)
+ {
+ throw new NotSupportedException($"Illustration point type '{illustrationPointNode.Data.GetType()}' is not supported.");
+ }
+
+ FaultTreeIllustrationPointEntity entity = CreateFaultTreeIllustrationPoint(faultTreeIllustrationPoint,
+ order);
+
+ CreateChildElements(illustrationPointNode.Children, entity);
+ return entity;
+ }
+
+ private static FaultTreeIllustrationPointEntity CreateFaultTreeIllustrationPoint(
+ FaultTreeIllustrationPoint illustrationPoint,
+ int order)
+ {
+ var entity = new FaultTreeIllustrationPointEntity
+ {
+ Beta = illustrationPoint.Beta,
+ CombinationType = Convert.ToByte(illustrationPoint.CombinationType),
+ Name = illustrationPoint.Name.DeepClone(),
+ Order = order
+ };
+ AddEntitiesForStochasts(entity, illustrationPoint.Stochasts);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForStochasts(FaultTreeIllustrationPointEntity entity,
+ IEnumerable stochasts)
+ {
+ var order = 0;
+ foreach (Stochast stochast in stochasts)
+ {
+ entity.StochastEntities.Add(stochast.Create(order++));
+ }
+ }
+
+ private static void CreateChildElements(IEnumerable illustrationPointNodes,
+ FaultTreeIllustrationPointEntity entity)
+ {
+ var i = 0;
+ foreach (IllustrationPointNode node in illustrationPointNodes)
+ {
+ var faultTreeIllustrationPoint = node.Data as FaultTreeIllustrationPoint;
+ if (faultTreeIllustrationPoint != null)
+ {
+ entity.FaultTreeIllustrationPointEntity1.Add(node.Create(i));
+ }
+
+ var subMechanismIllustrationPoint = node.Data as SubMechanismIllustrationPoint;
+ if (subMechanismIllustrationPoint != null)
+ {
+ entity.SubMechanismIllustrationPointEntities.Add(subMechanismIllustrationPoint.Create(i));
+ }
+
+ i++;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/IllustrationPointResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/IllustrationPointResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/IllustrationPointResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for related to creating an instance
+ /// of .
+ ///
+ internal static class IllustrationPointResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the
+ /// information of the .
+ ///
+ /// The illustration point result to create a database
+ /// entity for.
+ /// The index at which
+ /// resides within its parent.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static IllustrationPointResultEntity Create(
+ this IllustrationPointResult illustrationPointResult, int order)
+ {
+ if (illustrationPointResult == null)
+ {
+ throw new ArgumentNullException(nameof(illustrationPointResult));
+ }
+
+ var entity = new IllustrationPointResultEntity
+ {
+ Description = illustrationPointResult.Description.DeepClone(),
+ Value = illustrationPointResult.Value,
+ Order = order
+ };
+
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/StochastCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/StochastCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/StochastCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for related to creating an instance of .
+ ///
+ internal static class StochastCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The stochast to create a database entity for.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static StochastEntity Create(
+ this Stochast stochast, int order)
+ {
+ if (stochast == null)
+ {
+ throw new ArgumentNullException(nameof(stochast));
+ }
+
+ var entity = new StochastEntity
+ {
+ Name = stochast.Name.DeepClone(),
+ Alpha = stochast.Alpha,
+ Duration = stochast.Duration,
+ Order = order
+ };
+
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,92 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for
+ /// related to creating an instance of .
+ ///
+ internal static class SubMechanismIllustrationPointCreateExtensions
+ {
+ ///
+ /// Creates a based on
+ /// the information of .
+ ///
+ /// The sub mechanism illustration
+ /// point to create a database entity for.
+ /// The index at which
+ /// resides within its parent.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static SubMechanismIllustrationPointEntity Create(
+ this SubMechanismIllustrationPoint subMechanismIllustrationPoint,
+ int order)
+ {
+ if (subMechanismIllustrationPoint == null)
+ {
+ throw new ArgumentNullException(nameof(subMechanismIllustrationPoint));
+ }
+
+ var entity = new SubMechanismIllustrationPointEntity
+ {
+ Beta = subMechanismIllustrationPoint.Beta,
+ Name = subMechanismIllustrationPoint.Name.DeepClone(),
+ Order = order
+ };
+
+ AddEntitiesForSubMechanismIllustrationPointsStochasts(entity, subMechanismIllustrationPoint.Stochasts);
+ AddEntitiesForIllustrationPointResults(entity, subMechanismIllustrationPoint.IllustrationPointResults);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForIllustrationPointResults(SubMechanismIllustrationPointEntity entity,
+ IEnumerable illustrationPointResults)
+ {
+ var order = 0;
+ foreach (IllustrationPointResult illustrationPointResult in illustrationPointResults)
+ {
+ entity.IllustrationPointResultEntities.Add(
+ illustrationPointResult.Create(order++));
+ }
+ }
+
+ private static void AddEntitiesForSubMechanismIllustrationPointsStochasts(
+ SubMechanismIllustrationPointEntity entity,
+ IEnumerable stochasts)
+ {
+ var order = 0;
+ foreach (SubMechanismIllustrationPointStochast subMechanismIllustrationPointStochast in stochasts)
+ {
+ entity.SubMechanismIllustrationPointStochastEntities.Add(
+ subMechanismIllustrationPointStochast.Create(order++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointStochastCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointStochastCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/SubMechanismIllustrationPointStochastCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for related to creating an instance of
+ /// .
+ ///
+ internal static class SubMechanismIllustrationPointStochastCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The stochast to create a database entity for.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static SubMechanismIllustrationPointStochastEntity Create(
+ this SubMechanismIllustrationPointStochast subMechanismIllustrationPointStochast, int order)
+ {
+ if (subMechanismIllustrationPointStochast == null)
+ {
+ throw new ArgumentNullException(nameof(subMechanismIllustrationPointStochast));
+ }
+
+ var entity = new SubMechanismIllustrationPointStochastEntity
+ {
+ Name = subMechanismIllustrationPointStochast.Name.DeepClone(),
+ Alpha = subMechanismIllustrationPointStochast.Alpha,
+ Duration = subMechanismIllustrationPointStochast.Duration,
+ Realization = subMechanismIllustrationPointStochast.Realization,
+ Order = order
+ };
+
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/TopLevelFaultTreeIllustrationPointCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/TopLevelFaultTreeIllustrationPointCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/TopLevelFaultTreeIllustrationPointCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,67 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for
+ /// related to creating an instance of .
+ ///
+ internal static class TopLevelFaultTreeIllustrationPointCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of .
+ ///
+ /// The top level illustration point to
+ /// create a database entity for.
+ /// The index at which
+ /// resides within its parent.
+ /// A .
+ /// Thrown when
+ /// is null.
+ public static TopLevelFaultTreeIllustrationPointEntity Create(
+ this TopLevelFaultTreeIllustrationPoint topLevelFaultTreeIllustrationPoint,
+ int order)
+ {
+ if (topLevelFaultTreeIllustrationPoint == null)
+ {
+ throw new ArgumentNullException(nameof(topLevelFaultTreeIllustrationPoint));
+ }
+
+ WindDirection windDirection = topLevelFaultTreeIllustrationPoint.WindDirection;
+ return new TopLevelFaultTreeIllustrationPointEntity
+ {
+ ClosingSituation = topLevelFaultTreeIllustrationPoint.ClosingSituation.DeepClone(),
+ WindDirectionName = windDirection.Name.DeepClone(),
+ WindDirectionAngle = windDirection.Angle,
+ FaultTreeIllustrationPointEntity =
+ topLevelFaultTreeIllustrationPoint.FaultTreeNodeRoot.Create(0),
+ Order = order
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/TopLevelSubMechanismIllustrationPointCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/TopLevelSubMechanismIllustrationPointCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/IllustrationPoints/TopLevelSubMechanismIllustrationPointCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,68 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.IllustrationPoints
+{
+ ///
+ /// Extension methods for
+ /// related to creating an instance of .
+ ///
+ internal static class TopLevelSubMechanismIllustrationPointCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of .
+ ///
+ /// The top level illustration point
+ /// to create a database entity for.
+ /// The index at which
+ /// resides within its parent.
+ /// A .
+ /// Thrown when
+ /// is null.
+ internal static TopLevelSubMechanismIllustrationPointEntity Create(
+ this TopLevelSubMechanismIllustrationPoint topLevelSubMechanismIllustrationPoint,
+ int order)
+ {
+ if (topLevelSubMechanismIllustrationPoint == null)
+ {
+ throw new ArgumentNullException(nameof(topLevelSubMechanismIllustrationPoint));
+ }
+
+ WindDirection windDirection = topLevelSubMechanismIllustrationPoint.WindDirection;
+ return new TopLevelSubMechanismIllustrationPointEntity
+ {
+ ClosingSituation = topLevelSubMechanismIllustrationPoint.ClosingSituation.DeepClone(),
+ WindDirectionName = windDirection.Name.DeepClone(),
+ WindDirectionAngle = windDirection.Angle,
+ SubMechanismIllustrationPointEntity =
+ topLevelSubMechanismIllustrationPoint.SubMechanismIllustrationPoint
+ .Create(0),
+ Order = order
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsCalculationScenarioCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsCalculationScenarioCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsCalculationScenarioCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,191 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsCalculationScenarioCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The macro stability inwards calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ public static MacroStabilityInwardsCalculationEntity Create(this MacroStabilityInwardsCalculationScenario calculation,
+ PersistenceRegistry registry,
+ int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new MacroStabilityInwardsCalculationEntity
+ {
+ Name = calculation.Name.DeepClone(),
+ Comment = calculation.Comments.Body.DeepClone(),
+ ScenarioContribution = calculation.Contribution.ToNaNAsNull(),
+ RelevantForScenario = Convert.ToByte(calculation.IsRelevant),
+ Order = order
+ };
+ SetInputParametersToEntity(entity, calculation.InputParameters, registry);
+ AddEntityForMacroStabilityInwardsOutput(entity, calculation.Output);
+
+ return entity;
+ }
+
+ private static void SetInputParametersToEntity(MacroStabilityInwardsCalculationEntity entity,
+ MacroStabilityInwardsInput inputParameters,
+ PersistenceRegistry registry)
+ {
+ if (inputParameters.SurfaceLine != null)
+ {
+ entity.SurfaceLineEntity = registry.Get(inputParameters.SurfaceLine);
+ }
+
+ if (inputParameters.StochasticSoilProfile != null)
+ {
+ entity.MacroStabilityInwardsStochasticSoilProfileEntity = registry.Get(inputParameters.StochasticSoilProfile);
+ }
+
+ SetHydraulicBoundaryLocationInputToEntity(entity, inputParameters, registry);
+
+ entity.SlipPlaneMinimumDepth = inputParameters.SlipPlaneMinimumDepth.ToNaNAsNull();
+ entity.SlipPlaneMinimumLength = inputParameters.SlipPlaneMinimumLength.ToNaNAsNull();
+ entity.MaximumSliceWidth = inputParameters.MaximumSliceWidth.ToNaNAsNull();
+
+ entity.MoveGrid = Convert.ToByte(inputParameters.MoveGrid);
+ entity.DikeSoilScenario = Convert.ToByte(inputParameters.DikeSoilScenario);
+
+ entity.WaterLevelRiverAverage = inputParameters.WaterLevelRiverAverage.ToNaNAsNull();
+
+ entity.DrainageConstructionPresent = Convert.ToByte(inputParameters.DrainageConstructionPresent);
+ entity.DrainageConstructionCoordinateX = inputParameters.XCoordinateDrainageConstruction.ToNaNAsNull();
+ entity.DrainageConstructionCoordinateZ = inputParameters.ZCoordinateDrainageConstruction.ToNaNAsNull();
+
+ entity.MinimumLevelPhreaticLineAtDikeTopRiver = inputParameters.MinimumLevelPhreaticLineAtDikeTopRiver.ToNaNAsNull();
+ entity.MinimumLevelPhreaticLineAtDikeTopPolder = inputParameters.MinimumLevelPhreaticLineAtDikeTopPolder.ToNaNAsNull();
+
+ SetLocationInputExtremeParametersToEntity(entity, inputParameters.LocationInputExtreme);
+ SetLocationInputDailyParametersToEntity(entity, inputParameters.LocationInputDaily);
+
+ entity.AdjustPhreaticLine3And4ForUplift = Convert.ToByte(inputParameters.AdjustPhreaticLine3And4ForUplift);
+ entity.LeakageLengthOutwardsPhreaticLine4 = inputParameters.LeakageLengthOutwardsPhreaticLine4.ToNaNAsNull();
+ entity.LeakageLengthInwardsPhreaticLine4 = inputParameters.LeakageLengthInwardsPhreaticLine4.ToNaNAsNull();
+ entity.LeakageLengthOutwardsPhreaticLine3 = inputParameters.LeakageLengthOutwardsPhreaticLine3.ToNaNAsNull();
+ entity.LeakageLengthInwardsPhreaticLine3 = inputParameters.LeakageLengthInwardsPhreaticLine3.ToNaNAsNull();
+ entity.PiezometricHeadPhreaticLine2Outwards = inputParameters.PiezometricHeadPhreaticLine2Outwards.ToNaNAsNull();
+ entity.PiezometricHeadPhreaticLine2Inwards = inputParameters.PiezometricHeadPhreaticLine2Inwards.ToNaNAsNull();
+
+ entity.GridDeterminationType = Convert.ToByte(inputParameters.GridDeterminationType);
+ entity.TangentLineDeterminationType = Convert.ToByte(inputParameters.TangentLineDeterminationType);
+
+ entity.TangentLineZTop = inputParameters.TangentLineZTop.ToNaNAsNull();
+ entity.TangentLineZBottom = inputParameters.TangentLineZBottom.ToNaNAsNull();
+ entity.TangentLineNumber = inputParameters.TangentLineNumber;
+
+ SetGridParametersToEntity(entity, inputParameters.LeftGrid, inputParameters.RightGrid);
+
+ entity.CreateZones = Convert.ToByte(inputParameters.CreateZones);
+ entity.ZoningBoundariesDeterminationType = Convert.ToByte(inputParameters.ZoningBoundariesDeterminationType);
+ entity.ZoneBoundaryLeft = inputParameters.ZoneBoundaryLeft.ToNaNAsNull();
+ entity.ZoneBoundaryRight = inputParameters.ZoneBoundaryRight.ToNaNAsNull();
+ }
+
+ private static void SetGridParametersToEntity(MacroStabilityInwardsCalculationEntity entity,
+ MacroStabilityInwardsGrid leftGrid,
+ MacroStabilityInwardsGrid rightGrid)
+ {
+ entity.LeftGridXLeft = leftGrid.XLeft.ToNaNAsNull();
+ entity.LeftGridXRight = leftGrid.XRight.ToNaNAsNull();
+ entity.LeftGridNrOfHorizontalPoints = leftGrid.NumberOfHorizontalPoints;
+ entity.LeftGridZTop = leftGrid.ZTop.ToNaNAsNull();
+ entity.LeftGridZBottom = leftGrid.ZBottom.ToNaNAsNull();
+ entity.LeftGridNrOfVerticalPoints = leftGrid.NumberOfVerticalPoints;
+
+ entity.RightGridXLeft = rightGrid.XLeft.ToNaNAsNull();
+ entity.RightGridXRight = rightGrid.XRight.ToNaNAsNull();
+ entity.RightGridNrOfHorizontalPoints = rightGrid.NumberOfHorizontalPoints;
+ entity.RightGridZTop = rightGrid.ZTop.ToNaNAsNull();
+ entity.RightGridZBottom = rightGrid.ZBottom.ToNaNAsNull();
+ entity.RightGridNrOfVerticalPoints = rightGrid.NumberOfVerticalPoints;
+ }
+
+ private static void SetLocationInputDailyParametersToEntity(MacroStabilityInwardsCalculationEntity entity,
+ IMacroStabilityInwardsLocationInputDaily inputParameters)
+ {
+ entity.LocationInputDailyWaterLevelPolder = inputParameters.WaterLevelPolder.ToNaNAsNull();
+ entity.LocationInputDailyUseDefaultOffsets = Convert.ToByte(inputParameters.UseDefaultOffsets);
+
+ entity.LocationInputDailyPhreaticLineOffsetBelowDikeTopAtRiver = inputParameters.PhreaticLineOffsetBelowDikeTopAtRiver.ToNaNAsNull();
+ entity.LocationInputDailyPhreaticLineOffsetBelowDikeTopAtPolder = inputParameters.PhreaticLineOffsetBelowDikeTopAtPolder.ToNaNAsNull();
+ entity.LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside = inputParameters.PhreaticLineOffsetBelowShoulderBaseInside.ToNaNAsNull();
+ entity.LocationInputDailyPhreaticLineOffsetDikeToeAtPolder = inputParameters.PhreaticLineOffsetBelowDikeToeAtPolder.ToNaNAsNull();
+ }
+
+ private static void SetLocationInputExtremeParametersToEntity(MacroStabilityInwardsCalculationEntity entity,
+ IMacroStabilityInwardsLocationInputExtreme inputParameters)
+ {
+ entity.LocationInputExtremeWaterLevelPolder = inputParameters.WaterLevelPolder.ToNaNAsNull();
+ entity.LocationInputExtremeUseDefaultOffsets = Convert.ToByte(inputParameters.UseDefaultOffsets);
+
+ entity.LocationInputExtremePhreaticLineOffsetBelowDikeTopAtRiver = inputParameters.PhreaticLineOffsetBelowDikeTopAtRiver.ToNaNAsNull();
+ entity.LocationInputExtremePhreaticLineOffsetBelowDikeTopAtPolder = inputParameters.PhreaticLineOffsetBelowDikeTopAtPolder.ToNaNAsNull();
+ entity.LocationInputExtremePhreaticLineOffsetBelowShoulderBaseInside = inputParameters.PhreaticLineOffsetBelowShoulderBaseInside.ToNaNAsNull();
+ entity.LocationInputExtremePhreaticLineOffsetDikeToeAtPolder = inputParameters.PhreaticLineOffsetBelowDikeToeAtPolder.ToNaNAsNull();
+ entity.LocationInputExtremePenetrationLength = inputParameters.PenetrationLength.ToNaNAsNull();
+ }
+
+ private static void SetHydraulicBoundaryLocationInputToEntity(MacroStabilityInwardsCalculationEntity entity,
+ MacroStabilityInwardsInput inputParameters,
+ PersistenceRegistry registry)
+ {
+ entity.UseAssessmentLevelManualInput = Convert.ToByte(inputParameters.UseAssessmentLevelManualInput);
+ entity.AssessmentLevel = inputParameters.AssessmentLevel.ToNaNAsNull();
+
+ if (inputParameters.HydraulicBoundaryLocation != null)
+ {
+ entity.HydraulicLocationEntity = registry.Get(inputParameters.HydraulicBoundaryLocation);
+ }
+ }
+
+ private static void AddEntityForMacroStabilityInwardsOutput(MacroStabilityInwardsCalculationEntity entity,
+ MacroStabilityInwardsOutput output)
+ {
+ if (output != null)
+ {
+ entity.MacroStabilityInwardsCalculationOutputEntities.Add(output.Create());
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,106 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class MacroStabilityInwardsFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ public static FailureMechanismEntity Create(this MacroStabilityInwardsFailureMechanism mechanism,
+ PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.MacroStabilityInwards, registry);
+
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ AddEntitiesForStochasticSoilModels(mechanism, registry, entity);
+ AddEntitiesForSurfaceLines(mechanism, registry, entity);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(MacroStabilityInwardsFailureMechanism mechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new MacroStabilityInwardsFailureMechanismMetaEntity
+ {
+ A = mechanism.MacroStabilityInwardsProbabilityAssessmentInput.A,
+ StochasticSoilModelCollectionSourcePath = mechanism.StochasticSoilModels.SourcePath.DeepClone(),
+ SurfaceLineCollectionSourcePath = mechanism.SurfaceLines.SourcePath.DeepClone()
+ };
+
+ entity.MacroStabilityInwardsFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForStochasticSoilModels(MacroStabilityInwardsFailureMechanism mechanism,
+ PersistenceRegistry registry,
+ FailureMechanismEntity entity)
+ {
+ var index = 0;
+ foreach (MacroStabilityInwardsStochasticSoilModel stochasticSoilModel in mechanism.StochasticSoilModels)
+ {
+ entity.StochasticSoilModelEntities.Add(stochasticSoilModel.Create(registry, index++));
+ }
+ }
+
+ private static void AddEntitiesForSurfaceLines(MacroStabilityInwardsFailureMechanism mechanism,
+ PersistenceRegistry registry,
+ FailureMechanismEntity entity)
+ {
+ var index = 0;
+ foreach (MacroStabilityInwardsSurfaceLine surfaceLine in mechanism.SurfaceLines)
+ {
+ entity.SurfaceLineEntities.Add(surfaceLine.Create(registry, index++));
+ }
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (MacroStabilityInwardsFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ MacroStabilityInwardsSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.MacroStabilityInwardsSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class MacroStabilityInwardsFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static MacroStabilityInwardsSectionResultEntity Create(this MacroStabilityInwardsFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new MacroStabilityInwardsSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyProbability = result.ManualAssemblyProbability.ToNaNAsNull()
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,114 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class MacroStabilityInwardsOutputCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The calculation output for macro stability inwards failure mechanism to
+ /// create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ public static MacroStabilityInwardsCalculationOutputEntity Create(this MacroStabilityInwardsOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ var entity = new MacroStabilityInwardsCalculationOutputEntity
+ {
+ FactorOfStability = output.FactorOfStability.ToNaNAsNull(),
+ ForbiddenZonesXEntryMin = output.ForbiddenZonesXEntryMin.ToNaNAsNull(),
+ ForbiddenZonesXEntryMax = output.ForbiddenZonesXEntryMax.ToNaNAsNull(),
+ ZValue = output.ZValue.ToNaNAsNull()
+ };
+ SetSlidingCurveParametersToEntity(entity, output.SlidingCurve);
+ SetSlipPlaneParametersToEntity(entity, output.SlipPlane);
+
+ return entity;
+ }
+
+ private static void SetSlidingCurveParametersToEntity(MacroStabilityInwardsCalculationOutputEntity entity,
+ MacroStabilityInwardsSlidingCurve slidingCurve)
+ {
+ entity.SlidingCurveSliceXML = new MacroStabilityInwardsSliceCollectionXmlSerializer().ToXml(slidingCurve.Slices);
+ entity.SlidingCurveNonIteratedHorizontalForce = slidingCurve.NonIteratedHorizontalForce.ToNaNAsNull();
+ entity.SlidingCurveIteratedHorizontalForce = slidingCurve.IteratedHorizontalForce.ToNaNAsNull();
+
+ MacroStabilityInwardsSlidingCircle leftCircle = slidingCurve.LeftCircle;
+ entity.SlidingCurveLeftSlidingCircleCenterX = leftCircle.Center.X.ToNaNAsNull();
+ entity.SlidingCurveLeftSlidingCircleCenterY = leftCircle.Center.Y.ToNaNAsNull();
+ entity.SlidingCurveLeftSlidingCircleRadius = leftCircle.Radius.ToNaNAsNull();
+ entity.SlidingCurveLeftSlidingCircleIsActive = Convert.ToByte(leftCircle.IsActive);
+ entity.SlidingCurveLeftSlidingCircleNonIteratedForce = leftCircle.NonIteratedForce.ToNaNAsNull();
+ entity.SlidingCurveLeftSlidingCircleIteratedForce = leftCircle.IteratedForce.ToNaNAsNull();
+ entity.SlidingCurveLeftSlidingCircleDrivingMoment = leftCircle.DrivingMoment.ToNaNAsNull();
+ entity.SlidingCurveLeftSlidingCircleResistingMoment = leftCircle.ResistingMoment.ToNaNAsNull();
+
+ MacroStabilityInwardsSlidingCircle rightCircle = slidingCurve.RightCircle;
+ entity.SlidingCurveRightSlidingCircleCenterX = rightCircle.Center.X.ToNaNAsNull();
+ entity.SlidingCurveRightSlidingCircleCenterY = rightCircle.Center.Y.ToNaNAsNull();
+ entity.SlidingCurveRightSlidingCircleRadius = rightCircle.Radius.ToNaNAsNull();
+ entity.SlidingCurveRightSlidingCircleIsActive = Convert.ToByte(rightCircle.IsActive);
+ entity.SlidingCurveRightSlidingCircleNonIteratedForce = rightCircle.NonIteratedForce.ToNaNAsNull();
+ entity.SlidingCurveRightSlidingCircleIteratedForce = rightCircle.IteratedForce.ToNaNAsNull();
+ entity.SlidingCurveRightSlidingCircleDrivingMoment = rightCircle.DrivingMoment.ToNaNAsNull();
+ entity.SlidingCurveRightSlidingCircleResistingMoment = rightCircle.ResistingMoment.ToNaNAsNull();
+ }
+
+ private static void SetSlipPlaneParametersToEntity(MacroStabilityInwardsCalculationOutputEntity entity,
+ MacroStabilityInwardsSlipPlaneUpliftVan slipPlane)
+ {
+ entity.SlipPlaneTangentLinesXml = new TangentLineCollectionXmlSerializer().ToXml(slipPlane.TangentLines);
+
+ MacroStabilityInwardsGrid leftGrid = slipPlane.LeftGrid;
+ entity.SlipPlaneLeftGridXLeft = leftGrid.XLeft.ToNaNAsNull();
+ entity.SlipPlaneLeftGridXRight = leftGrid.XRight.ToNaNAsNull();
+ entity.SlipPlaneLeftGridNrOfHorizontalPoints = leftGrid.NumberOfHorizontalPoints;
+ entity.SlipPlaneLeftGridZTop = leftGrid.ZTop.ToNaNAsNull();
+ entity.SlipPlaneLeftGridZBottom = leftGrid.ZBottom.ToNaNAsNull();
+ entity.SlipPlaneLeftGridNrOfVerticalPoints = leftGrid.NumberOfVerticalPoints;
+
+ MacroStabilityInwardsGrid rightGrid = slipPlane.RightGrid;
+ entity.SlipPlaneRightGridXLeft = rightGrid.XLeft.ToNaNAsNull();
+ entity.SlipPlaneRightGridXRight = rightGrid.XRight.ToNaNAsNull();
+ entity.SlipPlaneRightGridNrOfHorizontalPoints = rightGrid.NumberOfHorizontalPoints;
+ entity.SlipPlaneRightGridZTop = rightGrid.ZTop.ToNaNAsNull();
+ entity.SlipPlaneRightGridZBottom = rightGrid.ZBottom.ToNaNAsNull();
+ entity.SlipPlaneRightGridNrOfVerticalPoints = rightGrid.NumberOfVerticalPoints;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsPreconsolidationStressCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsPreconsolidationStressCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// PreconsolidationStress to create a database entity for.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when is null.
+ public static MacroStabilityInwardsPreconsolidationStressEntity Create(this MacroStabilityInwardsPreconsolidationStress preconsolidationStress,
+ int order)
+ {
+ if (preconsolidationStress == null)
+ {
+ throw new ArgumentNullException(nameof(preconsolidationStress));
+ }
+
+ return new MacroStabilityInwardsPreconsolidationStressEntity
+ {
+ CoordinateX = preconsolidationStress.Location.X,
+ CoordinateZ = preconsolidationStress.Location.Y,
+ PreconsolidationStressMean = preconsolidationStress.Stress.Mean.ToNaNAsNull(),
+ PreconsolidationStressCoefficientOfVariation = preconsolidationStress.Stress.CoefficientOfVariation.ToNaNAsNull(),
+ Order = order
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer1DCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer1DCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer1DCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,81 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsSoilLayer1DCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The soil layer to create a database entity for.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when is null.
+ public static MacroStabilityInwardsSoilLayerOneDEntity Create(this MacroStabilityInwardsSoilLayer1D soilLayer,
+ int order)
+ {
+ if (soilLayer == null)
+ {
+ throw new ArgumentNullException(nameof(soilLayer));
+ }
+
+ MacroStabilityInwardsSoilLayerData data = soilLayer.Data;
+ return new MacroStabilityInwardsSoilLayerOneDEntity
+ {
+ Top = soilLayer.Top.ToNaNAsNull(),
+ IsAquifer = Convert.ToByte(data.IsAquifer),
+ MaterialName = data.MaterialName.DeepClone(),
+ Color = data.Color.ToInt64(),
+ UsePop = Convert.ToByte(data.UsePop),
+ ShearStrengthModel = Convert.ToByte(data.ShearStrengthModel),
+ AbovePhreaticLevelMean = data.AbovePhreaticLevel.Mean.ToNaNAsNull(),
+ AbovePhreaticLevelCoefficientOfVariation = data.AbovePhreaticLevel.CoefficientOfVariation.ToNaNAsNull(),
+ AbovePhreaticLevelShift = data.AbovePhreaticLevel.Shift.ToNaNAsNull(),
+ BelowPhreaticLevelMean = data.BelowPhreaticLevel.Mean.ToNaNAsNull(),
+ BelowPhreaticLevelCoefficientOfVariation = data.BelowPhreaticLevel.CoefficientOfVariation.ToNaNAsNull(),
+ BelowPhreaticLevelShift = data.BelowPhreaticLevel.Shift.ToNaNAsNull(),
+ CohesionMean = data.Cohesion.Mean.ToNaNAsNull(),
+ CohesionCoefficientOfVariation = data.Cohesion.CoefficientOfVariation.ToNaNAsNull(),
+ FrictionAngleMean = data.FrictionAngle.Mean.ToNaNAsNull(),
+ FrictionAngleCoefficientOfVariation = data.FrictionAngle.CoefficientOfVariation.ToNaNAsNull(),
+ ShearStrengthRatioMean = data.ShearStrengthRatio.Mean.ToNaNAsNull(),
+ ShearStrengthRatioCoefficientOfVariation = data.ShearStrengthRatio.CoefficientOfVariation.ToNaNAsNull(),
+ StrengthIncreaseExponentMean = data.StrengthIncreaseExponent.Mean.ToNaNAsNull(),
+ StrengthIncreaseExponentCoefficientOfVariation = data.StrengthIncreaseExponent.CoefficientOfVariation.ToNaNAsNull(),
+ PopMean = data.Pop.Mean.ToNaNAsNull(),
+ PopCoefficientOfVariation = data.Pop.CoefficientOfVariation.ToNaNAsNull(),
+ Order = order
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer2DCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer2DCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilLayer2DCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,95 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsSoilLayer2DCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The soil layer to create a database entity for.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when is null.
+ public static MacroStabilityInwardsSoilLayerTwoDEntity Create(this MacroStabilityInwardsSoilLayer2D soilLayer,
+ int order)
+ {
+ if (soilLayer == null)
+ {
+ throw new ArgumentNullException(nameof(soilLayer));
+ }
+
+ MacroStabilityInwardsSoilLayerData data = soilLayer.Data;
+ var entity = new MacroStabilityInwardsSoilLayerTwoDEntity
+ {
+ OuterRingXml = new Point2DCollectionXmlSerializer().ToXml(soilLayer.OuterRing.Points),
+ IsAquifer = Convert.ToByte(data.IsAquifer),
+ MaterialName = data.MaterialName.DeepClone(),
+ Color = data.Color.ToInt64(),
+ UsePop = Convert.ToByte(data.UsePop),
+ ShearStrengthModel = Convert.ToByte(data.ShearStrengthModel),
+ AbovePhreaticLevelMean = data.AbovePhreaticLevel.Mean.ToNaNAsNull(),
+ AbovePhreaticLevelCoefficientOfVariation = data.AbovePhreaticLevel.CoefficientOfVariation.ToNaNAsNull(),
+ AbovePhreaticLevelShift = data.AbovePhreaticLevel.Shift.ToNaNAsNull(),
+ BelowPhreaticLevelMean = data.BelowPhreaticLevel.Mean.ToNaNAsNull(),
+ BelowPhreaticLevelCoefficientOfVariation = data.BelowPhreaticLevel.CoefficientOfVariation.ToNaNAsNull(),
+ BelowPhreaticLevelShift = data.BelowPhreaticLevel.Shift.ToNaNAsNull(),
+ CohesionMean = data.Cohesion.Mean.ToNaNAsNull(),
+ CohesionCoefficientOfVariation = data.Cohesion.CoefficientOfVariation.ToNaNAsNull(),
+ FrictionAngleMean = data.FrictionAngle.Mean.ToNaNAsNull(),
+ FrictionAngleCoefficientOfVariation = data.FrictionAngle.CoefficientOfVariation.ToNaNAsNull(),
+ ShearStrengthRatioMean = data.ShearStrengthRatio.Mean.ToNaNAsNull(),
+ ShearStrengthRatioCoefficientOfVariation = data.ShearStrengthRatio.CoefficientOfVariation.ToNaNAsNull(),
+ StrengthIncreaseExponentMean = data.StrengthIncreaseExponent.Mean.ToNaNAsNull(),
+ StrengthIncreaseExponentCoefficientOfVariation = data.StrengthIncreaseExponent.CoefficientOfVariation.ToNaNAsNull(),
+ PopMean = data.Pop.Mean.ToNaNAsNull(),
+ PopCoefficientOfVariation = data.Pop.CoefficientOfVariation.ToNaNAsNull(),
+ Order = order
+ };
+
+ AddNestedLayers(entity, soilLayer);
+
+ return entity;
+ }
+
+ private static void AddNestedLayers(MacroStabilityInwardsSoilLayerTwoDEntity entity,
+ MacroStabilityInwardsSoilLayer2D soilLayer)
+ {
+ for (var i = 0; i < soilLayer.NestedLayers.Count(); i++)
+ {
+ entity.MacroStabilityInwardsSoilLayerTwoDEntity1.Add(soilLayer.NestedLayers.ElementAt(i).Create(i));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile1DCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile1DCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile1DCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,85 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsSoilProfile1DCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The soil profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new or one from the
+ /// if it was created for the earlier.
+ /// Thrown when any input parameter is null.
+ public static MacroStabilityInwardsSoilProfileOneDEntity Create(this MacroStabilityInwardsSoilProfile1D soilProfile,
+ PersistenceRegistry registry)
+ {
+ if (soilProfile == null)
+ {
+ throw new ArgumentNullException(nameof(soilProfile));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(soilProfile))
+ {
+ return registry.Get(soilProfile);
+ }
+
+ var entity = new MacroStabilityInwardsSoilProfileOneDEntity
+ {
+ Name = soilProfile.Name.DeepClone(),
+ Bottom = soilProfile.Bottom.ToNaNAsNull()
+ };
+
+ AddEntitiesForSoilLayers(soilProfile.Layers, entity);
+
+ registry.Register(entity, soilProfile);
+ return entity;
+ }
+
+ private static void AddEntitiesForSoilLayers(IEnumerable layers,
+ MacroStabilityInwardsSoilProfileOneDEntity entity)
+ {
+ var index = 0;
+ foreach (MacroStabilityInwardsSoilLayer1D layer in layers)
+ {
+ entity.MacroStabilityInwardsSoilLayerOneDEntities.Add(layer.Create(index++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSoilProfile2DCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,96 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsSoilProfile2DCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The soil profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new or one from the
+ /// if it was created for the earlier.
+ /// Thrown when any input parameter is null.
+ public static MacroStabilityInwardsSoilProfileTwoDEntity Create(this MacroStabilityInwardsSoilProfile2D soilProfile,
+ PersistenceRegistry registry)
+ {
+ if (soilProfile == null)
+ {
+ throw new ArgumentNullException(nameof(soilProfile));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(soilProfile))
+ {
+ return registry.Get(soilProfile);
+ }
+
+ var entity = new MacroStabilityInwardsSoilProfileTwoDEntity
+ {
+ Name = soilProfile.Name.DeepClone()
+ };
+
+ AddEntitiesForSoilLayers(soilProfile.Layers, entity);
+ AddEntitiesForPreconsolidationStresses(soilProfile.PreconsolidationStresses, entity);
+
+ registry.Register(entity, soilProfile);
+ return entity;
+ }
+
+ private static void AddEntitiesForSoilLayers(IEnumerable layers,
+ MacroStabilityInwardsSoilProfileTwoDEntity entity)
+ {
+ var index = 0;
+ foreach (MacroStabilityInwardsSoilLayer2D layer in layers)
+ {
+ entity.MacroStabilityInwardsSoilLayerTwoDEntities.Add(layer.Create(index++));
+ }
+ }
+
+ private static void AddEntitiesForPreconsolidationStresses(IEnumerable preconsolidationStresses,
+ MacroStabilityInwardsSoilProfileTwoDEntity entity)
+ {
+ var index = 0;
+ foreach (MacroStabilityInwardsPreconsolidationStress preconsolidationStress in preconsolidationStresses)
+ {
+ entity.MacroStabilityInwardsPreconsolidationStressEntities.Add(preconsolidationStress.Create(index++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilModelCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilModelCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilModelCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,83 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsStochasticSoilModelCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The model to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when any input parameter is null.
+ public static StochasticSoilModelEntity Create(this MacroStabilityInwardsStochasticSoilModel model,
+ PersistenceRegistry registry,
+ int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(model))
+ {
+ return registry.Get(model);
+ }
+
+ var entity = new StochasticSoilModelEntity
+ {
+ Name = model.Name.DeepClone(),
+ StochasticSoilModelSegmentPointXml = new Point2DCollectionXmlSerializer().ToXml(model.Geometry),
+ Order = order
+ };
+
+ AddEntitiesForStochasticSoilProfiles(model, registry, entity);
+
+ registry.Register(entity, model);
+ return entity;
+ }
+
+ private static void AddEntitiesForStochasticSoilProfiles(MacroStabilityInwardsStochasticSoilModel model,
+ PersistenceRegistry registry,
+ StochasticSoilModelEntity entity)
+ {
+ var i = 0;
+ foreach (MacroStabilityInwardsStochasticSoilProfile stochasticSoilProfile in model.StochasticSoilProfiles)
+ {
+ entity.MacroStabilityInwardsStochasticSoilProfileEntities.Add(stochasticSoilProfile.Create(registry, i++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilProfileCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilProfileCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsStochasticSoilProfileCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,108 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extension methods for related to
+ /// creating a .
+ ///
+ internal static class MacroStabilityInwardsStochasticSoilProfileCreateExtensions
+ {
+ ///
+ /// Creates a based on
+ /// the information of the .
+ ///
+ /// The stochastic soil profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when any input parameter is null.
+ /// Thrown when is
+ /// not of type or .
+ public static MacroStabilityInwardsStochasticSoilProfileEntity Create(this MacroStabilityInwardsStochasticSoilProfile stochasticSoilProfile,
+ PersistenceRegistry registry,
+ int order)
+ {
+ if (stochasticSoilProfile == null)
+ {
+ throw new ArgumentNullException(nameof(stochasticSoilProfile));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(stochasticSoilProfile))
+ {
+ return registry.Get(stochasticSoilProfile);
+ }
+
+ var entity = new MacroStabilityInwardsStochasticSoilProfileEntity
+ {
+ Probability = stochasticSoilProfile.Probability,
+ Order = order
+ };
+
+ AddEntityForProfile(stochasticSoilProfile.SoilProfile, entity, registry);
+
+ registry.Register(entity, stochasticSoilProfile);
+ return entity;
+ }
+
+ ///
+ /// Adds the entity representation of to the .
+ ///
+ /// The soil profile to store.
+ /// The entity to update.
+ /// The registry to use for persisting entities.
+ /// Thrown when is
+ /// not of type or .
+ private static void AddEntityForProfile(IMacroStabilityInwardsSoilProfile soilProfile,
+ MacroStabilityInwardsStochasticSoilProfileEntity entity,
+ PersistenceRegistry registry)
+ {
+ var soilProfile1D = soilProfile as MacroStabilityInwardsSoilProfile1D;
+ if (soilProfile1D != null)
+ {
+ entity.MacroStabilityInwardsSoilProfileOneDEntity = soilProfile1D.Create(registry);
+ return;
+ }
+
+ var soilProfile2D = soilProfile as MacroStabilityInwardsSoilProfile2D;
+ if (soilProfile2D != null)
+ {
+ entity.MacroStabilityInwardsSoilProfileTwoDEntity = soilProfile2D.Create(registry);
+ return;
+ }
+
+ string exceptionMessage = $"{soilProfile.GetType().Name} is not supported. " +
+ $"Supported types are: {nameof(MacroStabilityInwardsSoilProfile1D)} and {nameof(MacroStabilityInwardsSoilProfile2D)}.";
+ throw new NotSupportedException(exceptionMessage);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSurfaceLineCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSurfaceLineCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacroStabilityInwards/MacroStabilityInwardsSurfaceLineCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,117 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.Base.Geometry;
+using Core.Common.Util.Extensions;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityInwards
+{
+ ///
+ /// Extensions methods for related to creating
+ /// a .
+ ///
+ internal static class MacroStabilityInwardsSurfaceLineCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The surface line to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when any input parameter is null.
+ internal static SurfaceLineEntity Create(this MacroStabilityInwardsSurfaceLine surfaceLine,
+ PersistenceRegistry registry,
+ int order)
+ {
+ if (surfaceLine == null)
+ {
+ throw new ArgumentNullException(nameof(surfaceLine));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(surfaceLine))
+ {
+ return registry.Get(surfaceLine);
+ }
+
+ var entity = new SurfaceLineEntity
+ {
+ Name = surfaceLine.Name.DeepClone(),
+ ReferenceLineIntersectionX = surfaceLine.ReferenceLineIntersectionWorldPoint?.X.ToNaNAsNull(),
+ ReferenceLineIntersectionY = surfaceLine.ReferenceLineIntersectionWorldPoint?.Y.ToNaNAsNull(),
+ PointsXml = new Point3DCollectionXmlSerializer().ToXml(surfaceLine.Points),
+ Order = order
+ };
+ CreateCharacteristicPointEntities(surfaceLine, entity);
+
+ registry.Register(entity, surfaceLine);
+
+ return entity;
+ }
+
+ private static void CreateCharacteristicPointEntities(MacroStabilityInwardsSurfaceLine surfaceLine, SurfaceLineEntity entity)
+ {
+ Tuple[] characteristicPointAssociations =
+ {
+ Tuple.Create(surfaceLine.SurfaceLevelOutside, MacroStabilityInwardsCharacteristicPointType.SurfaceLevelOutside),
+ Tuple.Create(surfaceLine.DikeTopAtPolder, MacroStabilityInwardsCharacteristicPointType.DikeTopAtPolder),
+ Tuple.Create(surfaceLine.DikeTopAtRiver, MacroStabilityInwardsCharacteristicPointType.DikeTopAtRiver),
+ Tuple.Create(surfaceLine.ShoulderBaseInside, MacroStabilityInwardsCharacteristicPointType.ShoulderBaseInside),
+ Tuple.Create(surfaceLine.ShoulderTopInside, MacroStabilityInwardsCharacteristicPointType.ShoulderTopInside),
+ Tuple.Create(surfaceLine.BottomDitchDikeSide, MacroStabilityInwardsCharacteristicPointType.BottomDitchDikeSide),
+ Tuple.Create(surfaceLine.BottomDitchPolderSide, MacroStabilityInwardsCharacteristicPointType.BottomDitchPolderSide),
+ Tuple.Create(surfaceLine.DikeToeAtPolder, MacroStabilityInwardsCharacteristicPointType.DikeToeAtPolder),
+ Tuple.Create(surfaceLine.DikeToeAtRiver, MacroStabilityInwardsCharacteristicPointType.DikeToeAtRiver),
+ Tuple.Create(surfaceLine.DitchDikeSide, MacroStabilityInwardsCharacteristicPointType.DitchDikeSide),
+ Tuple.Create(surfaceLine.DitchPolderSide, MacroStabilityInwardsCharacteristicPointType.DitchPolderSide),
+ Tuple.Create(surfaceLine.SurfaceLevelInside, MacroStabilityInwardsCharacteristicPointType.SurfaceLevelInside)
+ };
+ foreach (Tuple characteristicPointToSave in characteristicPointAssociations.Where(t => t.Item1 != null))
+ {
+ MacroStabilityInwardsCharacteristicPointEntity characteristicPointEntity = CreateCharacteristicPointEntity(characteristicPointToSave.Item1,
+ characteristicPointToSave.Item2);
+ entity.MacroStabilityInwardsCharacteristicPointEntities.Add(characteristicPointEntity);
+ }
+ }
+
+ private static MacroStabilityInwardsCharacteristicPointEntity CreateCharacteristicPointEntity(Point3D point, MacroStabilityInwardsCharacteristicPointType type)
+ {
+ var entity = new MacroStabilityInwardsCharacteristicPointEntity
+ {
+ Type = Convert.ToByte(type),
+ X = point.X.ToNaNAsNull(),
+ Y = point.Y.ToNaNAsNull(),
+ Z = point.Z.ToNaNAsNull()
+ };
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,74 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityOutwards
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class MacroStabilityOutwardsFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this MacroStabilityOutwardsFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.MacroStabilityOutwards, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (MacroStabilityOutwardsFailureMechanismSectionResult macroStabilityOutwardsFailureMechanismSectionResult in sectionResults)
+ {
+ MacroStabilityOutwardsSectionResultEntity sectionResultEntity = macroStabilityOutwardsFailureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(macroStabilityOutwardsFailureMechanismSectionResult.Section);
+ section.MacroStabilityOutwardsSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(MacroStabilityOutwardsFailureMechanism mechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new MacroStabilityOutwardsFailureMechanismMetaEntity
+ {
+ A = mechanism.MacroStabilityOutwardsProbabilityAssessmentInput.A
+ };
+
+ entity.MacroStabilityOutwardsFailureMechanismMetaEntities.Add(metaEntity);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/MacrostabilityOutwards/MacroStabilityOutwardsFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.MacroStabilityOutwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class MacroStabilityOutwardsFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static MacroStabilityOutwardsSectionResultEntity Create(this MacroStabilityOutwardsFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new MacroStabilityOutwardsSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ DetailedAssessmentProbability = result.DetailedAssessmentProbability.ToNaNAsNull(),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Microstability
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class MicrostabilityFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this MicrostabilityFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.Microstability, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (MicrostabilityFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ MicrostabilitySectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.MicrostabilitySectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Microstability/MicrostabilityFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Microstability
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class MicrostabilityFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static MicrostabilitySectionResultEntity Create(this MicrostabilityFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new MicrostabilitySectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PersistenceRegistry.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PersistenceRegistry.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PersistenceRegistry.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,1011 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Core.Common.Util;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.DuneErosion.Data;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.MacroStabilityInwards.Data.SoilProfile;
+using Ringtoets.MacroStabilityInwards.Primitives;
+using Ringtoets.Piping.Data.SoilProfile;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// This class can be used to keep track of create and update operations on a database.
+ /// This information can be used to reuse objects. When all operations have been performed,
+ /// then the collected information can be used to transfer the ids assigned to the created
+ /// database instances back to the data model or to clean up orphans.
+ ///
+ internal class PersistenceRegistry
+ {
+ private readonly Dictionary failureMechanismSections =
+ CreateDictionary();
+
+ private readonly Dictionary dikeProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary foreshoreProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary grassCoverErosionInwardsCalculations =
+ CreateDictionary();
+
+ private readonly Dictionary pipingStochasticSoilModels =
+ CreateDictionary();
+
+ private readonly Dictionary pipingStochasticSoilProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary pipingSoilProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary pipingSurfaceLines =
+ CreateDictionary();
+
+ private readonly Dictionary macroStabilityInwardsStochasticSoilModels =
+ CreateDictionary();
+
+ private readonly Dictionary macroStabilityInwardsStochasticSoilProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary macroStabilityInwardsSoil1DProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary macroStabilityInwardsSoil2DProfiles =
+ CreateDictionary();
+
+ private readonly Dictionary macroStabilityInwardsSurfaceLines =
+ CreateDictionary();
+
+ private readonly Dictionary hydraulicLocations =
+ CreateDictionary();
+
+ private readonly Dictionary duneLocations =
+ CreateDictionary();
+
+ private readonly Dictionary heightStructures =
+ CreateDictionary();
+
+ private readonly Dictionary closingStructures =
+ CreateDictionary();
+
+ private readonly Dictionary stabilityPointStructures =
+ CreateDictionary();
+
+ private readonly Dictionary> heightStructuresCalculations =
+ CreateDictionary>();
+
+ private readonly Dictionary> closingStructuresCalculations =
+ CreateDictionary>();
+
+ private readonly Dictionary> stabilityPointStructuresCalculations =
+ CreateDictionary>();
+
+ private static Dictionary CreateDictionary()
+ {
+ return new Dictionary(new ReferenceEqualityComparer());
+ }
+
+ private bool ContainsValue(Dictionary collection, TModel model)
+ {
+ if (model == null)
+ {
+ throw new ArgumentNullException(nameof(model));
+ }
+
+ return collection.Values.Contains(model, new ReferenceEqualityComparer());
+ }
+
+ private void Register(Dictionary collection, TEntity entity, TModel model)
+ {
+ if (entity == null)
+ {
+ throw new ArgumentNullException(nameof(entity));
+ }
+
+ if (model == null)
+ {
+ throw new ArgumentNullException(nameof(model));
+ }
+
+ collection[entity] = model;
+ }
+
+ private TEntity Get(Dictionary collection, TModel model)
+ {
+ if (model == null)
+ {
+ throw new ArgumentNullException(nameof(model));
+ }
+
+ return collection.Keys.Single(k => ReferenceEquals(collection[k], model));
+ }
+
+ #region Register Methods
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The
+ /// to be registered.
+ /// The to
+ /// be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(GrassCoverErosionInwardsCalculationEntity entity, GrassCoverErosionInwardsCalculation model)
+ {
+ Register(grassCoverErosionInwardsCalculations, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(FailureMechanismSectionEntity entity, FailureMechanismSection model)
+ {
+ Register(failureMechanismSections, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(DikeProfileEntity entity, DikeProfile model)
+ {
+ Register(dikeProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(ForeshoreProfileEntity entity, ForeshoreProfile model)
+ {
+ Register(foreshoreProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(HydraulicLocationEntity entity, HydraulicBoundaryLocation model)
+ {
+ Register(hydraulicLocations, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(DuneLocationEntity entity, DuneLocation model)
+ {
+ Register(duneLocations, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(StochasticSoilModelEntity entity, PipingStochasticSoilModel model)
+ {
+ Register(pipingStochasticSoilModels, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(PipingStochasticSoilProfileEntity entity, PipingStochasticSoilProfile model)
+ {
+ Register(pipingStochasticSoilProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(PipingSoilProfileEntity entity, PipingSoilProfile model)
+ {
+ Register(pipingSoilProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(SurfaceLineEntity entity, PipingSurfaceLine model)
+ {
+ Register(pipingSurfaceLines, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(StochasticSoilModelEntity entity, MacroStabilityInwardsStochasticSoilModel model)
+ {
+ Register(macroStabilityInwardsStochasticSoilModels, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(MacroStabilityInwardsStochasticSoilProfileEntity entity, MacroStabilityInwardsStochasticSoilProfile model)
+ {
+ Register(macroStabilityInwardsStochasticSoilProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(MacroStabilityInwardsSoilProfileOneDEntity entity, MacroStabilityInwardsSoilProfile1D model)
+ {
+ Register(macroStabilityInwardsSoil1DProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(MacroStabilityInwardsSoilProfileTwoDEntity entity, MacroStabilityInwardsSoilProfile2D model)
+ {
+ Register(macroStabilityInwardsSoil2DProfiles, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(SurfaceLineEntity entity, MacroStabilityInwardsSurfaceLine model)
+ {
+ Register(macroStabilityInwardsSurfaceLines, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(HeightStructureEntity entity, HeightStructure model)
+ {
+ Register(heightStructures, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(ClosingStructureEntity entity, ClosingStructure model)
+ {
+ Register(closingStructures, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The to be registered.
+ /// The to be registered.
+ /// Thrown when any of the input parameters is null.
+ internal void Register(StabilityPointStructureEntity entity, StabilityPointStructure model)
+ {
+ Register(stabilityPointStructures, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The
+ /// to be registered.
+ /// The to
+ /// be registered.
+ /// Thrown when any input parameter is null.
+ internal void Register(HeightStructuresCalculationEntity entity, StructuresCalculation model)
+ {
+ Register(heightStructuresCalculations, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The
+ /// to be registered.
+ /// The to
+ /// be registered.
+ /// Thrown when any input parameter is null.
+ internal void Register(ClosingStructuresCalculationEntity entity, StructuresCalculation model)
+ {
+ Register(closingStructuresCalculations, entity, model);
+ }
+
+ ///
+ /// Registers a create operation for and the
+ /// that was constructed with the information.
+ ///
+ /// The
+ /// to be registered.
+ /// The to
+ /// be registered.
+ /// Thrown when any input parameter is null.
+ internal void Register(StabilityPointStructuresCalculationEntity entity, StructuresCalculation model)
+ {
+ Register(stabilityPointStructuresCalculations, entity, model);
+ }
+
+ #endregion
+
+ #region Contains Methods
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(PipingStochasticSoilModel model)
+ {
+ return ContainsValue(pipingStochasticSoilModels, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(PipingStochasticSoilProfile model)
+ {
+ return ContainsValue(pipingStochasticSoilProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(PipingSoilProfile model)
+ {
+ return ContainsValue(pipingSoilProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(PipingSurfaceLine model)
+ {
+ return ContainsValue(pipingSurfaceLines, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(MacroStabilityInwardsStochasticSoilModel model)
+ {
+ return ContainsValue(macroStabilityInwardsStochasticSoilModels, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(MacroStabilityInwardsStochasticSoilProfile model)
+ {
+ return ContainsValue(macroStabilityInwardsStochasticSoilProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(MacroStabilityInwardsSoilProfile1D model)
+ {
+ return ContainsValue(macroStabilityInwardsSoil1DProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(MacroStabilityInwardsSoilProfile2D model)
+ {
+ return ContainsValue(macroStabilityInwardsSoil2DProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(MacroStabilityInwardsSurfaceLine model)
+ {
+ return ContainsValue(macroStabilityInwardsSurfaceLines, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(HydraulicBoundaryLocation model)
+ {
+ return ContainsValue(hydraulicLocations, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(DuneLocation model)
+ {
+ return ContainsValue(duneLocations, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(FailureMechanismSection model)
+ {
+ return ContainsValue(failureMechanismSections, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(DikeProfile model)
+ {
+ return ContainsValue(dikeProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(ForeshoreProfile model)
+ {
+ return ContainsValue(foreshoreProfiles, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(HeightStructure model)
+ {
+ return ContainsValue(heightStructures, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(GrassCoverErosionInwardsCalculation model)
+ {
+ return ContainsValue(grassCoverErosionInwardsCalculations, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(ClosingStructure model)
+ {
+ return ContainsValue(closingStructures, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(StabilityPointStructure model)
+ {
+ return ContainsValue(stabilityPointStructures, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(StructuresCalculation model)
+ {
+ return ContainsValue(heightStructuresCalculations, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(StructuresCalculation model)
+ {
+ return ContainsValue(closingStructuresCalculations, model);
+ }
+
+ ///
+ /// Checks whether a create operations has been registered for the given .
+ ///
+ /// The to check for.
+ /// true if the was registered before, false otherwise.
+ /// Thrown when is null.
+ internal bool Contains(StructuresCalculation model)
+ {
+ return ContainsValue(stabilityPointStructuresCalculations, model);
+ }
+
+ #endregion
+
+ #region Get Methods
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a read operation
+ /// has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a create
+ /// operation has been registered for .
+ public ForeshoreProfileEntity Get(ForeshoreProfile model)
+ {
+ return Get(foreshoreProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was registered for
+ /// the given .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The created .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether
+ /// a create operation has been registered for .
+ internal StochasticSoilModelEntity Get(PipingStochasticSoilModel model)
+ {
+ return Get(pipingStochasticSoilModels, model);
+ }
+
+ ///
+ /// Obtains the which was registered for
+ /// the given .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The created .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether
+ /// a create/create operation has been registered for .
+ internal PipingStochasticSoilProfileEntity Get(PipingStochasticSoilProfile model)
+ {
+ return Get(pipingStochasticSoilProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the given
+ /// .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a
+ /// create operation has been registered for .
+ internal PipingSoilProfileEntity Get(PipingSoilProfile model)
+ {
+ return Get(pipingSoilProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the given
+ /// .
+ ///
+ /// The for which a
+ /// read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal SurfaceLineEntity Get(PipingSurfaceLine model)
+ {
+ return Get(pipingSurfaceLines, model);
+ }
+
+ ///
+ /// Obtains the which was registered for
+ /// the given .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The created .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether
+ /// a create operation has been registered for .
+ internal StochasticSoilModelEntity Get(MacroStabilityInwardsStochasticSoilModel model)
+ {
+ return Get(macroStabilityInwardsStochasticSoilModels, model);
+ }
+
+ ///
+ /// Obtains the which was registered for
+ /// the given .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The created .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether
+ /// a create/create operation has been registered for .
+ internal MacroStabilityInwardsStochasticSoilProfileEntity Get(MacroStabilityInwardsStochasticSoilProfile model)
+ {
+ return Get(macroStabilityInwardsStochasticSoilProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the given
+ /// .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a
+ /// create operation has been registered for .
+ internal MacroStabilityInwardsSoilProfileOneDEntity Get(MacroStabilityInwardsSoilProfile1D model)
+ {
+ return Get(macroStabilityInwardsSoil1DProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the given
+ /// .
+ ///
+ /// The for which a create
+ /// operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a
+ /// create operation has been registered for .
+ internal MacroStabilityInwardsSoilProfileTwoDEntity Get(MacroStabilityInwardsSoilProfile2D model)
+ {
+ return Get(macroStabilityInwardsSoil2DProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the given
+ /// .
+ ///
+ /// The for which a
+ /// read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal SurfaceLineEntity Get(MacroStabilityInwardsSurfaceLine model)
+ {
+ return Get(macroStabilityInwardsSurfaceLines, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a
+ /// read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal HydraulicLocationEntity Get(HydraulicBoundaryLocation model)
+ {
+ return Get(hydraulicLocations, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a
+ /// read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal DuneLocationEntity Get(DuneLocation model)
+ {
+ return Get(duneLocations, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a
+ /// read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal FailureMechanismSectionEntity Get(FailureMechanismSection model)
+ {
+ return Get(failureMechanismSections, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a read operation
+ /// has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a create
+ /// operation has been registered for .
+ internal DikeProfileEntity Get(DikeProfile model)
+ {
+ return Get(dikeProfiles, model);
+ }
+
+ ///
+ /// Obtains the which was
+ /// registered for the given .
+ ///
+ /// The for
+ /// which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal GrassCoverErosionInwardsCalculationEntity Get(GrassCoverErosionInwardsCalculation model)
+ {
+ return Get(grassCoverErosionInwardsCalculations, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a
+ /// create operation has been registered for .
+ internal HeightStructureEntity Get(HeightStructure model)
+ {
+ return Get(heightStructures, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a
+ /// create operation has been registered for .
+ internal ClosingStructureEntity Get(ClosingStructure model)
+ {
+ return Get(closingStructures, model);
+ }
+
+ ///
+ /// Obtains the which was registered for the
+ /// given .
+ ///
+ /// The for which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out whether a
+ /// create operation has been registered for .
+ internal StabilityPointStructureEntity Get(StabilityPointStructure model)
+ {
+ return Get(stabilityPointStructures, model);
+ }
+
+ ///
+ /// Obtains the which was
+ /// registered for the given .
+ ///
+ /// The for
+ /// which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal HeightStructuresCalculationEntity Get(StructuresCalculation model)
+ {
+ return Get(heightStructuresCalculations, model);
+ }
+
+ ///
+ /// Obtains the which was
+ /// registered for the given .
+ ///
+ /// The for
+ /// which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal ClosingStructuresCalculationEntity Get(StructuresCalculation model)
+ {
+ return Get(closingStructuresCalculations, model);
+ }
+
+ ///
+ /// Obtains the which was
+ /// registered for the given .
+ ///
+ /// The for
+ /// which a read operation has been registered.
+ /// The constructed .
+ /// Thrown when is null.
+ /// Thrown when no create operation
+ /// has been registered for .
+ /// Use to find out
+ /// whether a create operation has been registered for .
+ internal StabilityPointStructuresCalculationEntity Get(StructuresCalculation model)
+ {
+ return Get(stabilityPointStructuresCalculations, model);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingCalculationScenarioCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingCalculationScenarioCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingCalculationScenarioCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,107 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Piping.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class PipingCalculationScenarioCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The piping calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ public static PipingCalculationEntity Create(this PipingCalculationScenario calculation, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new PipingCalculationEntity
+ {
+ RelevantForScenario = Convert.ToByte(calculation.IsRelevant),
+ ScenarioContribution = calculation.Contribution.ToNaNAsNull(),
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone(),
+ Order = order
+ };
+ SetInputParametersToEntity(entity, calculation.InputParameters, registry);
+ AddEntityForPipingOutput(entity, calculation.Output);
+
+ return entity;
+ }
+
+ private static void SetInputParametersToEntity(PipingCalculationEntity entity, PipingInput inputParameters, PersistenceRegistry registry)
+ {
+ if (inputParameters.SurfaceLine != null)
+ {
+ entity.SurfaceLineEntity = registry.Get(inputParameters.SurfaceLine);
+ }
+
+ SetHydraulicBoundaryLocationInputToEntity(entity, inputParameters, registry);
+
+ if (inputParameters.StochasticSoilProfile != null)
+ {
+ entity.PipingStochasticSoilProfileEntity = registry.Get(inputParameters.StochasticSoilProfile);
+ }
+
+ entity.ExitPointL = inputParameters.ExitPointL.Value.ToNaNAsNull();
+ entity.EntryPointL = inputParameters.EntryPointL.Value.ToNaNAsNull();
+
+ entity.PhreaticLevelExitMean = inputParameters.PhreaticLevelExit.Mean.ToNaNAsNull();
+ entity.PhreaticLevelExitStandardDeviation = inputParameters.PhreaticLevelExit.StandardDeviation.ToNaNAsNull();
+
+ entity.DampingFactorExitMean = inputParameters.DampingFactorExit.Mean.ToNaNAsNull();
+ entity.DampingFactorExitStandardDeviation = inputParameters.DampingFactorExit.StandardDeviation.ToNaNAsNull();
+ }
+
+ private static void SetHydraulicBoundaryLocationInputToEntity(PipingCalculationEntity entity, PipingInput inputParameters, PersistenceRegistry registry)
+ {
+ entity.UseAssessmentLevelManualInput = Convert.ToByte(inputParameters.UseAssessmentLevelManualInput);
+ entity.AssessmentLevel = inputParameters.AssessmentLevel.ToNaNAsNull();
+
+ if (inputParameters.HydraulicBoundaryLocation != null)
+ {
+ entity.HydraulicLocationEntity = registry.Get(inputParameters.HydraulicBoundaryLocation);
+ }
+ }
+
+ private static void AddEntityForPipingOutput(PipingCalculationEntity entity, PipingOutput output)
+ {
+ if (output != null)
+ {
+ entity.PipingCalculationOutputEntities.Add(output.Create());
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,101 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Data.SoilProfile;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class PipingFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this PipingFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.Piping, registry);
+
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ AddEntitiesForStochasticSoilModels(mechanism, registry, entity);
+ AddEntitiesForSurfaceLines(mechanism, registry, entity);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (PipingFailureMechanismSectionResult pipingFailureMechanismSectionResult in sectionResults)
+ {
+ PipingSectionResultEntity pipingSectionResultEntity = pipingFailureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(pipingFailureMechanismSectionResult.Section);
+ section.PipingSectionResultEntities.Add(pipingSectionResultEntity);
+ }
+ }
+
+ 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()
+ };
+
+ entity.PipingFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForStochasticSoilModels(PipingFailureMechanism mechanism, PersistenceRegistry registry, FailureMechanismEntity entity)
+ {
+ var index = 0;
+ foreach (PipingStochasticSoilModel stochasticSoilModel in mechanism.StochasticSoilModels)
+ {
+ entity.StochasticSoilModelEntities.Add(stochasticSoilModel.Create(registry, index++));
+ }
+ }
+
+ private static void AddEntitiesForSurfaceLines(PipingFailureMechanism mechanism, PersistenceRegistry registry, FailureMechanismEntity entity)
+ {
+ var index = 0;
+ foreach (PipingSurfaceLine surfaceLine in mechanism.SurfaceLines)
+ {
+ entity.SurfaceLineEntities.Add(surfaceLine.Create(registry, index++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,60 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Piping.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class PipingFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static PipingSectionResultEntity Create(this PipingFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var pipingSectionResultEntity = new PipingSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyProbability = result.ManualAssemblyProbability.ToNaNAsNull()
+ };
+
+ return pipingSectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,66 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Piping.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class PipingOutputCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The calculation output for piping failure mechanism to
+ /// create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ public static PipingCalculationOutputEntity Create(this PipingOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ var entity = new PipingCalculationOutputEntity
+ {
+ HeaveFactorOfSafety = output.HeaveFactorOfSafety.ToNaNAsNull(),
+ HeaveZValue = output.HeaveZValue.ToNaNAsNull(),
+ SellmeijerFactorOfSafety = output.SellmeijerFactorOfSafety.ToNaNAsNull(),
+ SellmeijerZValue = output.SellmeijerZValue.ToNaNAsNull(),
+ UpliftFactorOfSafety = output.UpliftFactorOfSafety.ToNaNAsNull(),
+ UpliftZValue = output.UpliftZValue.ToNaNAsNull(),
+ UpliftEffectiveStress = output.UpliftEffectiveStress.ToNaNAsNull(),
+ HeaveGradient = output.HeaveGradient.ToNaNAsNull(),
+ SellmeijerCreepCoefficient = output.SellmeijerCreepCoefficient.ToNaNAsNull(),
+ SellmeijerCriticalFall = output.SellmeijerCriticalFall.ToNaNAsNull(),
+ SellmeijerReducedFall = output.SellmeijerReducedFall.ToNaNAsNull()
+ };
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSoilLayerCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSoilLayerCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSoilLayerCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,65 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class PipingSoilLayerCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The layer to create a database entity for.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when is null.
+ public static PipingSoilLayerEntity Create(this PipingSoilLayer layer, int order)
+ {
+ if (layer == null)
+ {
+ throw new ArgumentNullException(nameof(layer));
+ }
+
+ return new PipingSoilLayerEntity
+ {
+ IsAquifer = Convert.ToByte(layer.IsAquifer),
+ Top = layer.Top.ToNaNAsNull(),
+ BelowPhreaticLevelMean = layer.BelowPhreaticLevel.Mean.ToNaNAsNull(),
+ BelowPhreaticLevelDeviation = layer.BelowPhreaticLevel.StandardDeviation.ToNaNAsNull(),
+ BelowPhreaticLevelShift = layer.BelowPhreaticLevel.Shift.ToNaNAsNull(),
+ DiameterD70Mean = layer.DiameterD70.Mean.ToNaNAsNull(),
+ DiameterD70CoefficientOfVariation = layer.DiameterD70.CoefficientOfVariation.ToNaNAsNull(),
+ PermeabilityMean = layer.Permeability.Mean.ToNaNAsNull(),
+ PermeabilityCoefficientOfVariation = layer.Permeability.CoefficientOfVariation.ToNaNAsNull(),
+ Color = layer.Color.ToInt64(),
+ MaterialName = layer.MaterialName.DeepClone(),
+ Order = order
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSoilProfileCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSoilProfileCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSoilProfileCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,78 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class PipingSoilProfileCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new or one from the
+ /// if it was created for the earlier.
+ /// Thrown when is null.
+ internal static PipingSoilProfileEntity Create(this PipingSoilProfile profile,
+ PersistenceRegistry registry)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(profile))
+ {
+ return registry.Get(profile);
+ }
+
+ var entity = new PipingSoilProfileEntity
+ {
+ Name = profile.Name.DeepClone(),
+ Bottom = profile.Bottom.ToNaNAsNull(),
+ SourceType = Convert.ToByte(profile.SoilProfileSourceType)
+ };
+
+ AddEntitiesForPipingSoilLayers(profile, entity);
+
+ registry.Register(entity, profile);
+ return entity;
+ }
+
+ private static void AddEntitiesForPipingSoilLayers(PipingSoilProfile profile,
+ PipingSoilProfileEntity entity)
+ {
+ var index = 0;
+ foreach (PipingSoilLayer pipingSoilLayer in profile.Layers)
+ {
+ entity.PipingSoilLayerEntities.Add(pipingSoilLayer.Create(index++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingStochasticSoilModelCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingStochasticSoilModelCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingStochasticSoilModelCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,87 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Piping.Data.SoilProfile;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class PipingStochasticSoilModelCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The model to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when any input parameter is null.
+ internal static StochasticSoilModelEntity Create(this PipingStochasticSoilModel model,
+ PersistenceRegistry registry,
+ int order)
+ {
+ if (model == null)
+ {
+ throw new ArgumentNullException(nameof(model));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(model))
+ {
+ return registry.Get(model);
+ }
+
+ var entity = new StochasticSoilModelEntity
+ {
+ Name = model.Name.DeepClone(),
+ StochasticSoilModelSegmentPointXml = new Point2DCollectionXmlSerializer().ToXml(model.Geometry),
+ Order = order
+ };
+
+ AddEntitiesForStochasticSoilProfiles(model, registry, entity);
+
+ registry.Register(entity, model);
+ return entity;
+ }
+
+ private static void AddEntitiesForStochasticSoilProfiles(PipingStochasticSoilModel model,
+ PersistenceRegistry registry,
+ StochasticSoilModelEntity entity)
+ {
+ var i = 0;
+ foreach (PipingStochasticSoilProfile stochasticSoilProfile in model.StochasticSoilProfiles)
+ {
+ entity.PipingStochasticSoilProfileEntities.Add(stochasticSoilProfile.Create(registry, i++));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingStochasticSoilProfileCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingStochasticSoilProfileCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingStochasticSoilProfileCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Piping.Data.SoilProfile;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class PipingStochasticSoilProfileCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The profile to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when is null.
+ internal static PipingStochasticSoilProfileEntity Create(this PipingStochasticSoilProfile profile,
+ PersistenceRegistry registry,
+ int order)
+ {
+ var entity = new PipingStochasticSoilProfileEntity
+ {
+ Probability = profile.Probability,
+ PipingSoilProfileEntity = profile.SoilProfile.Create(registry),
+ Order = order
+ };
+ if (registry.Contains(profile))
+ {
+ return registry.Get(profile);
+ }
+
+ registry.Register(entity, profile);
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSurfaceLineCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSurfaceLineCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/Piping/PipingSurfaceLineCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,109 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.Base.Geometry;
+using Core.Common.Util.Extensions;
+using Ringtoets.Piping.Primitives;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.Storage.Core.Serializers;
+
+namespace Ringtoets.Storage.Core.Create.Piping
+{
+ ///
+ /// Extensions methods for related to creating
+ /// a .
+ ///
+ internal static class PipingSurfaceLineCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The surface line to create a database entity for.
+ /// The object keeping track of create operations.
+ /// Index at which this instance resides inside its parent container.
+ /// A new .
+ /// Thrown when any input parameter is null.
+ internal static SurfaceLineEntity Create(this PipingSurfaceLine surfaceLine, PersistenceRegistry registry, int order)
+ {
+ if (surfaceLine == null)
+ {
+ throw new ArgumentNullException(nameof(surfaceLine));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(surfaceLine))
+ {
+ return registry.Get(surfaceLine);
+ }
+
+ var entity = new SurfaceLineEntity
+ {
+ Name = surfaceLine.Name.DeepClone(),
+ ReferenceLineIntersectionX = surfaceLine.ReferenceLineIntersectionWorldPoint?.X.ToNaNAsNull(),
+ ReferenceLineIntersectionY = surfaceLine.ReferenceLineIntersectionWorldPoint?.Y.ToNaNAsNull(),
+ PointsXml = new Point3DCollectionXmlSerializer().ToXml(surfaceLine.Points),
+ Order = order
+ };
+ CreateCharacteristicPointEntities(surfaceLine, entity);
+
+ registry.Register(entity, surfaceLine);
+
+ return entity;
+ }
+
+ private static void CreateCharacteristicPointEntities(PipingSurfaceLine surfaceLine, SurfaceLineEntity entity)
+ {
+ Tuple[] characteristicPointAssociations =
+ {
+ Tuple.Create(surfaceLine.BottomDitchPolderSide, PipingCharacteristicPointType.BottomDitchPolderSide),
+ Tuple.Create(surfaceLine.BottomDitchDikeSide, PipingCharacteristicPointType.BottomDitchDikeSide),
+ Tuple.Create(surfaceLine.DikeToeAtPolder, PipingCharacteristicPointType.DikeToeAtPolder),
+ Tuple.Create(surfaceLine.DikeToeAtRiver, PipingCharacteristicPointType.DikeToeAtRiver),
+ Tuple.Create(surfaceLine.DitchDikeSide, PipingCharacteristicPointType.DitchDikeSide),
+ Tuple.Create(surfaceLine.DitchPolderSide, PipingCharacteristicPointType.DitchPolderSide)
+ };
+ foreach (Tuple characteristicPointToSave in characteristicPointAssociations.Where(t => t.Item1 != null))
+ {
+ PipingCharacteristicPointEntity characteristicPointEntity = CreateCharacteristicPointEntity(characteristicPointToSave.Item1,
+ characteristicPointToSave.Item2);
+ entity.PipingCharacteristicPointEntities.Add(characteristicPointEntity);
+ }
+ }
+
+ private static PipingCharacteristicPointEntity CreateCharacteristicPointEntity(Point3D point, PipingCharacteristicPointType type)
+ {
+ var entity = new PipingCharacteristicPointEntity
+ {
+ Type = Convert.ToByte(type),
+ X = point.X.ToNaNAsNull(),
+ Y = point.Y.ToNaNAsNull(),
+ Z = point.Z.ToNaNAsNull()
+ };
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,73 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.PipingStructure
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class PipingStructureFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this PipingStructureFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.PipingAtStructure, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (PipingStructureFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ PipingStructureSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.PipingStructureSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(PipingStructureFailureMechanism failureMechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new PipingStructureFailureMechanismMetaEntity
+ {
+ N = failureMechanism.N
+ };
+
+ entity.PipingStructureFailureMechanismMetaEntities.Add(metaEntity);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/PipingStructure/PipingStructureFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.PipingStructure
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class PipingStructureFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static PipingStructureSectionResultEntity Create(this PipingStructureFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new PipingStructureSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/RiskeerProjectCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/RiskeerProjectCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/RiskeerProjectCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,67 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Integration.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating database entities.
+ ///
+ internal static class RiskeerProjectCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The project to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static ProjectEntity Create(this RingtoetsProject project, PersistenceRegistry registry)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new ProjectEntity
+ {
+ Description = project.Description.DeepClone()
+ };
+
+ AddEntitiesForAssessmentSections(project, entity, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForAssessmentSections(RingtoetsProject project, ProjectEntity entity, PersistenceRegistry registry)
+ {
+ for (var index = 0; index < project.AssessmentSections.Count; index++)
+ {
+ AssessmentSection assessmentSection = project.AssessmentSections[index];
+ entity.AssessmentSectionEntities.Add(assessmentSection.Create(registry, index));
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructureCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructureCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructureCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,114 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StabilityPointStructures
+{
+ ///
+ /// Extension methods for related to creating
+ /// a .
+ ///
+ internal static class StabilityPointStructureCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The structure to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when is null.
+ internal static StabilityPointStructureEntity Create(this StabilityPointStructure structure, PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ if (registry.Contains(structure))
+ {
+ return registry.Get(structure);
+ }
+
+ var entity = new StabilityPointStructureEntity
+ {
+ Name = structure.Name.DeepClone(),
+ Id = structure.Id.DeepClone(),
+ X = structure.Location.X.ToNaNAsNull(),
+ Y = structure.Location.Y.ToNaNAsNull(),
+ StructureNormalOrientation = structure.StructureNormalOrientation.ToNaNAsNull(),
+ StorageStructureAreaMean = structure.StorageStructureArea.Mean.ToNaNAsNull(),
+ StorageStructureAreaCoefficientOfVariation = structure.StorageStructureArea.CoefficientOfVariation.ToNaNAsNull(),
+ AllowedLevelIncreaseStorageMean = structure.AllowedLevelIncreaseStorage.Mean.ToNaNAsNull(),
+ AllowedLevelIncreaseStorageStandardDeviation = structure.AllowedLevelIncreaseStorage.StandardDeviation.ToNaNAsNull(),
+ WidthFlowAperturesMean = structure.WidthFlowApertures.Mean.ToNaNAsNull(),
+ WidthFlowAperturesStandardDeviation = structure.WidthFlowApertures.StandardDeviation.ToNaNAsNull(),
+ InsideWaterLevelMean = structure.InsideWaterLevel.Mean.ToNaNAsNull(),
+ InsideWaterLevelStandardDeviation = structure.InsideWaterLevel.StandardDeviation.ToNaNAsNull(),
+ ThresholdHeightOpenWeirMean = structure.ThresholdHeightOpenWeir.Mean.ToNaNAsNull(),
+ ThresholdHeightOpenWeirStandardDeviation = structure.ThresholdHeightOpenWeir.StandardDeviation.ToNaNAsNull(),
+ CriticalOvertoppingDischargeMean = structure.CriticalOvertoppingDischarge.Mean.ToNaNAsNull(),
+ CriticalOvertoppingDischargeCoefficientOfVariation = structure.CriticalOvertoppingDischarge.CoefficientOfVariation.ToNaNAsNull(),
+ FlowWidthAtBottomProtectionMean = structure.FlowWidthAtBottomProtection.Mean.ToNaNAsNull(),
+ FlowWidthAtBottomProtectionStandardDeviation = structure.FlowWidthAtBottomProtection.StandardDeviation.ToNaNAsNull(),
+ ConstructiveStrengthLinearLoadModelMean = structure.ConstructiveStrengthLinearLoadModel.Mean.ToNaNAsNull(),
+ ConstructiveStrengthLinearLoadModelCoefficientOfVariation = structure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation.ToNaNAsNull(),
+ ConstructiveStrengthQuadraticLoadModelMean = structure.ConstructiveStrengthQuadraticLoadModel.Mean.ToNaNAsNull(),
+ ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation = structure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation.ToNaNAsNull(),
+ BankWidthMean = structure.BankWidth.Mean.ToNaNAsNull(),
+ BankWidthStandardDeviation = structure.BankWidth.StandardDeviation.ToNaNAsNull(),
+ InsideWaterLevelFailureConstructionMean = structure.InsideWaterLevelFailureConstruction.Mean.ToNaNAsNull(),
+ InsideWaterLevelFailureConstructionStandardDeviation = structure.InsideWaterLevelFailureConstruction.StandardDeviation.ToNaNAsNull(),
+ EvaluationLevel = structure.EvaluationLevel.ToNaNAsNull(),
+ LevelCrestStructureMean = structure.LevelCrestStructure.Mean.ToNaNAsNull(),
+ LevelCrestStructureStandardDeviation = structure.LevelCrestStructure.StandardDeviation.ToNaNAsNull(),
+ VerticalDistance = structure.VerticalDistance.ToNaNAsNull(),
+ FailureProbabilityRepairClosure = structure.FailureProbabilityRepairClosure.ToNaNAsNull(),
+ FailureCollisionEnergyMean = structure.FailureCollisionEnergy.Mean.ToNaNAsNull(),
+ FailureCollisionEnergyCoefficientOfVariation = structure.FailureCollisionEnergy.CoefficientOfVariation.ToNaNAsNull(),
+ ShipMassMean = structure.ShipMass.Mean.ToNaNAsNull(),
+ ShipMassCoefficientOfVariation = structure.ShipMass.CoefficientOfVariation.ToNaNAsNull(),
+ ShipVelocityMean = structure.ShipVelocity.Mean.ToNaNAsNull(),
+ ShipVelocityCoefficientOfVariation = structure.ShipVelocity.CoefficientOfVariation.ToNaNAsNull(),
+ LevellingCount = structure.LevellingCount,
+ ProbabilityCollisionSecondaryStructure = structure.ProbabilityCollisionSecondaryStructure.ToNaNAsNull(),
+ FlowVelocityStructureClosableMean = structure.FlowVelocityStructureClosable.Mean.ToNaNAsNull(),
+ StabilityLinearLoadModelMean = structure.StabilityLinearLoadModel.Mean.ToNaNAsNull(),
+ StabilityLinearLoadModelCoefficientOfVariation = structure.StabilityLinearLoadModel.CoefficientOfVariation.ToNaNAsNull(),
+ StabilityQuadraticLoadModelMean = structure.StabilityQuadraticLoadModel.Mean.ToNaNAsNull(),
+ StabilityQuadraticLoadModelCoefficientOfVariation = structure.StabilityQuadraticLoadModel.CoefficientOfVariation.ToNaNAsNull(),
+ AreaFlowAperturesMean = structure.AreaFlowApertures.Mean.ToNaNAsNull(),
+ AreaFlowAperturesStandardDeviation = structure.AreaFlowApertures.StandardDeviation.ToNaNAsNull(),
+ InflowModelType = Convert.ToByte(structure.InflowModelType),
+ Order = order
+ };
+
+ registry.Register(entity, structure);
+
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,105 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StabilityPointStructures
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class StabilityPointStructuresFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this StabilityPointStructuresFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.StabilityPointStructures, registry);
+ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry);
+ AddEntitiesForStabilityPointStructures(mechanism.StabilityPointStructures, entity, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (StabilityPointStructuresFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ StabilityPointStructuresSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create(registry);
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.StabilityPointStructuresSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForForeshoreProfiles(
+ ForeshoreProfileCollection foreshoreProfiles,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ for (var i = 0; i < foreshoreProfiles.Count; i++)
+ {
+ ForeshoreProfileEntity foreshoreProfileEntity = foreshoreProfiles[i].Create(registry, i);
+ entity.ForeshoreProfileEntities.Add(foreshoreProfileEntity);
+ }
+ }
+
+ private static void AddEntitiesForStabilityPointStructures(
+ StructureCollection structures,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ for (var i = 0; i < structures.Count; i++)
+ {
+ StabilityPointStructureEntity structureEntity = structures[i].Create(registry, i);
+ entity.StabilityPointStructureEntities.Add(structureEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(
+ StabilityPointStructuresFailureMechanism failureMechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new StabilityPointStructuresFailureMechanismMetaEntity
+ {
+ ForeshoreProfileCollectionSourcePath = failureMechanism.ForeshoreProfiles.SourcePath.DeepClone(),
+ StabilityPointStructureCollectionSourcePath = failureMechanism.StabilityPointStructures.SourcePath.DeepClone(),
+ N = failureMechanism.GeneralInput.N
+ };
+ entity.StabilityPointStructuresFailureMechanismMetaEntities.Add(metaEntity);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityPointStructures/StabilityPointStructuresFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,72 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StabilityPointStructures
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class StabilityPointStructuresFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static StabilityPointStructuresSectionResultEntity Create(
+ this StabilityPointStructuresFailureMechanismSectionResult result,
+ PersistenceRegistry registry)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var sectionResultEntity = new StabilityPointStructuresSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResult = Convert.ToByte(result.DetailedAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ TailorMadeAssessmentProbability = result.TailorMadeAssessmentProbability.ToNaNAsNull(),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyProbability = result.ManualAssemblyProbability.ToNaNAsNull()
+ };
+ if (result.Calculation != null)
+ {
+ sectionResultEntity.StabilityPointStructuresCalculationEntity = registry.Get(result.Calculation);
+ }
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,93 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StabilityStoneCover
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class StabilityStoneCoverFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this StabilityStoneCoverFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.StabilityStoneRevetment, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry);
+
+ entity.CalculationGroupEntity = mechanism.WaveConditionsCalculationGroup.Create(registry, 0);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (StabilityStoneCoverFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ StabilityStoneCoverSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.StabilityStoneCoverSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(StabilityStoneCoverFailureMechanism failureMechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new StabilityStoneCoverFailureMechanismMetaEntity
+ {
+ ForeshoreProfileCollectionSourcePath = failureMechanism.ForeshoreProfiles.SourcePath.DeepClone(),
+ N = failureMechanism.GeneralInput.N
+ };
+
+ entity.StabilityStoneCoverFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForForeshoreProfiles(
+ IEnumerable foreshoreProfiles,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ var i = 0;
+
+ foreach (ForeshoreProfile foreshoreProfile in foreshoreProfiles)
+ {
+ ForeshoreProfileEntity foreshoreProfileEntity = foreshoreProfile.Create(registry, i++);
+ entity.ForeshoreProfileEntities.Add(foreshoreProfileEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StabilityStoneCover
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class StabilityStoneCoverFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static StabilityStoneCoverSectionResultEntity Create(this StabilityStoneCoverFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new StabilityStoneCoverSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResultForFactorizedSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedSignalingNorm),
+ DetailedAssessmentResultForSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForSignalingNorm),
+ DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm),
+ DetailedAssessmentResultForLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForLowerLimitNorm),
+ DetailedAssessmentResultForFactorizedLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedLowerLimitNorm),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,115 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Revetment.Data;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StabilityStoneCover
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class StabilityStoneCoverWaveConditionsCalculationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static StabilityStoneCoverWaveConditionsCalculationEntity Create(this StabilityStoneCoverWaveConditionsCalculation calculation,
+ PersistenceRegistry registry, int order)
+ {
+ if (calculation == null)
+ {
+ throw new ArgumentNullException(nameof(calculation));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new StabilityStoneCoverWaveConditionsCalculationEntity
+ {
+ Order = order,
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone()
+ };
+
+ SetInputParameters(entity, calculation.InputParameters, registry);
+ SetOutputEntities(entity, calculation);
+
+ return entity;
+ }
+
+ private static void SetInputParameters(StabilityStoneCoverWaveConditionsCalculationEntity entity,
+ AssessmentSectionCategoryWaveConditionsInput calculationInput,
+ PersistenceRegistry registry)
+ {
+ if (calculationInput.HydraulicBoundaryLocation != null)
+ {
+ entity.HydraulicLocationEntity = calculationInput.HydraulicBoundaryLocation.Create(registry, 0);
+ }
+
+ if (calculationInput.ForeshoreProfile != null)
+ {
+ entity.ForeshoreProfileEntity = calculationInput.ForeshoreProfile.Create(registry, 0);
+ }
+
+ entity.Orientation = calculationInput.Orientation.ToNaNAsNull();
+ entity.UseBreakWater = Convert.ToByte(calculationInput.UseBreakWater);
+ entity.BreakWaterType = Convert.ToByte(calculationInput.BreakWater.Type);
+ entity.BreakWaterHeight = calculationInput.BreakWater.Height.ToNaNAsNull();
+ entity.UseForeshore = Convert.ToByte(calculationInput.UseForeshore);
+ entity.UpperBoundaryRevetment = calculationInput.UpperBoundaryRevetment.ToNaNAsNull();
+ entity.LowerBoundaryRevetment = calculationInput.LowerBoundaryRevetment.ToNaNAsNull();
+ entity.UpperBoundaryWaterLevels = calculationInput.UpperBoundaryWaterLevels.ToNaNAsNull();
+ entity.LowerBoundaryWaterLevels = calculationInput.LowerBoundaryWaterLevels.ToNaNAsNull();
+ entity.StepSize = Convert.ToByte(calculationInput.StepSize);
+ entity.CategoryType = Convert.ToByte(calculationInput.CategoryType);
+ }
+
+ private static void SetOutputEntities(StabilityStoneCoverWaveConditionsCalculationEntity entity, StabilityStoneCoverWaveConditionsCalculation calculation)
+ {
+ if (calculation.HasOutput)
+ {
+ var i = 0;
+ foreach (WaveConditionsOutput output in calculation.Output.BlocksOutput)
+ {
+ entity.StabilityStoneCoverWaveConditionsOutputEntities.Add(output.CreateStabilityStoneCoverWaveConditionsOutputEntity(WaveConditionsOutputType.Blocks, i++));
+ }
+
+ foreach (WaveConditionsOutput output in calculation.Output.ColumnsOutput)
+ {
+ entity.StabilityStoneCoverWaveConditionsOutputEntities.Add(output.CreateStabilityStoneCoverWaveConditionsOutputEntity(WaveConditionsOutputType.Columns, i++));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StrengthStabilityLengthwise
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class StrengthStabilityLengthwiseConstructionFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this StrengthStabilityLengthwiseConstructionFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.StrengthAndStabilityParallelConstruction, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (StrengthStabilityLengthwiseConstructionFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ StrengthStabilityLengthwiseConstructionSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.StrengthStabilityLengthwiseConstructionSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StrengthStabilityLengthwise/StrengthStabilityLengthwiseConstructionFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.StrengthStabilityLengthwise
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class StrengthStabilityLengthwiseConstructionFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static StrengthStabilityLengthwiseConstructionSectionResultEntity Create(this StrengthStabilityLengthwiseConstructionFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new StrengthStabilityLengthwiseConstructionSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StructuresCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StructuresCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StructuresCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,359 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.ClosingStructures.Data;
+using Ringtoets.Common.Data;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.HeightStructures.Data;
+using Ringtoets.StabilityPointStructures.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related
+ /// to creating structures calculation entities.
+ ///
+ internal static class StructuresCalculationCreateExtensions
+ {
+ private static void Create(this StructuresInputBase input, IStructuresCalculationEntity entityToUpdate,
+ PersistenceRegistry registry)
+ where T : StructureBase
+ {
+ if (entityToUpdate == null)
+ {
+ throw new ArgumentNullException(nameof(entityToUpdate));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ entityToUpdate.StormDurationMean = input.StormDuration.Mean.ToNaNAsNull();
+ entityToUpdate.StructureNormalOrientation = input.StructureNormalOrientation.ToNaNAsNull();
+ entityToUpdate.FailureProbabilityStructureWithErosion = input.FailureProbabilityStructureWithErosion;
+
+ if (input.HydraulicBoundaryLocation != null)
+ {
+ entityToUpdate.HydraulicLocationEntity = registry.Get(input.HydraulicBoundaryLocation);
+ }
+
+ if (input.ForeshoreProfile != null)
+ {
+ entityToUpdate.ForeshoreProfileEntity = registry.Get(input.ForeshoreProfile);
+ }
+
+ entityToUpdate.UseForeshore = Convert.ToByte(input.UseForeshore);
+
+ entityToUpdate.UseBreakWater = Convert.ToByte(input.UseBreakWater);
+ entityToUpdate.BreakWaterType = Convert.ToByte(input.BreakWater.Type);
+ entityToUpdate.BreakWaterHeight = input.BreakWater.Height.ToNaNAsNull();
+
+ entityToUpdate.AllowedLevelIncreaseStorageMean = input.AllowedLevelIncreaseStorage.Mean.ToNaNAsNull();
+ entityToUpdate.AllowedLevelIncreaseStorageStandardDeviation = input.AllowedLevelIncreaseStorage.StandardDeviation.ToNaNAsNull();
+
+ entityToUpdate.StorageStructureAreaMean = input.StorageStructureArea.Mean.ToNaNAsNull();
+ entityToUpdate.StorageStructureAreaCoefficientOfVariation = input.StorageStructureArea.CoefficientOfVariation.ToNaNAsNull();
+
+ entityToUpdate.FlowWidthAtBottomProtectionMean = input.FlowWidthAtBottomProtection.Mean.ToNaNAsNull();
+ entityToUpdate.FlowWidthAtBottomProtectionStandardDeviation = input.FlowWidthAtBottomProtection.StandardDeviation.ToNaNAsNull();
+
+ entityToUpdate.CriticalOvertoppingDischargeMean = input.CriticalOvertoppingDischarge.Mean.ToNaNAsNull();
+ entityToUpdate.CriticalOvertoppingDischargeCoefficientOfVariation = input.CriticalOvertoppingDischarge.CoefficientOfVariation.ToNaNAsNull();
+
+ entityToUpdate.WidthFlowAperturesMean = input.WidthFlowApertures.Mean.ToNaNAsNull();
+ entityToUpdate.WidthFlowAperturesStandardDeviation = input.WidthFlowApertures.StandardDeviation.ToNaNAsNull();
+
+ entityToUpdate.ShouldIllustrationPointsBeCalculated = Convert.ToByte(input.ShouldIllustrationPointsBeCalculated);
+ }
+
+ #region ClosingStructures
+
+ ///
+ /// Creates a based
+ /// on the information of the .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at where resides
+ /// in its parent container.
+ /// A new .
+ /// Thrown when is null.
+ internal static ClosingStructuresCalculationEntity CreateForClosingStructures(this StructuresCalculation calculation,
+ PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new ClosingStructuresCalculationEntity
+ {
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone(),
+ Order = order
+ };
+ SetInputValues(entity, calculation.InputParameters, registry);
+ SetOutputEntity(calculation, entity);
+
+ registry.Register(entity, calculation);
+
+ return entity;
+ }
+
+ private static void SetInputValues(ClosingStructuresCalculationEntity entity, ClosingStructuresInput input,
+ PersistenceRegistry registry)
+ {
+ input.Create(entity, registry);
+
+ if (input.Structure != null)
+ {
+ entity.ClosingStructureEntity = registry.Get(input.Structure);
+ }
+
+ entity.InflowModelType = Convert.ToByte(input.InflowModelType);
+
+ entity.InsideWaterLevelMean = input.InsideWaterLevel.Mean.ToNaNAsNull();
+ entity.InsideWaterLevelStandardDeviation = input.InsideWaterLevel.StandardDeviation.ToNaNAsNull();
+
+ entity.DeviationWaveDirection = input.DeviationWaveDirection.ToNaNAsNull();
+
+ entity.ModelFactorSuperCriticalFlowMean = input.ModelFactorSuperCriticalFlow.Mean.ToNaNAsNull();
+
+ entity.DrainCoefficientMean = input.DrainCoefficient.Mean.ToNaNAsNull();
+
+ entity.FactorStormDurationOpenStructure = input.FactorStormDurationOpenStructure.ToNaNAsNull();
+
+ entity.ThresholdHeightOpenWeirMean = input.ThresholdHeightOpenWeir.Mean.ToNaNAsNull();
+ entity.ThresholdHeightOpenWeirStandardDeviation = input.ThresholdHeightOpenWeir.StandardDeviation.ToNaNAsNull();
+
+ entity.AreaFlowAperturesMean = input.AreaFlowApertures.Mean.ToNaNAsNull();
+ entity.AreaFlowAperturesStandardDeviation = input.AreaFlowApertures.StandardDeviation.ToNaNAsNull();
+
+ entity.FailureProbabilityOpenStructure = input.FailureProbabilityOpenStructure;
+
+ entity.FailureProbabilityReparation = input.FailureProbabilityReparation;
+
+ entity.IdenticalApertures = input.IdenticalApertures;
+
+ entity.LevelCrestStructureNotClosingMean = input.LevelCrestStructureNotClosing.Mean.ToNaNAsNull();
+ entity.LevelCrestStructureNotClosingStandardDeviation = input.LevelCrestStructureNotClosing.StandardDeviation.ToNaNAsNull();
+
+ entity.ProbabilityOpenStructureBeforeFlooding = input.ProbabilityOpenStructureBeforeFlooding;
+ }
+
+ private static void SetOutputEntity(StructuresCalculation calculation,
+ ClosingStructuresCalculationEntity entity)
+ {
+ if (calculation.HasOutput)
+ {
+ entity.ClosingStructuresOutputEntities.Add(calculation
+ .Output
+ .Create());
+ }
+ }
+
+ #endregion
+
+ #region HeightStructures
+
+ ///
+ /// Creates a based
+ /// on the information of the .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at where resides
+ /// in its parent container.
+ /// A new .
+ /// Thrown when is null.
+ internal static HeightStructuresCalculationEntity CreateForHeightStructures(this StructuresCalculation calculation,
+ PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new HeightStructuresCalculationEntity
+ {
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone(),
+ Order = order
+ };
+ SetInputValues(entity, calculation.InputParameters, registry);
+ SetOutputEntity(calculation, entity);
+
+ registry.Register(entity, calculation);
+
+ return entity;
+ }
+
+ private static void SetInputValues(HeightStructuresCalculationEntity entity, HeightStructuresInput input,
+ PersistenceRegistry registry)
+ {
+ input.Create(entity, registry);
+
+ if (input.Structure != null)
+ {
+ entity.HeightStructureEntity = registry.Get(input.Structure);
+ }
+
+ entity.DeviationWaveDirection = input.DeviationWaveDirection.ToNaNAsNull();
+
+ entity.ModelFactorSuperCriticalFlowMean = input.ModelFactorSuperCriticalFlow.Mean.ToNaNAsNull();
+
+ entity.LevelCrestStructureMean = input.LevelCrestStructure.Mean.ToNaNAsNull();
+ entity.LevelCrestStructureStandardDeviation = input.LevelCrestStructure.StandardDeviation.ToNaNAsNull();
+ }
+
+ private static void SetOutputEntity(StructuresCalculation calculation,
+ HeightStructuresCalculationEntity entity)
+ {
+ if (calculation.HasOutput)
+ {
+ entity.HeightStructuresOutputEntities.Add(calculation
+ .Output
+ .Create());
+ }
+ }
+
+ #endregion
+
+ #region StabilityPointStructures
+
+ ///
+ /// Creates a based
+ /// on the information of the .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at where resides
+ /// in its parent container.
+ /// A new .
+ /// Thrown when is null.
+ internal static StabilityPointStructuresCalculationEntity CreateForStabilityPointStructures(this StructuresCalculation calculation,
+ PersistenceRegistry registry, int order)
+ {
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new StabilityPointStructuresCalculationEntity
+ {
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone(),
+ Order = order
+ };
+ SetInputValues(entity, calculation.InputParameters, registry);
+ SetOutputEntity(calculation, entity);
+
+ registry.Register(entity, calculation);
+
+ return entity;
+ }
+
+ private static void SetInputValues(StabilityPointStructuresCalculationEntity entity,
+ StabilityPointStructuresInput input, PersistenceRegistry registry)
+ {
+ input.Create(entity, registry);
+
+ if (input.Structure != null)
+ {
+ entity.StabilityPointStructureEntity = registry.Get(input.Structure);
+ }
+
+ entity.InsideWaterLevelMean = input.InsideWaterLevel.Mean.ToNaNAsNull();
+ entity.InsideWaterLevelStandardDeviation = input.InsideWaterLevel.StandardDeviation.ToNaNAsNull();
+
+ entity.ThresholdHeightOpenWeirMean = input.ThresholdHeightOpenWeir.Mean.ToNaNAsNull();
+ entity.ThresholdHeightOpenWeirStandardDeviation = input.ThresholdHeightOpenWeir.StandardDeviation.ToNaNAsNull();
+
+ entity.ConstructiveStrengthLinearLoadModelMean = input.ConstructiveStrengthLinearLoadModel.Mean.ToNaNAsNull();
+ entity.ConstructiveStrengthLinearLoadModelCoefficientOfVariation = input.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.ConstructiveStrengthQuadraticLoadModelMean = input.ConstructiveStrengthQuadraticLoadModel.Mean.ToNaNAsNull();
+ entity.ConstructiveStrengthQuadraticLoadModelCoefficientOfVariation = input.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.BankWidthMean = input.BankWidth.Mean.ToNaNAsNull();
+ entity.BankWidthStandardDeviation = input.BankWidth.StandardDeviation.ToNaNAsNull();
+
+ entity.InsideWaterLevelFailureConstructionMean = input.InsideWaterLevelFailureConstruction.Mean.ToNaNAsNull();
+ entity.InsideWaterLevelFailureConstructionStandardDeviation = input.InsideWaterLevelFailureConstruction.StandardDeviation.ToNaNAsNull();
+
+ entity.EvaluationLevel = input.EvaluationLevel.ToNaNAsNull();
+
+ entity.LevelCrestStructureMean = input.LevelCrestStructure.Mean.ToNaNAsNull();
+ entity.LevelCrestStructureStandardDeviation = input.LevelCrestStructure.StandardDeviation.ToNaNAsNull();
+
+ entity.VerticalDistance = input.VerticalDistance.ToNaNAsNull();
+
+ entity.FailureProbabilityRepairClosure = input.FailureProbabilityRepairClosure;
+
+ entity.FailureCollisionEnergyMean = input.FailureCollisionEnergy.Mean.ToNaNAsNull();
+ entity.FailureCollisionEnergyCoefficientOfVariation = input.FailureCollisionEnergy.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.ShipMassMean = input.ShipMass.Mean.ToNaNAsNull();
+ entity.ShipMassCoefficientOfVariation = input.ShipMass.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.ShipVelocityMean = input.ShipVelocity.Mean.ToNaNAsNull();
+ entity.ShipVelocityCoefficientOfVariation = input.ShipVelocity.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.LevellingCount = input.LevellingCount;
+
+ entity.ProbabilityCollisionSecondaryStructure = input.ProbabilityCollisionSecondaryStructure;
+
+ entity.FlowVelocityStructureClosableMean = input.FlowVelocityStructureClosable.Mean.ToNaNAsNull();
+
+ entity.StabilityLinearLoadModelMean = input.StabilityLinearLoadModel.Mean.ToNaNAsNull();
+ entity.StabilityLinearLoadModelCoefficientOfVariation = input.StabilityLinearLoadModel.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.StabilityQuadraticLoadModelMean = input.StabilityQuadraticLoadModel.Mean.ToNaNAsNull();
+ entity.StabilityQuadraticLoadModelCoefficientOfVariation = input.StabilityQuadraticLoadModel.CoefficientOfVariation.ToNaNAsNull();
+
+ entity.AreaFlowAperturesMean = input.AreaFlowApertures.Mean.ToNaNAsNull();
+ entity.AreaFlowAperturesStandardDeviation = input.AreaFlowApertures.StandardDeviation.ToNaNAsNull();
+
+ entity.InflowModelType = Convert.ToByte(input.InflowModelType);
+ entity.LoadSchematizationType = Convert.ToByte(input.LoadSchematizationType);
+ entity.VolumicWeightWater = input.VolumicWeightWater.ToNaNAsNull();
+ entity.FactorStormDurationOpenStructure = input.FactorStormDurationOpenStructure.ToNaNAsNull();
+ entity.DrainCoefficientMean = input.DrainCoefficient.Mean.ToNaNAsNull();
+ }
+
+ private static void SetOutputEntity(StructuresCalculation calculation,
+ StabilityPointStructuresCalculationEntity entity)
+ {
+ if (calculation.HasOutput)
+ {
+ entity.StabilityPointStructuresOutputEntities.Add(calculation
+ .Output
+ .Create());
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StructuresOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StructuresOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/StructuresOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,73 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Common.Data.Structures;
+using Ringtoets.Storage.Core.Create.IllustrationPoints;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to creating structures
+ /// calculation output entities.
+ ///
+ internal static class StructuresOutputCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The structures output to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ public static TOutputEntity Create(this StructuresOutput structuresOutput)
+ where TOutputEntity : IStructuresOutputEntity,
+ IHasGeneralResultFaultTreeIllustrationPointEntity,
+ new()
+ {
+ if (structuresOutput == null)
+ {
+ throw new ArgumentNullException(nameof(structuresOutput));
+ }
+
+ var outputEntity = new TOutputEntity
+ {
+ Reliability = structuresOutput.Reliability.ToNaNAsNull()
+ };
+
+ SetGeneralResult(structuresOutput, outputEntity);
+
+ return outputEntity;
+ }
+
+ private static void SetGeneralResult(StructuresOutput structuresOutput, IHasGeneralResultFaultTreeIllustrationPointEntity outputEntity)
+ {
+ if (structuresOutput.HasGeneralResult)
+ {
+ outputEntity.GeneralResultFaultTreeIllustrationPointEntity =
+ structuresOutput.GeneralResult
+ .CreateGeneralResultFaultTreeIllustrationPointEntity();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.TechnicalInnovation
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class TechnicalInnovationFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this TechnicalInnovationFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.TechnicalInnovations, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (TechnicalInnovationFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ TechnicalInnovationSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.TechnicalInnovationSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/TechnicalInnovation/TechnicalInnovationFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.TechnicalInnovation
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class TechnicalInnovationFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static TechnicalInnovationSectionResultEntity Create(this TechnicalInnovationFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new TechnicalInnovationSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.Integration.Data.StandAlone;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.WaterPressureAsphaltCover
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class WaterPressureAsphaltCoverFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this WaterPressureAsphaltCoverFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.WaterOverpressureAsphaltRevetment, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (WaterPressureAsphaltCoverFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ WaterPressureAsphaltCoverSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.WaterPressureAsphaltCoverSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaterPressureAsphaltCover/WaterPressureAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,58 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Integration.Data.StandAlone.SectionResults;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create.WaterPressureAsphaltCover
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class WaterPressureAsphaltCoverFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static WaterPressureAsphaltCoverSectionResultEntity Create(this WaterPressureAsphaltCoverFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ var sectionResultEntity = new WaterPressureAsphaltCoverSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+
+ return sectionResultEntity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,120 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Revetment.Data;
+using Ringtoets.Storage.Core.DbContext;
+
+namespace Ringtoets.Storage.Core.Create
+{
+ ///
+ /// Extension methods for related to
+ /// creating entities for various failure mechanisms.
+ ///
+ internal static class WaveConditionsOutputCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The calculation output for grass cover erosion outwards failure mechanism to
+ /// create a database entity for.
+ /// The position of in the list of all outputs.
+ /// A new .
+ internal static GrassCoverErosionOutwardsWaveConditionsOutputEntity CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(
+ this WaveConditionsOutput output, int order)
+ {
+ var entity = new GrassCoverErosionOutwardsWaveConditionsOutputEntity
+ {
+ Order = order,
+ WaterLevel = output.WaterLevel.ToNaNAsNull(),
+ WaveHeight = output.WaveHeight.ToNaNAsNull(),
+ WavePeakPeriod = output.WavePeakPeriod.ToNaNAsNull(),
+ WaveAngle = output.WaveAngle.ToNaNAsNull(),
+ WaveDirection = output.WaveDirection.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence)
+ };
+ return entity;
+ }
+
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The calculation output for stability stone cover failure mechanism to
+ /// create a database entity for.
+ /// The type of the .
+ /// The position of in the list of all outputs.
+ /// A new .
+ internal static StabilityStoneCoverWaveConditionsOutputEntity CreateStabilityStoneCoverWaveConditionsOutputEntity(
+ this WaveConditionsOutput output, WaveConditionsOutputType type, int order)
+ {
+ var entity = new StabilityStoneCoverWaveConditionsOutputEntity
+ {
+ Order = order,
+ WaterLevel = output.WaterLevel.ToNaNAsNull(),
+ WaveHeight = output.WaveHeight.ToNaNAsNull(),
+ WavePeakPeriod = output.WavePeakPeriod.ToNaNAsNull(),
+ WaveAngle = output.WaveAngle.ToNaNAsNull(),
+ OutputType = Convert.ToByte(type),
+ WaveDirection = output.WaveDirection.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence)
+ };
+ return entity;
+ }
+
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The calculation output for wave impact asphalt cover mechanism to
+ /// create a database entity for.
+ /// The position of in the list of all outputs.
+ /// A new .
+ internal static WaveImpactAsphaltCoverWaveConditionsOutputEntity CreateWaveImpactAsphaltCoverWaveConditionsOutputEntity(
+ this WaveConditionsOutput output, int order)
+ {
+ var entity = new WaveImpactAsphaltCoverWaveConditionsOutputEntity
+ {
+ Order = order,
+ WaterLevel = output.WaterLevel.ToNaNAsNull(),
+ WaveHeight = output.WaveHeight.ToNaNAsNull(),
+ WavePeakPeriod = output.WavePeakPeriod.ToNaNAsNull(),
+ WaveAngle = output.WaveAngle.ToNaNAsNull(),
+ WaveDirection = output.WaveDirection.ToNaNAsNull(),
+ TargetProbability = output.TargetProbability.ToNaNAsNull(),
+ TargetReliability = output.TargetReliability.ToNaNAsNull(),
+ CalculatedProbability = output.CalculatedProbability.ToNaNAsNull(),
+ CalculatedReliability = output.CalculatedReliability.ToNaNAsNull(),
+ CalculationConvergence = Convert.ToByte(output.CalculationConvergence)
+ };
+ return entity;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,92 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Ringtoets.Storage.Core.Create.WaveImpactAsphaltCover
+{
+ ///
+ /// Extension methods for related to creating a .
+ ///
+ internal static class WaveImpactAsphaltCoverFailureMechanismCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the .
+ ///
+ /// The failure mechanism to create a database entity for.
+ /// The object keeping track of create operations.
+ /// A new .
+ /// Thrown when is null.
+ internal static FailureMechanismEntity Create(this WaveImpactAsphaltCoverFailureMechanism mechanism, PersistenceRegistry registry)
+ {
+ FailureMechanismEntity entity = mechanism.Create(FailureMechanismType.WaveImpactOnAsphaltRevetment, registry);
+ AddEntitiesForSectionResults(mechanism.SectionResults, registry);
+ AddEntitiesForFailureMechanismMeta(mechanism, entity);
+ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry);
+ entity.CalculationGroupEntity = mechanism.WaveConditionsCalculationGroup.Create(registry, 0);
+
+ return entity;
+ }
+
+ private static void AddEntitiesForSectionResults(
+ IEnumerable sectionResults,
+ PersistenceRegistry registry)
+ {
+ foreach (WaveImpactAsphaltCoverFailureMechanismSectionResult failureMechanismSectionResult in sectionResults)
+ {
+ WaveImpactAsphaltCoverSectionResultEntity sectionResultEntity = failureMechanismSectionResult.Create();
+ FailureMechanismSectionEntity section = registry.Get(failureMechanismSectionResult.Section);
+ section.WaveImpactAsphaltCoverSectionResultEntities.Add(sectionResultEntity);
+ }
+ }
+
+ private static void AddEntitiesForFailureMechanismMeta(WaveImpactAsphaltCoverFailureMechanism failureMechanism,
+ FailureMechanismEntity entity)
+ {
+ var metaEntity = new WaveImpactAsphaltCoverFailureMechanismMetaEntity
+ {
+ ForeshoreProfileCollectionSourcePath = failureMechanism.ForeshoreProfiles.SourcePath.DeepClone(),
+ DeltaL = failureMechanism.GeneralWaveImpactAsphaltCoverInput.DeltaL
+ };
+
+ entity.WaveImpactAsphaltCoverFailureMechanismMetaEntities.Add(metaEntity);
+ }
+
+ private static void AddEntitiesForForeshoreProfiles(
+ IEnumerable foreshoreProfiles,
+ FailureMechanismEntity entity,
+ PersistenceRegistry registry)
+ {
+ var i = 0;
+
+ foreach (ForeshoreProfile foreshoreProfile in foreshoreProfiles)
+ {
+ ForeshoreProfileEntity foreshoreProfileEntity = foreshoreProfile.Create(registry, i++);
+ entity.ForeshoreProfileEntities.Add(foreshoreProfileEntity);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,62 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Ringtoets.Storage.Core.Create.WaveImpactAsphaltCover
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions
+ {
+ ///
+ /// Creates a based on the information
+ /// of the .
+ ///
+ /// The result to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static WaveImpactAsphaltCoverSectionResultEntity Create(this WaveImpactAsphaltCoverFailureMechanismSectionResult result)
+ {
+ if (result == null)
+ {
+ throw new ArgumentNullException(nameof(result));
+ }
+
+ return new WaveImpactAsphaltCoverSectionResultEntity
+ {
+ SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult),
+ DetailedAssessmentResultForFactorizedSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedSignalingNorm),
+ DetailedAssessmentResultForSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForSignalingNorm),
+ DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm),
+ DetailedAssessmentResultForLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForLowerLimitNorm),
+ DetailedAssessmentResultForFactorizedLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedLowerLimitNorm),
+ TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult),
+ UseManualAssembly = Convert.ToByte(result.UseManualAssembly),
+ ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup)
+ };
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverWaveConditionsCalculationCreateExtensions.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverWaveConditionsCalculationCreateExtensions.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverWaveConditionsCalculationCreateExtensions.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,113 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Util.Extensions;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Revetment.Data;
+using Ringtoets.Storage.Core.DbContext;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Ringtoets.Storage.Core.Create.WaveImpactAsphaltCover
+{
+ ///
+ /// Extension methods for related to creating a
+ /// .
+ ///
+ internal static class WaveImpactAsphaltCoverWaveConditionsCalculationCreateExtensions
+ {
+ ///
+ /// Creates a based on the information of the
+ /// .
+ ///
+ /// The calculation to create a database entity for.
+ /// The object keeping track of create operations.
+ /// The index at which resides within its parent.
+ /// A new .
+ /// Thrown when any parameter is null.
+ internal static WaveImpactAsphaltCoverWaveConditionsCalculationEntity Create(this WaveImpactAsphaltCoverWaveConditionsCalculation calculation,
+ PersistenceRegistry registry, int order)
+ {
+ if (calculation == null)
+ {
+ throw new ArgumentNullException(nameof(calculation));
+ }
+
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
+ var entity = new WaveImpactAsphaltCoverWaveConditionsCalculationEntity
+ {
+ Order = order,
+ Name = calculation.Name.DeepClone(),
+ Comments = calculation.Comments.Body.DeepClone()
+ };
+
+ SetInputParameters(entity, calculation.InputParameters, registry);
+ AddEntityForWaveImpactAsphaltCoverWaveConditionsOutput(calculation, entity);
+
+ return entity;
+ }
+
+ private static void SetInputParameters(WaveImpactAsphaltCoverWaveConditionsCalculationEntity entity,
+ AssessmentSectionCategoryWaveConditionsInput calculationInput,
+ PersistenceRegistry registry)
+ {
+ HydraulicBoundaryLocation hydraulicBoundaryLocation = calculationInput.HydraulicBoundaryLocation;
+ if (hydraulicBoundaryLocation != null)
+ {
+ entity.HydraulicLocationEntity = hydraulicBoundaryLocation.Create(registry, 0);
+ }
+
+ if (calculationInput.ForeshoreProfile != null)
+ {
+ entity.ForeshoreProfileEntity = calculationInput.ForeshoreProfile.Create(registry, 0);
+ }
+
+ entity.Orientation = calculationInput.Orientation.ToNaNAsNull();
+ entity.UseBreakWater = Convert.ToByte(calculationInput.UseBreakWater);
+ entity.BreakWaterType = Convert.ToByte(calculationInput.BreakWater.Type);
+ entity.BreakWaterHeight = calculationInput.BreakWater.Height.ToNaNAsNull();
+ entity.UseForeshore = Convert.ToByte(calculationInput.UseForeshore);
+ entity.UpperBoundaryRevetment = calculationInput.UpperBoundaryRevetment.ToNaNAsNull();
+ entity.LowerBoundaryRevetment = calculationInput.LowerBoundaryRevetment.ToNaNAsNull();
+ entity.UpperBoundaryWaterLevels = calculationInput.UpperBoundaryWaterLevels.ToNaNAsNull();
+ entity.LowerBoundaryWaterLevels = calculationInput.LowerBoundaryWaterLevels.ToNaNAsNull();
+ entity.StepSize = Convert.ToByte(calculationInput.StepSize);
+ entity.CategoryType = Convert.ToByte(calculationInput.CategoryType);
+ }
+
+ private static void AddEntityForWaveImpactAsphaltCoverWaveConditionsOutput(WaveImpactAsphaltCoverWaveConditionsCalculation calculation,
+ WaveImpactAsphaltCoverWaveConditionsCalculationEntity entity)
+ {
+ if (calculation.HasOutput)
+ {
+ var i = 0;
+ foreach (WaveConditionsOutput waveConditionsOutput in calculation.Output.Items)
+ {
+ entity.WaveImpactAsphaltCoverWaveConditionsOutputEntities.Add(waveConditionsOutput.CreateWaveImpactAsphaltCoverWaveConditionsOutputEntity(i++));
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/AssessmentSectionEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/AssessmentSectionEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/AssessmentSectionEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,89 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class AssessmentSectionEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public AssessmentSectionEntity()
+ {
+ BackgroundDataEntities = new HashSet();
+ FailureMechanismEntities = new HashSet();
+ HydraulicBoundaryDatabaseEntities = new HashSet();
+ HydraulicLocationEntities = new HashSet();
+ }
+
+ public long AssessmentSectionEntityId { get; set; }
+ public long ProjectEntityId { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity1Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity2Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity3Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity4Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity5Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity6Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity7Id { get; set; }
+ public long HydraulicLocationCalculationCollectionEntity8Id { get; set; }
+ public string Id { get; set; }
+ public string Name { get; set; }
+ public string Comments { get; set; }
+ public double LowerLimitNorm { get; set; }
+ public double SignalingNorm { get; set; }
+ public byte NormativeNormType { get; set; }
+ public byte Composition { get; set; }
+ public string ReferenceLinePointXml { get; set; }
+ public int Order { get; set; }
+
+ public virtual ProjectEntity ProjectEntity { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity1 { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity2 { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity3 { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity4 { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity5 { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity6 { get; set; }
+ public virtual HydraulicLocationCalculationCollectionEntity HydraulicLocationCalculationCollectionEntity7 { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection BackgroundDataEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection FailureMechanismEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection HydraulicBoundaryDatabaseEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection HydraulicLocationEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/BackgroundDataEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/BackgroundDataEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/BackgroundDataEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,56 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class BackgroundDataEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public BackgroundDataEntity()
+ {
+ BackgroundDataMetaEntities = new HashSet();
+ }
+
+ public long BackgroundDataEntityId { get; set; }
+ public long AssessmentSectionEntityId { get; set; }
+ public string Name { get; set; }
+ public byte IsVisible { get; set; }
+ public double Transparency { get; set; }
+ public byte BackgroundDataType { get; set; }
+
+ public virtual AssessmentSectionEntity AssessmentSectionEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection BackgroundDataMetaEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/BackgroundDataMetaEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/BackgroundDataMetaEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/BackgroundDataMetaEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,42 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class BackgroundDataMetaEntity
+ {
+ public long BackgroundDataMetaEntityId { get; set; }
+ public long BackgroundDataEntityId { get; set; }
+ public string Key { get; set; }
+ public string Value { get; set; }
+
+ public virtual BackgroundDataEntity BackgroundDataEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/CalculationGroupEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/CalculationGroupEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/CalculationGroupEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,94 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class CalculationGroupEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public CalculationGroupEntity()
+ {
+ CalculationGroupEntity1 = new HashSet();
+ ClosingStructuresCalculationEntities = new HashSet();
+ FailureMechanismEntities = new HashSet();
+ GrassCoverErosionInwardsCalculationEntities = new HashSet();
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntities = new HashSet();
+ HeightStructuresCalculationEntities = new HashSet();
+ MacroStabilityInwardsCalculationEntities = new HashSet();
+ PipingCalculationEntities = new HashSet();
+ StabilityPointStructuresCalculationEntities = new HashSet();
+ StabilityStoneCoverWaveConditionsCalculationEntities = new HashSet();
+ WaveImpactAsphaltCoverWaveConditionsCalculationEntities = new HashSet();
+ }
+
+ public long CalculationGroupEntityId { get; set; }
+ public long? ParentCalculationGroupEntityId { get; set; }
+ public string Name { get; set; }
+ public int Order { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection CalculationGroupEntity1 { get; set; }
+
+ public virtual CalculationGroupEntity CalculationGroupEntity2 { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructuresCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection FailureMechanismEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionInwardsCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionOutwardsWaveConditionsCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection HeightStructuresCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection MacroStabilityInwardsCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection PipingCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityPointStructuresCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityStoneCoverWaveConditionsCalculationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection WaveImpactAsphaltCoverWaveConditionsCalculationEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructureEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructureEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructureEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,81 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class ClosingStructureEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public ClosingStructureEntity()
+ {
+ ClosingStructuresCalculationEntities = new HashSet();
+ }
+
+ public long ClosingStructureEntityId { get; set; }
+ public long FailureMechanismEntityId { get; set; }
+ public int Order { get; set; }
+ public string Name { get; set; }
+ public string Id { get; set; }
+ public double? X { get; set; }
+ public double? Y { get; set; }
+ public double? StructureNormalOrientation { get; set; }
+ public double? StorageStructureAreaMean { get; set; }
+ public double? StorageStructureAreaCoefficientOfVariation { get; set; }
+ public double? AllowedLevelIncreaseStorageMean { get; set; }
+ public double? AllowedLevelIncreaseStorageStandardDeviation { get; set; }
+ public double? WidthFlowAperturesMean { get; set; }
+ public double? WidthFlowAperturesStandardDeviation { get; set; }
+ public double? LevelCrestStructureNotClosingMean { get; set; }
+ public double? LevelCrestStructureNotClosingStandardDeviation { get; set; }
+ public double? InsideWaterLevelMean { get; set; }
+ public double? InsideWaterLevelStandardDeviation { get; set; }
+ public double? ThresholdHeightOpenWeirMean { get; set; }
+ public double? ThresholdHeightOpenWeirStandardDeviation { get; set; }
+ public double? AreaFlowAperturesMean { get; set; }
+ public double? AreaFlowAperturesStandardDeviation { get; set; }
+ public double? CriticalOvertoppingDischargeMean { get; set; }
+ public double? CriticalOvertoppingDischargeCoefficientOfVariation { get; set; }
+ public double? FlowWidthAtBottomProtectionMean { get; set; }
+ public double? FlowWidthAtBottomProtectionStandardDeviation { get; set; }
+ public double? ProbabilityOpenStructureBeforeFlooding { get; set; }
+ public double? FailureProbabilityOpenStructure { get; set; }
+ public int IdenticalApertures { get; set; }
+ public double? FailureProbabilityReparation { get; set; }
+ public byte InflowModelType { get; set; }
+
+ public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructuresCalculationEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresCalculationEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresCalculationEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresCalculationEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,102 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public partial class ClosingStructuresCalculationEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public ClosingStructuresCalculationEntity()
+ {
+ ClosingStructuresOutputEntities = new HashSet();
+ ClosingStructuresSectionResultEntities = new HashSet();
+ }
+
+ public long ClosingStructuresCalculationEntityId { get; set; }
+ public long CalculationGroupEntityId { get; set; }
+ public long? ForeshoreProfileEntityId { get; set; }
+ public long? HydraulicLocationEntityId { get; set; }
+ public long? ClosingStructureEntityId { get; set; }
+ public int Order { get; set; }
+ public string Name { get; set; }
+ public string Comments { get; set; }
+ public double? Orientation { get; set; }
+ public double? LevelCrestStructureNotClosingMean { get; set; }
+ public double? LevelCrestStructureNotClosingStandardDeviation { get; set; }
+ public double? InsideWaterLevelMean { get; set; }
+ public double? InsideWaterLevelStandardDeviation { get; set; }
+ public double? ThresholdHeightOpenWeirMean { get; set; }
+ public double? ThresholdHeightOpenWeirStandardDeviation { get; set; }
+ public double? AreaFlowAperturesMean { get; set; }
+ public double? AreaFlowAperturesStandardDeviation { get; set; }
+ public double ProbabilityOpenStructureBeforeFlooding { get; set; }
+ public double FailureProbabilityOpenStructure { get; set; }
+ public int IdenticalApertures { get; set; }
+ public double FailureProbabilityReparation { get; set; }
+ public byte InflowModelType { get; set; }
+ public double? DeviationWaveDirection { get; set; }
+ public double? DrainCoefficientMean { get; set; }
+ public double? ModelFactorSuperCriticalFlowMean { get; set; }
+ public double? FactorStormDurationOpenStructure { get; set; }
+
+ public virtual CalculationGroupEntity CalculationGroupEntity { get; set; }
+ public virtual ClosingStructureEntity ClosingStructureEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructuresOutputEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructuresSectionResultEntities { get; set; }
+
+ public byte UseBreakWater { get; set; }
+ public byte BreakWaterType { get; set; }
+ public double? BreakWaterHeight { get; set; }
+ public byte UseForeshore { get; set; }
+ public double? StructureNormalOrientation { get; set; }
+ public double? StorageStructureAreaMean { get; set; }
+ public double? StorageStructureAreaCoefficientOfVariation { get; set; }
+ public double? AllowedLevelIncreaseStorageMean { get; set; }
+ public double? AllowedLevelIncreaseStorageStandardDeviation { get; set; }
+ public double? WidthFlowAperturesMean { get; set; }
+ public double? WidthFlowAperturesStandardDeviation { get; set; }
+ public double? CriticalOvertoppingDischargeMean { get; set; }
+ public double? CriticalOvertoppingDischargeCoefficientOfVariation { get; set; }
+ public double? FlowWidthAtBottomProtectionMean { get; set; }
+ public double? FlowWidthAtBottomProtectionStandardDeviation { get; set; }
+ public double FailureProbabilityStructureWithErosion { get; set; }
+ public double? StormDurationMean { get; set; }
+ public byte ShouldIllustrationPointsBeCalculated { get; set; }
+ public virtual HydraulicLocationEntity HydraulicLocationEntity { get; set; }
+ public virtual ForeshoreProfileEntity ForeshoreProfileEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresFailureMechanismMetaEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresFailureMechanismMetaEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresFailureMechanismMetaEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class ClosingStructuresFailureMechanismMetaEntity
+ {
+ public long ClosingStructuresFailureMechanismMetaEntityId { get; set; }
+ public long FailureMechanismEntityId { get; set; }
+ public int N2A { get; set; }
+ public string ClosingStructureCollectionSourcePath { get; set; }
+ public string ForeshoreProfileCollectionSourcePath { get; set; }
+
+ public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresOutputEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresOutputEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresOutputEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,43 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public partial class ClosingStructuresOutputEntity
+ {
+ public long ClosingStructuresOutputEntityId { get; set; }
+ public long ClosingStructuresCalculationEntityId { get; set; }
+ public long? GeneralResultFaultTreeIllustrationPointEntityId { get; set; }
+
+ public virtual ClosingStructuresCalculationEntity ClosingStructuresCalculationEntity { get; set; }
+ public virtual GeneralResultFaultTreeIllustrationPointEntity GeneralResultFaultTreeIllustrationPointEntity { get; set; }
+ public double? Reliability { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresSectionResultEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresSectionResultEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/ClosingStructuresSectionResultEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,48 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class ClosingStructuresSectionResultEntity
+ {
+ public long ClosingStructuresSectionResultEntityId { get; set; }
+ public long FailureMechanismSectionEntityId { get; set; }
+ public long? ClosingStructuresCalculationEntityId { get; set; }
+ public byte SimpleAssessmentResult { get; set; }
+ public byte DetailedAssessmentResult { get; set; }
+ public byte TailorMadeAssessmentResult { get; set; }
+ public double? TailorMadeAssessmentProbability { get; set; }
+ public byte UseManualAssembly { get; set; }
+ public double? ManualAssemblyProbability { get; set; }
+
+ public virtual ClosingStructuresCalculationEntity ClosingStructuresCalculationEntity { get; set; }
+ public virtual FailureMechanismSectionEntity FailureMechanismSectionEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DikeProfileEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DikeProfileEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DikeProfileEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,64 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DikeProfileEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public DikeProfileEntity()
+ {
+ GrassCoverErosionInwardsCalculationEntities = new HashSet();
+ }
+
+ public long DikeProfileEntityId { get; set; }
+ public long FailureMechanismEntityId { get; set; }
+ public string Id { get; set; }
+ public string Name { get; set; }
+ public double? Orientation { get; set; }
+ public byte? BreakWaterType { get; set; }
+ public double? BreakWaterHeight { get; set; }
+ public string ForeshoreXml { get; set; }
+ public string DikeGeometryXml { get; set; }
+ public double? DikeHeight { get; set; }
+ public double? X { get; set; }
+ public double? Y { get; set; }
+ public double? X0 { get; set; }
+ public int Order { get; set; }
+
+ public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionInwardsCalculationEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneErosionFailureMechanismMetaEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneErosionFailureMechanismMetaEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneErosionFailureMechanismMetaEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,51 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DuneErosionFailureMechanismMetaEntity
+ {
+ public long DuneErosionFailureMechanismMetaEntityId { get; set; }
+ public long FailureMechanismEntityId { get; set; }
+ public long DuneLocationCalculationCollectionEntity1Id { get; set; }
+ public long DuneLocationCalculationCollectionEntity2Id { get; set; }
+ public long DuneLocationCalculationCollectionEntity3Id { get; set; }
+ public long DuneLocationCalculationCollectionEntity4Id { get; set; }
+ public long DuneLocationCalculationCollectionEntity5Id { get; set; }
+ public double N { get; set; }
+
+ public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
+ public virtual DuneLocationCalculationCollectionEntity DuneLocationCalculationCollectionEntity { get; set; }
+ public virtual DuneLocationCalculationCollectionEntity DuneLocationCalculationCollectionEntity1 { get; set; }
+ public virtual DuneLocationCalculationCollectionEntity DuneLocationCalculationCollectionEntity2 { get; set; }
+ public virtual DuneLocationCalculationCollectionEntity DuneLocationCalculationCollectionEntity3 { get; set; }
+ public virtual DuneLocationCalculationCollectionEntity DuneLocationCalculationCollectionEntity4 { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneErosionSectionResultEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneErosionSectionResultEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneErosionSectionResultEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,49 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DuneErosionSectionResultEntity
+ {
+ public long DuneErosionSectionResultEntityId { get; set; }
+ public long FailureMechanismSectionEntityId { get; set; }
+ public byte SimpleAssessmentResult { get; set; }
+ public byte DetailedAssessmentResultForFactorizedSignalingNorm { get; set; }
+ public byte DetailedAssessmentResultForSignalingNorm { get; set; }
+ public byte DetailedAssessmentResultForMechanismSpecificLowerLimitNorm { get; set; }
+ public byte DetailedAssessmentResultForLowerLimitNorm { get; set; }
+ public byte DetailedAssessmentResultForFactorizedLowerLimitNorm { get; set; }
+ public byte TailorMadeAssessmentResult { get; set; }
+ public byte UseManualAssembly { get; set; }
+ public byte ManualAssemblyCategoryGroup { get; set; }
+
+ public virtual FailureMechanismSectionEntity FailureMechanismSectionEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationCollectionEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationCollectionEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationCollectionEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,69 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DuneLocationCalculationCollectionEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public DuneLocationCalculationCollectionEntity()
+ {
+ DuneErosionFailureMechanismMetaEntities = new HashSet();
+ DuneErosionFailureMechanismMetaEntities1 = new HashSet();
+ DuneErosionFailureMechanismMetaEntities2 = new HashSet();
+ DuneErosionFailureMechanismMetaEntities3 = new HashSet();
+ DuneErosionFailureMechanismMetaEntities4 = new HashSet();
+ DuneLocationCalculationEntities = new HashSet();
+ }
+
+ public long DuneLocationCalculationCollectionEntityId { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionFailureMechanismMetaEntities1 { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionFailureMechanismMetaEntities2 { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionFailureMechanismMetaEntities3 { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionFailureMechanismMetaEntities4 { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneLocationCalculationEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,54 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DuneLocationCalculationEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public DuneLocationCalculationEntity()
+ {
+ DuneLocationCalculationOutputEntities = new HashSet();
+ }
+
+ public long DuneLocationCalculationEntityId { get; set; }
+ public long? DuneLocationEntityId { get; set; }
+ public long? DuneLocationCalculationCollectionEntityId { get; set; }
+
+ public virtual DuneLocationCalculationCollectionEntity DuneLocationCalculationCollectionEntity { get; set; }
+ public virtual DuneLocationEntity DuneLocationEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneLocationCalculationOutputEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationOutputEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationOutputEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationCalculationOutputEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,48 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DuneLocationCalculationOutputEntity
+ {
+ public long DuneLocationCalculationOutputEntityId { get; set; }
+ public long DuneLocationCalculationEntityId { get; set; }
+ public double? WaterLevel { get; set; }
+ public double? WaveHeight { get; set; }
+ public double? WavePeriod { get; set; }
+ public double? TargetProbability { get; set; }
+ public double? TargetReliability { get; set; }
+ public double? CalculatedProbability { get; set; }
+ public double? CalculatedReliability { get; set; }
+ public byte CalculationConvergence { get; set; }
+
+ public virtual DuneLocationCalculationEntity DuneLocationCalculationEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/DuneLocationEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,61 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class DuneLocationEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public DuneLocationEntity()
+ {
+ DuneLocationCalculationEntities = new HashSet();
+ }
+
+ public long DuneLocationEntityId { get; set; }
+ public long FailureMechanismEntityId { get; set; }
+ public long LocationId { get; set; }
+ public string Name { get; set; }
+ public double? LocationX { get; set; }
+ public double? LocationY { get; set; }
+ public int CoastalAreaId { get; set; }
+ public double? Offset { get; set; }
+ public double? Orientation { get; set; }
+ public double? D50 { get; set; }
+ public int Order { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneLocationCalculationEntities { get; set; }
+
+ public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/FailureMechanismEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/FailureMechanismEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/FailureMechanismEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,140 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class FailureMechanismEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public FailureMechanismEntity()
+ {
+ ClosingStructureEntities = new HashSet();
+ ClosingStructuresFailureMechanismMetaEntities = new HashSet();
+ DikeProfileEntities = new HashSet();
+ DuneErosionFailureMechanismMetaEntities = new HashSet();
+ DuneLocationEntities = new HashSet();
+ FailureMechanismSectionEntities = new HashSet();
+ ForeshoreProfileEntities = new HashSet();
+ GrassCoverErosionInwardsFailureMechanismMetaEntities = new HashSet();
+ GrassCoverErosionOutwardsFailureMechanismMetaEntities = new HashSet();
+ HeightStructureEntities = new HashSet();
+ HeightStructuresFailureMechanismMetaEntities = new HashSet();
+ MacroStabilityInwardsFailureMechanismMetaEntities = new HashSet();
+ MacroStabilityOutwardsFailureMechanismMetaEntities = new HashSet();
+ PipingFailureMechanismMetaEntities = new HashSet();
+ PipingStructureFailureMechanismMetaEntities = new HashSet();
+ StabilityPointStructureEntities = new HashSet();
+ StabilityPointStructuresFailureMechanismMetaEntities = new HashSet();
+ StabilityStoneCoverFailureMechanismMetaEntities = new HashSet();
+ StochasticSoilModelEntities = new HashSet();
+ SurfaceLineEntities = new HashSet();
+ WaveImpactAsphaltCoverFailureMechanismMetaEntities = new HashSet();
+ }
+
+ public long FailureMechanismEntityId { get; set; }
+ public long AssessmentSectionEntityId { get; set; }
+ public long? CalculationGroupEntityId { get; set; }
+ public short FailureMechanismType { get; set; }
+ public byte IsRelevant { get; set; }
+ public string FailureMechanismSectionCollectionSourcePath { get; set; }
+ public string InputComments { get; set; }
+ public string OutputComments { get; set; }
+ public string NotRelevantComments { get; set; }
+
+ public virtual AssessmentSectionEntity AssessmentSectionEntity { get; set; }
+ public virtual CalculationGroupEntity CalculationGroupEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructureEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructuresFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DikeProfileEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneLocationEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection FailureMechanismSectionEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ForeshoreProfileEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionInwardsFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionOutwardsFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection HeightStructureEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection HeightStructuresFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection MacroStabilityInwardsFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection MacroStabilityOutwardsFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection PipingFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection PipingStructureFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityPointStructureEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityPointStructuresFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityStoneCoverFailureMechanismMetaEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StochasticSoilModelEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection SurfaceLineEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection WaveImpactAsphaltCoverFailureMechanismMetaEntities { get; set; }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/FailureMechanismSectionEntity.cs
===================================================================
diff -u
--- Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/FailureMechanismSectionEntity.cs (revision 0)
+++ Ringtoets/Storage/src/Riskeer.Storage.Core/DbContext/FailureMechanismSectionEntity.cs (revision 5f61c64020ac01999b88a49cc70eafba7134e450)
@@ -0,0 +1,122 @@
+// Copyright (C) Stichting Deltares 2018. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Ringtoets.Storage.Core.DbContext
+{
+ public class FailureMechanismSectionEntity
+ {
+ [SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public FailureMechanismSectionEntity()
+ {
+ ClosingStructuresSectionResultEntities = new HashSet();
+ DuneErosionSectionResultEntities = new HashSet();
+ GrassCoverErosionInwardsSectionResultEntities = new HashSet();
+ GrassCoverErosionOutwardsSectionResultEntities = new HashSet();
+ GrassCoverSlipOffInwardsSectionResultEntities = new HashSet();
+ GrassCoverSlipOffOutwardsSectionResultEntities = new HashSet();
+ HeightStructuresSectionResultEntities = new HashSet();
+ MacroStabilityInwardsSectionResultEntities = new HashSet();
+ MacroStabilityOutwardsSectionResultEntities = new HashSet();
+ MicrostabilitySectionResultEntities = new HashSet();
+ PipingSectionResultEntities = new HashSet();
+ PipingStructureSectionResultEntities = new HashSet();
+ StabilityPointStructuresSectionResultEntities = new HashSet();
+ StabilityStoneCoverSectionResultEntities = new HashSet();
+ StrengthStabilityLengthwiseConstructionSectionResultEntities = new HashSet();
+ TechnicalInnovationSectionResultEntities = new HashSet();
+ WaterPressureAsphaltCoverSectionResultEntities = new HashSet();
+ WaveImpactAsphaltCoverSectionResultEntities = new HashSet();
+ }
+
+ public long FailureMechanismSectionEntityId { get; set; }
+ public long FailureMechanismEntityId { get; set; }
+ public string Name { get; set; }
+ public string FailureMechanismSectionPointXml { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection ClosingStructuresSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection DuneErosionSectionResultEntities { get; set; }
+
+ public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionInwardsSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverErosionOutwardsSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverSlipOffInwardsSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection GrassCoverSlipOffOutwardsSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection HeightStructuresSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection MacroStabilityInwardsSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection MacroStabilityOutwardsSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection MicrostabilitySectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection PipingSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection PipingStructureSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityPointStructuresSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StabilityStoneCoverSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection StrengthStabilityLengthwiseConstructionSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection TechnicalInnovationSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection WaterPressureAsphaltCoverSectionResultEntities { get; set; }
+
+ [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection