Index: DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs
===================================================================
diff -u -r1112 -r1159
--- DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 1112)
+++ DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 1159)
@@ -207,6 +207,14 @@
location.HeadPL2 = 1.0 * i + 0.24;
location.HeadPl3 = 1.0 * i + 0.25;
location.HeadPl4 = 1.0 * i + 0.21;
+ location.DikeTableHeight = 1.0 * i + 0.27;
+ location.BoezemLevelHbp = 1.0 * i + 0.28;
+ location.BoezemLevelLbp = 1.0 * i + 0.29;
+ location.BoezemLevelTp = 1.0 * i + 0.30;
+ location.RwBankProtectionBottomLevel = 1.0 * i + 0.31;
+ location.DredgingDepth = 1.0 * i + 0.32;
+ location.DetrimentFactor = 1.0 * i + 0.33;
+ location.DikeMaterialType = SoilType.Loam;
location.LocalXZSurfaceLine2 = surfaceLines[i];
location.Segment = segments[i % 2]; // alternate between the 2 available segments
for (int j = 0; j < 3; j++)
Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs
===================================================================
diff -u -r875 -r1159
--- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 875)
+++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1159)
@@ -786,6 +786,40 @@
return translationTable[stabilityDesignMethod];
}
+ ///
+ /// Converts the input dikeMaterialType to SoilType.
+ ///
+ /// Type of the dike material.
+ ///
+ public static SoilType ConvertToSoilType(LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialType)
+ {
+ var translationTable = new Dictionary()
+ {
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Clay, SoilType.Clay},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Gravel, SoilType.Gravel},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Loam, SoilType.Loam},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Peat, SoilType.Peat},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Sand, SoilType.Sand}
+ };
+ return translationTable[dikeMaterialType];
+ }
+ ///
+ /// Converts the SoilType to the input dikeMaterialType.
+ ///
+ /// Type of the soil.
+ ///
+ public static LocationAssesmentRegionalOptionsDikeMaterialType ConvertToInputSoilType(SoilType soilType)
+ {
+ var translationTable = new Dictionary()
+ {
+ {SoilType.Clay, LocationAssesmentRegionalOptionsDikeMaterialType.Clay},
+ {SoilType.Gravel, LocationAssesmentRegionalOptionsDikeMaterialType.Gravel},
+ {SoilType.Loam, LocationAssesmentRegionalOptionsDikeMaterialType.Loam},
+ {SoilType.Peat, LocationAssesmentRegionalOptionsDikeMaterialType.Peat},
+ {SoilType.Sand, LocationAssesmentRegionalOptionsDikeMaterialType.Sand}
+ };
+ return translationTable[soilType];
+ }
}
}
Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs
===================================================================
diff -u -r1112 -r1159
--- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 1112)
+++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 1159)
@@ -291,6 +291,17 @@
location.PlLineOffsetBelowShoulderBaseInside = waternetOptions.Pl1BelowShoulderCrestPolderside;
location.PlLineOffsetBelowDikeToeAtPolder = waternetOptions.Pl1BelowToeDikePolderside;
+ // Regional settings
+ location.DikeTableHeight = inputLocation.DikeTableHeight;
+ var assesmentRegionalOptions = inputLocation.AssesmentRegionalOptions;
+ location.BoezemLevelHbp = assesmentRegionalOptions.BoezemLevelHbp;
+ location.BoezemLevelLbp = assesmentRegionalOptions.BoezemLevelLbp;
+ location.BoezemLevelTp = assesmentRegionalOptions.BoezemLevelTp;
+ location.RwBankProtectionBottomLevel = assesmentRegionalOptions.RegionalBankProtectionBottomLevel;
+ location.DredgingDepth = assesmentRegionalOptions.DredgingDepth;
+ location.DetrimentFactor = assesmentRegionalOptions.DetrimentFactor;
+ location.DikeMaterialType = ConversionHelper.ConvertToSoilType(assesmentRegionalOptions.DikeMaterialType);
+
SurfaceLine2 surfaceLine = dikeSurfaceLines.First(n => n.Name.Equals(inputLocation.SurfaceLineName));
location.LocalXZSurfaceLine2 = surfaceLine;
Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs
===================================================================
diff -u -r1130 -r1159
--- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1130)
+++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1159)
@@ -350,6 +350,18 @@
waternetOptions.Pl1BelowToeDikePolderside = location.PlLineOffsetBelowDikeToeAtPolder;
inputLocation.WaternetOptions = waternetOptions;
+ // Regional settings
+ var assesmentRegionalOptions = new LocationAssesmentRegionalOptions();
+ inputLocation.DikeTableHeight = location.DikeTableHeight;
+ assesmentRegionalOptions.BoezemLevelHbp = location.BoezemLevelHbp;
+ assesmentRegionalOptions.BoezemLevelLbp = location.BoezemLevelLbp;
+ assesmentRegionalOptions.BoezemLevelTp = location.BoezemLevelTp;
+ assesmentRegionalOptions.RegionalBankProtectionBottomLevel = location.RwBankProtectionBottomLevel;
+ assesmentRegionalOptions.DredgingDepth = location.DredgingDepth;
+ assesmentRegionalOptions.DetrimentFactor = location.DetrimentFactor;
+ assesmentRegionalOptions.DikeMaterialType = ConversionHelper.ConvertToInputSoilType(location.DikeMaterialType);
+ inputLocation.AssesmentRegionalOptions = assesmentRegionalOptions;
+
inputLocation.DesignScenarios = new LocationDesignScenario[location.Scenarios.Count];
for (int j = 0; j < location.Scenarios.Count; j++)
{
Index: DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs
===================================================================
diff -u -r875 -r1159
--- DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 875)
+++ DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 1159)
@@ -385,5 +385,26 @@
{
Assert.AreEqual(inputStabilityDesignMethod, ConversionHelper.ConvertToInputStabilityDesignMethod(stabilityDesignMethod));
}
+ [Test]
+ [TestCase(SoilType.Clay, LocationAssesmentRegionalOptionsDikeMaterialType.Clay)]
+ [TestCase(SoilType.Gravel, LocationAssesmentRegionalOptionsDikeMaterialType.Gravel)]
+ [TestCase(SoilType.Loam, LocationAssesmentRegionalOptionsDikeMaterialType.Loam)]
+ [TestCase(SoilType.Peat, LocationAssesmentRegionalOptionsDikeMaterialType.Peat)]
+ [TestCase(SoilType.Sand, LocationAssesmentRegionalOptionsDikeMaterialType.Sand)]
+ public void CanConvertToSoilType(LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialType, SoilType soilType)
+ {
+ Assert.AreEqual(soilType, ConversionHelper.ConvertToSoilType(dikeMaterialType));
+ }
+
+ [Test]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Clay, SoilType.Clay)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Gravel, SoilType.Gravel)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Loam, SoilType.Loam)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Peat, SoilType.Peat)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Sand, SoilType.Sand)]
+ public void CanConvertToDikeMaterialType(SoilType soilType, LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialType)
+ {
+ Assert.AreEqual(dikeMaterialType, ConversionHelper.ConvertToInputSoilType(soilType));
+ }
}
}