Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/AssessmentSectionCreateExtensions.cs
===================================================================
diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -r6d0d122d4f56b79e5c0157702d85463588496b41
--- Riskeer/Storage/src/Riskeer.Storage.Core/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea)
+++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 6d0d122d4f56b79e5c0157702d85463588496b41)
@@ -121,13 +121,7 @@
{
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));
- }
+ entity.HydraulicBoundaryDatabaseEntities.Add(hydraulicBoundaryDatabase.Create(registry));
}
}
Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs
===================================================================
diff -u -r4cb9b5c812d68586b26b39b4c973e635dd2aa1c8 -r6d0d122d4f56b79e5c0157702d85463588496b41
--- Riskeer/Storage/src/Riskeer.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs (.../HydraulicLocationConfigurationSettingsCreateExtensions.cs) (revision 4cb9b5c812d68586b26b39b4c973e635dd2aa1c8)
+++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/HydraulicLocationConfigurationSettingsCreateExtensions.cs (.../HydraulicLocationConfigurationSettingsCreateExtensions.cs) (revision 6d0d122d4f56b79e5c0157702d85463588496b41)
@@ -38,18 +38,24 @@
///
/// The to create a
/// for.
+ /// The object keeping track of create operations.
/// A new .
- /// Thrown when
+ /// Thrown when any parameter
/// is null.
- internal static HydraulicBoundaryDatabaseEntity Create(this HydraulicBoundaryDatabase hydraulicBoundaryDatabase)
+ internal static HydraulicBoundaryDatabaseEntity Create(this HydraulicBoundaryDatabase hydraulicBoundaryDatabase, PersistenceRegistry registry)
{
if (hydraulicBoundaryDatabase == null)
{
throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
}
+ if (registry == null)
+ {
+ throw new ArgumentNullException(nameof(registry));
+ }
+
HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings;
- return new HydraulicBoundaryDatabaseEntity
+ var databaseEntity = new HydraulicBoundaryDatabaseEntity
{
FilePath = hydraulicBoundaryDatabase.FilePath.DeepClone(),
Version = hydraulicBoundaryDatabase.Version.DeepClone(),
@@ -65,6 +71,19 @@
HydraulicLocationConfigurationSettingsWindSpeed = settings.WindSpeed.DeepClone(),
HydraulicLocationConfigurationSettingsComment = settings.Comment.DeepClone()
};
+
+ CreateLocations(hydraulicBoundaryDatabase, registry, databaseEntity);
+
+ return databaseEntity;
}
+
+ private static void CreateLocations(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, PersistenceRegistry registry, HydraulicBoundaryDatabaseEntity entity)
+ {
+ for (var i = 0; i < hydraulicBoundaryDatabase.Locations.Count; i++)
+ {
+ HydraulicBoundaryLocation hydraulicBoundaryLocation = hydraulicBoundaryDatabase.Locations[i];
+ entity.HydraulicLocationEntities.Add(hydraulicBoundaryLocation.Create(registry, i));
+ }
+ }
}
}
\ No newline at end of file
Index: Riskeer/Storage/src/Riskeer.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs
===================================================================
diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -r6d0d122d4f56b79e5c0157702d85463588496b41
--- Riskeer/Storage/src/Riskeer.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea)
+++ Riskeer/Storage/src/Riskeer.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 6d0d122d4f56b79e5c0157702d85463588496b41)
@@ -122,10 +122,10 @@
HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase;
hydraulicBoundaryDatabaseEntity.Read(hydraulicBoundaryDatabase);
- HydraulicBoundaryLocation[] readHydraulicBoundaryLocations = entity.HydraulicLocationEntities
- .OrderBy(hl => hl.Order)
- .Select(hle => hle.Read(collector))
- .ToArray();
+ HydraulicBoundaryLocation[] readHydraulicBoundaryLocations = hydraulicBoundaryDatabaseEntity.HydraulicLocationEntities
+ .OrderBy(hl => hl.Order)
+ .Select(hle => hle.Read(collector))
+ .ToArray();
hydraulicBoundaryDatabase.Locations.AddRange(readHydraulicBoundaryLocations);
assessmentSection.SetHydraulicBoundaryLocationCalculations(readHydraulicBoundaryLocations);
assessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(readHydraulicBoundaryLocations);
Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/AssessmentSectionCreateExtensionsTest.cs
===================================================================
diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -r6d0d122d4f56b79e5c0157702d85463588496b41
--- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea)
+++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 6d0d122d4f56b79e5c0157702d85463588496b41)
@@ -194,7 +194,6 @@
// Assert
CollectionAssert.IsEmpty(entity.HydraulicBoundaryDatabaseEntities);
- CollectionAssert.IsEmpty(entity.HydraulicLocationEntities);
AssertHydraulicLocationCalculationCollectionEntities(assessmentSection, entity);
}
@@ -233,6 +232,9 @@
Assert.AreEqual(hydraulicBoundaryDatabase.FilePath, hydraulicBoundaryDatabaseEntity.FilePath);
Assert.AreEqual(hydraulicBoundaryDatabase.Version, hydraulicBoundaryDatabaseEntity.Version);
+ int expectedNrOfHydraulicBoundaryLocations = hydraulicBoundaryDatabase.Locations.Count;
+ Assert.AreEqual(expectedNrOfHydraulicBoundaryLocations, hydraulicBoundaryDatabaseEntity.HydraulicLocationEntities.Count);
+
HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings;
Assert.AreEqual(settings.FilePath, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsFilePath);
Assert.AreEqual(settings.ScenarioName, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScenarioName);
@@ -245,9 +247,6 @@
Assert.AreEqual(settings.WindSpeed, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindSpeed);
Assert.AreEqual(settings.Comment, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsComment);
- int expectedNrOfHydraulicBoundaryLocations = hydraulicBoundaryDatabase.Locations.Count;
- Assert.AreEqual(expectedNrOfHydraulicBoundaryLocations, entity.HydraulicLocationEntities.Count);
-
AssertHydraulicLocationCalculationCollectionEntities(assessmentSection, entity);
}
Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/HydraulicLocationConfigurationSettingsCreateExtensionsTest.cs
===================================================================
diff -u -r4cb9b5c812d68586b26b39b4c973e635dd2aa1c8 -r6d0d122d4f56b79e5c0157702d85463588496b41
--- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/HydraulicLocationConfigurationSettingsCreateExtensionsTest.cs (.../HydraulicLocationConfigurationSettingsCreateExtensionsTest.cs) (revision 4cb9b5c812d68586b26b39b4c973e635dd2aa1c8)
+++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/HydraulicLocationConfigurationSettingsCreateExtensionsTest.cs (.../HydraulicLocationConfigurationSettingsCreateExtensionsTest.cs) (revision 6d0d122d4f56b79e5c0157702d85463588496b41)
@@ -35,10 +35,10 @@
public void Create_HydraulicBoundaryDatabaseNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate call = () => ((HydraulicBoundaryDatabase) null).Create();
+ void Call() => ((HydraulicBoundaryDatabase) null).Create(new PersistenceRegistry());
// Assert
- var exception = Assert.Throws(call);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("hydraulicBoundaryDatabase", exception.ParamName);
}
@@ -65,7 +65,7 @@
"Comment");
// Call
- HydraulicBoundaryDatabaseEntity entity = hydraulicBoundaryDatabase.Create();
+ HydraulicBoundaryDatabaseEntity entity = hydraulicBoundaryDatabase.Create(new PersistenceRegistry());
// Assert
TestHelper.AssertAreEqualButNotSame(hydraulicBoundaryDatabase.FilePath, entity.FilePath);
Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs
===================================================================
diff -u -r397feab39b3bd3a7611c76529ade220c50aaec0d -r6d0d122d4f56b79e5c0157702d85463588496b41
--- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 397feab39b3bd3a7611c76529ade220c50aaec0d)
+++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 6d0d122d4f56b79e5c0157702d85463588496b41)
@@ -206,15 +206,17 @@
public void Read_WithHydraulicBoundaryLocationCalculations_ReturnsNewAssessmentSectionWithHydraulicBoundaryLocationCalculationsSet()
{
// Setup
- AssessmentSectionEntity entity = CreateAssessmentSectionEntity();
- entity.HydraulicBoundaryDatabaseEntities.Add(CreateHydraulicDatabaseEntity());
- entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity());
-
HydraulicLocationEntity hydraulicLocationEntity = HydraulicLocationEntityTestFactory.CreateHydraulicLocationEntity();
hydraulicLocationEntity.Name = "A";
hydraulicLocationEntity.Order = 1;
- entity.HydraulicLocationEntities.Add(hydraulicLocationEntity);
+ HydraulicBoundaryDatabaseEntity hydraulicBoundaryDatabaseEntity = CreateHydraulicDatabaseEntity();
+ hydraulicBoundaryDatabaseEntity.HydraulicLocationEntities.Add(hydraulicLocationEntity);
+
+ AssessmentSectionEntity entity = CreateAssessmentSectionEntity();
+ entity.HydraulicBoundaryDatabaseEntities.Add(hydraulicBoundaryDatabaseEntity);
+ entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity());
+
entity.HydraulicLocationCalculationCollectionEntity = CreateHydraulicLocationCollectionCalculationEntity(hydraulicLocationEntity, 1);
entity.HydraulicLocationCalculationCollectionEntity1 = CreateHydraulicLocationCollectionCalculationEntity(hydraulicLocationEntity, 2);
entity.HydraulicLocationCalculationCollectionEntity2 = CreateHydraulicLocationCollectionCalculationEntity(hydraulicLocationEntity, 3);
@@ -337,19 +339,21 @@
public void Read_WithHydraulicDatabaseLocations_ReturnsNewAssessmentSectionWithLocationsSet()
{
// Setup
- AssessmentSectionEntity entity = CreateAssessmentSectionEntity();
- entity.HydraulicBoundaryDatabaseEntities.Add(CreateHydraulicDatabaseEntity());
- entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity());
-
HydraulicLocationEntity hydraulicLocationEntityOne = HydraulicLocationEntityTestFactory.CreateHydraulicLocationEntity();
hydraulicLocationEntityOne.Name = "A";
hydraulicLocationEntityOne.Order = 1;
- entity.HydraulicLocationEntities.Add(hydraulicLocationEntityOne);
HydraulicLocationEntity hydraulicLocationEntityTwo = HydraulicLocationEntityTestFactory.CreateHydraulicLocationEntity();
hydraulicLocationEntityOne.Name = "B";
hydraulicLocationEntityOne.Order = 0;
- entity.HydraulicLocationEntities.Add(hydraulicLocationEntityTwo);
+ HydraulicBoundaryDatabaseEntity hydraulicBoundaryDatabaseEntity = CreateHydraulicDatabaseEntity();
+ hydraulicBoundaryDatabaseEntity.HydraulicLocationEntities.Add(hydraulicLocationEntityOne);
+ hydraulicBoundaryDatabaseEntity.HydraulicLocationEntities.Add(hydraulicLocationEntityTwo);
+
+ AssessmentSectionEntity entity = CreateAssessmentSectionEntity();
+ entity.HydraulicBoundaryDatabaseEntities.Add(CreateHydraulicDatabaseEntity());
+ entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity());
+
entity.HydraulicLocationCalculationCollectionEntity = new HydraulicLocationCalculationCollectionEntity();
entity.HydraulicLocationCalculationCollectionEntity1 = new HydraulicLocationCalculationCollectionEntity();
entity.HydraulicLocationCalculationCollectionEntity2 = new HydraulicLocationCalculationCollectionEntity();