Index: DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r6289 -r6298 --- DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 6289) +++ DamClients/DamUI/trunk/src/Dam/Deltares.Dam.Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 6298) @@ -52,6 +52,9 @@ { private const AnalysisType expectedAnalysisType = AnalysisType.AdaptGeometry; private const AnalysisType notExpectedAnalysisType = AnalysisType.NoAdaption; + private const string shoulderEmbankmentMaterial = "ShoulderMat"; + private const string dikeEmbankmentMaterial = "DikeMat"; + private const int locationCount = 3; [Test] public void CanWriteAndReadDamProjectDataToXmlFile() @@ -1083,11 +1086,29 @@ Sigma = 1.1, Su = 2.1 }); + + // Add dike embankment material + var dikeSoil = new Soil + { + Name = dikeEmbankmentMaterial, + UseDefaultShearStrengthModel = false + }; + dike.SoilList.Add(dikeSoil); + + // Add shoulder embankment materials + for (int i = 0; i < locationCount; i++) + { + var shoulderSoil = new Soil + { + Name = shoulderEmbankmentMaterial + (i + 1), + UseDefaultShearStrengthModel = false + }; + dike.SoilList.Add(shoulderSoil); + } } - private static void AddLocations(Dike dike, List surfaceLines, IList segments) + private void AddLocations(Dike dike, List surfaceLines, IList segments) { - const int locationCount = 3; for (var i = 0; i < locationCount; i++) { var location = new Location(); @@ -1107,15 +1128,15 @@ location.Scenarios.Add(designScenario); } - location.DikeEmbankmentMaterial = "DikeMat"; + location.DikeEmbankmentMaterial = dikeEmbankmentMaterial; location.StabilityZoneType = StabilityZoneType.NoZones; location.ForbiddenZoneFactor = 10.0 * i + 0.42; location.TrafficLoad = 10.0 * i + 0.44; location.TL_DegreeOfConsolidation = 10.0 * i + 0.45; location.RedesignDikeHeight = false; location.RedesignDikeShoulder = false; - location.ShoulderEmbankmentMaterial = "ShoulderMat" + (i + 1); + location.ShoulderEmbankmentMaterial = shoulderEmbankmentMaterial + (i + 1); location.StabilityShoulderGrowSlope = 10.0 * i + 0.50; location.StabilityShoulderGrowDeltaX = 10.0 * i + 0.51; location.StabilitySlopeAdaptionDeltaX = 10.0 * i + 0.52; Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r6294 -r6298 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 6294) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 6298) @@ -189,21 +189,18 @@ { foreach (Location location in locations) { - foreach (Scenario scenario in location.Scenarios) + // Add the soil materials used as dike embankment material in Locations + if (!usedSoils.Any(usedSoil => string.Equals(usedSoil.Name, location.DikeEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))) { - // Add the soil materials used as dike embankment material in Locations - if (!usedSoils.Any(usedSoil => string.Equals(usedSoil.Name, scenario.Location.DikeEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))) - { - usedSoils.Add(allSoils.First(soil => string.Equals(soil.Name, scenario.Location.DikeEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))); - } + usedSoils.Add(allSoils.First(soil => string.Equals(soil.Name, location.DikeEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))); + } - // Add the soil materials used as shoulder embankment material in Locations - if (scenario.Location.ShoulderEmbankmentMaterial != "") { + // Add the soil materials used as shoulder embankment material in Locations + if (location.ShoulderEmbankmentMaterial != "") { - if (!usedSoils.Any(usedSoil => string.Equals(usedSoil.Name, scenario.Location.ShoulderEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))) - { - usedSoils.Add(allSoils.First(soil => string.Equals(soil.Name, scenario.Location.ShoulderEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))); - } + if (!usedSoils.Any(usedSoil => string.Equals(usedSoil.Name, location.ShoulderEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))) + { + usedSoils.Add(allSoils.First(soil => string.Equals(soil.Name, location.ShoulderEmbankmentMaterial, StringComparison.OrdinalIgnoreCase))); } } }