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)); + } } }