Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs
===================================================================
diff -u -r5cc8a49cc445a67f425ced8216c772b9170ea517 -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs) (revision 5cc8a49cc445a67f425ced8216c772b9170ea517)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -23,6 +23,7 @@
using Application.Ringtoets.Storage.DbContext;
using Ringtoets.GrassCoverErosionOutwards.Data;
using Ringtoets.HydraRing.Data;
+using Ringtoets.Revetment.Data;
namespace Application.Ringtoets.Storage.Create.GrassCoverErosionOutwards
{
@@ -41,8 +42,8 @@
/// The index at which resides within its parent.
/// A new .
/// Thrown when is null.
- internal static GrassCoverErosionOutwardsWaveConditionsCalculationEntity Create(this GrassCoverErosionOutwardsWaveConditionsCalculation calculation,
- PersistenceRegistry registry, int order)
+ internal static GrassCoverErosionOutwardsWaveConditionsCalculationEntity Create(this GrassCoverErosionOutwardsWaveConditionsCalculation calculation,
+ PersistenceRegistry registry, int order)
{
if (registry == null)
{
@@ -56,7 +57,7 @@
Comments = calculation.Comments.DeepClone(),
Orientation = calculation.InputParameters.Orientation,
UseBreakWater = Convert.ToByte(calculation.InputParameters.UseBreakWater),
- BreakWaterType = (byte)calculation.InputParameters.BreakWater.Type,
+ BreakWaterType = (byte) calculation.InputParameters.BreakWater.Type,
BreakWaterHeight = calculation.InputParameters.BreakWater.Height,
UseForeshore = Convert.ToByte(calculation.InputParameters.UseForeshore),
UpperBoundaryRevetment = calculation.InputParameters.UpperBoundaryRevetment,
@@ -75,7 +76,23 @@
{
entity.ForeshoreProfileEntity = calculation.InputParameters.ForeshoreProfile.Create(registry, 0);
}
+
+ if (calculation.HasOutput)
+ {
+ AddEntityForStabilityStoneCoverWaveConditionsOutput(calculation.Output, registry, entity);
+ }
+
return entity;
}
+
+ private static void AddEntityForStabilityStoneCoverWaveConditionsOutput(GrassCoverErosionOutwardsWaveConditionsOutput outputs,
+ PersistenceRegistry registry,
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity)
+ {
+ foreach (WaveConditionsOutput output in outputs.Items)
+ {
+ entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Add(output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(registry));
+ }
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs
===================================================================
diff -u -rcd386b0b37f478679e5d5566276150e30b4118de -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs (.../StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs) (revision cd386b0b37f478679e5d5566276150e30b4118de)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs (.../StabilityStoneCoverWaveConditionsCalculationCreateExtensions.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -88,11 +88,13 @@
{
foreach (var output in stabilityStoneCoverWaveConditionsOutputs.BlocksOutput)
{
- entity.StabilityStoneCoverWaveConditionsOutputEntities.Add(output.CreateStabilityStoneCoverWaveConditionsOutput(WaveConditionsOutputType.Blocks, registry));
+ entity.StabilityStoneCoverWaveConditionsOutputEntities.Add(
+ output.CreateStabilityStoneCoverWaveConditionsOutputEntity(WaveConditionsOutputType.Blocks, registry));
}
foreach (var output in stabilityStoneCoverWaveConditionsOutputs.ColumnsOutput)
{
- entity.StabilityStoneCoverWaveConditionsOutputEntities.Add(output.CreateStabilityStoneCoverWaveConditionsOutput(WaveConditionsOutputType.Columns, registry));
+ entity.StabilityStoneCoverWaveConditionsOutputEntities.Add(
+ output.CreateStabilityStoneCoverWaveConditionsOutputEntity(WaveConditionsOutputType.Columns, registry));
}
}
}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/WaveConditionsOutputCreateExtensions.cs
===================================================================
diff -u -rb0f517aa5c87ef9036f146a5181a88508b135c23 -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/WaveConditionsOutputCreateExtensions.cs (.../WaveConditionsOutputCreateExtensions.cs) (revision b0f517aa5c87ef9036f146a5181a88508b135c23)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/WaveConditionsOutputCreateExtensions.cs (.../WaveConditionsOutputCreateExtensions.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -41,7 +41,7 @@
/// The object keeping track of create operations.
/// A new .
/// Thrown when is null.
- internal static GrassCoverErosionOutwardsWaveConditionsOutputEntity CreateGrassCoverErosionOutwardsWaveConditionsOutput(
+ internal static GrassCoverErosionOutwardsWaveConditionsOutputEntity CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(
this WaveConditionsOutput output, PersistenceRegistry registry)
{
if (registry == null)
@@ -68,7 +68,7 @@
/// The object keeping track of create operations.
/// A new .
/// Thrown when is null.
- internal static StabilityStoneCoverWaveConditionsOutputEntity CreateStabilityStoneCoverWaveConditionsOutput(
+ internal static StabilityStoneCoverWaveConditionsOutputEntity CreateStabilityStoneCoverWaveConditionsOutputEntity(
this WaveConditionsOutput output, WaveConditionsOutputType type, PersistenceRegistry registry)
{
if (registry == null)
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensions.cs
===================================================================
diff -u -rcd386b0b37f478679e5d5566276150e30b4118de -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensions.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensions.cs) (revision cd386b0b37f478679e5d5566276150e30b4118de)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensions.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensions.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Linq;
using Application.Ringtoets.Storage.DbContext;
using Core.Common.Base.Data;
using Ringtoets.Common.Data.DikeProfiles;
@@ -75,9 +76,23 @@
}
};
+ ReadCalculationOutputs(entity, calculation);
+
return calculation;
}
+ private static void ReadCalculationOutputs(GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity,
+ GrassCoverErosionOutwardsWaveConditionsCalculation calculation)
+ {
+ if (!entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Any())
+ {
+ return;
+ }
+
+ var waveConditionsOutputs = entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Select(e => e.Read()).ToList();
+ calculation.Output = new GrassCoverErosionOutwardsWaveConditionsOutput(waveConditionsOutputs);
+ }
+
private static ForeshoreProfile GetDikeProfileValue(ForeshoreProfileEntity foreshoreProfileEntity, ReadConversionCollector collector)
{
if (foreshoreProfileEntity != null)
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs
===================================================================
diff -u -r5cc8a49cc445a67f425ced8216c772b9170ea517 -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs) (revision 5cc8a49cc445a67f425ced8216c772b9170ea517)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -125,6 +125,7 @@
Assert.AreEqual(order, entity.Order);
Assert.AreEqual(0, entity.GrassCoverErosionOutwardsWaveConditionsCalculationEntityId);
Assert.IsNull(entity.CalculationGroupEntity);
+ Assert.AreEqual(0, entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Count);
Assert.IsNull(entity.ForeshoreProfileEntity);
Assert.IsNull(entity.GrassCoverErosionOutwardsHydraulicLocationEntity);
}
@@ -203,5 +204,25 @@
// Assert
Assert.IsNotNull(entity.ForeshoreProfileEntity);
}
+
+ [Test]
+ public void Create_HasCalculationOutput_EntityHasCalculationOutputEntity()
+ {
+ // Setup
+ var registry = new PersistenceRegistry();
+ var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation
+ {
+ Output = new GrassCoverErosionOutwardsWaveConditionsOutput(new[]
+ {
+ new WaveConditionsOutput(1, 2, 3, 4)
+ })
+ };
+
+ // Call
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity = calculation.Create(registry, 0);
+
+ // Assert
+ Assert.AreEqual(1, entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Count);
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs
===================================================================
diff -u -rb0f517aa5c87ef9036f146a5181a88508b135c23 -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs) (revision b0f517aa5c87ef9036f146a5181a88508b135c23)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -38,7 +38,7 @@
var output = new WaveConditionsOutput(1.1, 2.2, 3.3, 4.4);
// Call
- TestDelegate call = () => output.CreateGrassCoverErosionOutwardsWaveConditionsOutput(null);
+ TestDelegate call = () => output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(null);
// Assert
string paramName = Assert.Throws(call).ParamName;
@@ -54,7 +54,7 @@
var registry = new PersistenceRegistry();
// Call
- GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutput(registry);
+ GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(registry);
// Assert
Assert.AreEqual(output.WaterLevel, entity.WaterLevel, output.WaterLevel.GetAccuracy());
@@ -74,7 +74,7 @@
var registry = new PersistenceRegistry();
// Call
- GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutput(registry);
+ GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(registry);
// Assert
Assert.IsNull(entity.WaterLevel);
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsOutputCreateExtensionsTest.cs
===================================================================
diff -u -rb0f517aa5c87ef9036f146a5181a88508b135c23 -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsOutputCreateExtensionsTest.cs (.../StabilityStoneCoverWaveConditionsOutputCreateExtensionsTest.cs) (revision b0f517aa5c87ef9036f146a5181a88508b135c23)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsOutputCreateExtensionsTest.cs (.../StabilityStoneCoverWaveConditionsOutputCreateExtensionsTest.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -38,7 +38,7 @@
var output = new WaveConditionsOutput(1.1, 2.2, 3.3, 4.4);
// Call
- TestDelegate call = () => output.CreateStabilityStoneCoverWaveConditionsOutput(WaveConditionsOutputType.Columns, null);
+ TestDelegate call = () => output.CreateStabilityStoneCoverWaveConditionsOutputEntity(WaveConditionsOutputType.Columns, null);
// Assert
string paramName = Assert.Throws(call).ParamName;
@@ -56,7 +56,7 @@
var registry = new PersistenceRegistry();
// Call
- StabilityStoneCoverWaveConditionsOutputEntity entity = output.CreateStabilityStoneCoverWaveConditionsOutput(outputType, registry);
+ StabilityStoneCoverWaveConditionsOutputEntity entity = output.CreateStabilityStoneCoverWaveConditionsOutputEntity(outputType, registry);
// Assert
Assert.AreEqual(output.WaterLevel, entity.WaterLevel, output.WaterLevel.GetAccuracy());
@@ -80,7 +80,7 @@
var registry = new PersistenceRegistry();
// Call
- StabilityStoneCoverWaveConditionsOutputEntity entity = output.CreateStabilityStoneCoverWaveConditionsOutput(outputType, registry);
+ StabilityStoneCoverWaveConditionsOutputEntity entity = output.CreateStabilityStoneCoverWaveConditionsOutputEntity(outputType, registry);
// Assert
Assert.IsNull(entity.WaterLevel);
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensionsTest.cs
===================================================================
diff -u -rcd386b0b37f478679e5d5566276150e30b4118de -r3d99e0cb89356292c191806d05763b8e2d869d34
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensionsTest.cs) (revision cd386b0b37f478679e5d5566276150e30b4118de)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationEntityReadExtensionsTest.cs) (revision 3d99e0cb89356292c191806d05763b8e2d869d34)
@@ -253,6 +253,27 @@
Assert.IsTrue(collector.Contains(hydraulicLocationEntity));
}
+ [Test]
+ public void Read_EntityWithCalculationOutputEntity_CalculationWithOutput()
+ {
+ // Setup
+ var entity = new GrassCoverErosionOutwardsWaveConditionsCalculationEntity
+ {
+ GrassCoverErosionOutwardsWaveConditionsOutputEntities =
+ {
+ new GrassCoverErosionOutwardsWaveConditionsOutputEntity()
+ }
+ };
+
+ var collector = new ReadConversionCollector();
+
+ // Call
+ GrassCoverErosionOutwardsWaveConditionsCalculation calculation = entity.Read(collector);
+
+ // Assert
+ Assert.IsNotNull(calculation.Output);
+ }
+
private static void AssertRoundedDouble(double expectedValue, RoundedDouble actualValue)
{
Assert.AreEqual(expectedValue, actualValue, actualValue.GetAccuracy());