Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r710 -r714 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 710) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 714) @@ -218,11 +218,33 @@ designScenario.RequiredSafetyFactorPiping = (inputLocationDesignScenario.RequiredSafetyFactorPipingSpecified ? (double?)inputLocationDesignScenario.RequiredSafetyFactorPiping : null); location.Scenarios.Add(designScenario); + } + } + location.DikeEmbankmentMaterial = inputLocation.DikeEmbankmentMaterial; + if (inputLocation.StabilityOptions != null) + { + location.MapForSoilGeometries2D = inputLocation.StabilityOptions.MapForSoilgeometries2D; + location.StabilityZoneType = ConversionHelper.ConvertToZoneType(inputLocation.StabilityOptions.ZoneType); + if (inputLocation.StabilityOptions.ForbiddenZoneFactorSpecified) + { + location.ForbiddenZoneFactor = inputLocation.StabilityOptions.ForbiddenZoneFactor; + } + if (inputLocation.StabilityOptions.ZoneAreaRestSlopeCrestWidthSpecified) + { + location.ZoneAreaRestSlopeCrestWidth = inputLocation.StabilityOptions.ZoneAreaRestSlopeCrestWidth; + } + if (inputLocation.StabilityOptions.TrafficLoadSpecified) + { + location.TrafficLoad = inputLocation.StabilityOptions.TrafficLoad; + } + if (inputLocation.StabilityOptions.MinimumCircleDepthSpecified) + { + location.MinimalCircleDepth = inputLocation.StabilityOptions.MinimumCircleDepth; + } + } + dikeLocations.Add(location); } } - dikeLocations.Add(location); - } -} private static void TransferSoilProfiles1D(DamEngine.Io.XmlInput.SoilProfile1D[] inputSoilProfiles1D, IList dikeSoilProfiles, SoilList soils) { Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs =================================================================== diff -u -r673 -r714 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 673) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 714) @@ -214,7 +214,41 @@ [TestCase(FailureMechanismSystemType.HorizontalBalance, 3)] public void CanConvertToFailureMechanismSystemType(int inputFailureMechanismSystemType, FailureMechanismSystemType failureMechanismSystemType) { - Assert.AreEqual(inputFailureMechanismSystemType, ConversionHelper.ConvertToInputFailureMechanismSystemType(failureMechanismSystemType)); + Assert.AreEqual(failureMechanismSystemType, ConversionHelper.ConvertToFailureMechanismSystemType(inputFailureMechanismSystemType)); } + + [Test] + [TestCase(InputAnalysisType.AdaptGeometry, AnalysisType.AdaptGeometry)] + [TestCase(InputAnalysisType.NoAdaption, AnalysisType.NoAdaption)] + public void CanConvertToInputAnalysisType(AnalysisType analysisType, InputAnalysisType inputAnalysisType) + { + Assert.AreEqual(inputAnalysisType, ConversionHelper.ConvertToInputAnalysisType(analysisType)); + } + + [Test] + [TestCase(AnalysisType.AdaptGeometry, InputAnalysisType.AdaptGeometry)] + [TestCase(AnalysisType.NoAdaption, InputAnalysisType.NoAdaption)] + public void CanConvertToAnalysisType(InputAnalysisType inputAnalysisType, AnalysisType analysisType) + { + Assert.AreEqual(analysisType, ConversionHelper.ConvertToAnalysisType(inputAnalysisType)); + } + + [Test] + [TestCase(MStabZonesType.NoZones, ConversionHelper.InputZoneTypeNoZones)] + [TestCase(MStabZonesType.ZoneAreas, ConversionHelper.InputZoneTypeZoneAreas)] + [TestCase(MStabZonesType.ForbiddenZone, ConversionHelper.InputZoneTypesForbiddenZones)] + public void CanConvertToInputZoneType(MStabZonesType zoneType, int inputZoneType) + { + Assert.AreEqual(inputZoneType, ConversionHelper.ConvertToInputZoneType(zoneType)); + } + + [Test] + [TestCase(ConversionHelper.InputZoneTypeNoZones, MStabZonesType.NoZones)] + [TestCase(ConversionHelper.InputZoneTypeZoneAreas, MStabZonesType.ZoneAreas)] + [TestCase(ConversionHelper.InputZoneTypesForbiddenZones, MStabZonesType.ForbiddenZone)] + public void CanConvertToZoneType(int inputZoneType, MStabZonesType zoneType) + { + Assert.AreEqual(zoneType, ConversionHelper.ConvertToZoneType(inputZoneType)); + } } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs =================================================================== diff -u -r709 -r714 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 709) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 714) @@ -452,5 +452,50 @@ }; return translationTable[inputAnalysisType]; } + + /// + /// The input zone type no zones + /// + public const int InputZoneTypeNoZones = 0; + /// + /// The input zone type zone areas + /// + public const int InputZoneTypeZoneAreas = 1; + /// + /// The input zone types forbidden zones + /// + public const int InputZoneTypesForbiddenZones = 2; + + /// + /// Converts the type of to input zone. + /// + /// Type of the zone. + /// + public static int ConvertToInputZoneType(MStabZonesType zoneType) + { + var translationTable = new Dictionary() + { + {MStabZonesType.NoZones, InputZoneTypeNoZones}, + {MStabZonesType.ZoneAreas, InputZoneTypeZoneAreas}, + {MStabZonesType.ForbiddenZone, InputZoneTypesForbiddenZones} + }; + return translationTable[zoneType]; + } + + /// + /// Converts the type of to zone. + /// + /// Type of the input zone. + /// + public static MStabZonesType ConvertToZoneType(int inputZoneType) + { + var translationTable = new Dictionary() + { + {InputZoneTypeNoZones, MStabZonesType.NoZones}, + {InputZoneTypeZoneAreas, MStabZonesType.ZoneAreas}, + {InputZoneTypesForbiddenZones, MStabZonesType.ForbiddenZone} + }; + return translationTable[inputZoneType]; + } } } Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r646 -r714 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 646) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 714) @@ -167,7 +167,17 @@ var designScenario = FillDesignScenario(i, j); location.Scenarios.Add(designScenario); } + + location.DikeEmbankmentMaterial = "DikeMat"; + location.MapForSoilGeometries2D = "TestMap"; + location.StabilityZoneType = MStabZonesType.NoZones; + location.ForbiddenZoneFactor = 1.23; + location.ZoneAreaRestSlopeCrestWidth = 8.23; + location.TrafficLoad = 11.11; + location.MinimalCircleDepth = 1.21; + dike.Locations.Add(location); + dike.Locations.Add(location); } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r668 -r714 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 668) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 714) @@ -301,6 +301,20 @@ inputLocation.DesignScenarios[j] = inputDesignScenario; } + inputLocation.DikeEmbankmentMaterial = location.DikeEmbankmentMaterial; + inputLocation.StabilityOptions = new LocationStabilityOptions + { + MapForSoilgeometries2D = location.MapForSoilGeometries2D, + ZoneType = ConversionHelper.ConvertToInputZoneType(location.StabilityZoneType), + ForbiddenZoneFactorSpecified = true, + ForbiddenZoneFactor = location.ForbiddenZoneFactor, + ZoneAreaRestSlopeCrestWidthSpecified = true, + ZoneAreaRestSlopeCrestWidth = location.ZoneAreaRestSlopeCrestWidth, + TrafficLoadSpecified = true, + TrafficLoad = location.TrafficLoad, + MinimumCircleDepthSpecified = true, + MinimumCircleDepth = location.MinimalCircleDepth + }; inputLocations[i] = inputLocation; } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs =================================================================== diff -u -r650 -r714 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 650) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 714) @@ -98,10 +98,6 @@ if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) { desResult.RedesignedSurfaceLine2Piping = new SurfaceLine2(); - - } - if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) - { var surfaceLine = ConvertXmlSurfaceLineToSurfaceLine2(designResult.PipingDesignResults.RedesignedSurfaceLine); desResult.RedesignedSurfaceLine2Piping = surfaceLine; }