Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r491 -r499 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 491) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 499) @@ -48,9 +48,9 @@ damProjectData.WaterBoard.Dikes = new List(); damProjectData.WaterBoard.Dikes.Add(new Dike()); Dike dike = damProjectData.WaterBoard.Dikes[0]; - AddLocations(dike); FillSurfaceLines(dike); FillSoils(dike); + AddLocations(dike); return damProjectData; } @@ -98,16 +98,18 @@ location.HeadPL2 = 1.0 * i + 0.24; location.HeadPl3 = 1.0 * i + 0.25; location.HeadPl4 = 1.0 * i + 0.21; + location.SurfaceLine2 = dike.SurfaceLines2[i]; dike.Locations.Add(location); } } private void FillSurfaceLines(Dike dike) { - const int surfaceLineCount = 2; + const int surfaceLineCount = 3; for (int i = 0; i < surfaceLineCount; i++) { var surfaceLine = new SurfaceLine2(); + surfaceLine.Name = String.Format("SurfaceLine {0}", i); surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry; AddPointsToSurfaceLines(surfaceLine); dike.SurfaceLines2.Add(surfaceLine); Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r491 -r499 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 491) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 499) @@ -55,6 +55,7 @@ { var surfaceLine = dike.SurfaceLines2[i]; var inputSurfaceLine = new SurfaceLine(); + inputSurfaceLine.Name = surfaceLine.Name; inputSurfaceLine.Points = new SurfaceLinePoint[surfaceLine.CharacteristicPoints.Count]; for (int j = 0; j < surfaceLine.CharacteristicPoints.Count; j++) { @@ -77,9 +78,11 @@ for (int i = 0; i < locationCount; i++) { var location = dike.Locations[i]; - input.Locations[i] = new DamEngine.Io.XmlInput.Location(); - var waternetOptions = new LocationWaternetOptions(); + var inputLocation = new DamEngine.Io.XmlInput.Location(); + inputLocation.SurfaceLineName = location.SurfaceLine2.Name; + + var waternetOptions = new LocationWaternetOptions(); waternetOptions.PhreaticLineCreationMethod = ConversionHelper.ConvertToInputPhreaticLineCreationMethod(location.PLLineCreationMethod); waternetOptions.IntrusionVerticalWaterPressure = ConversionHelper.ConvertToInputIntrusionVerticalWaterPressure(location.IntrusionVerticalWaterPressure ?? IntrusionVerticalWaterPressureType.Standard); waternetOptions.PolderLevel = location.PolderLevel; @@ -105,7 +108,9 @@ waternetOptions.Pl1BelowCrestPolderside = location.PlLineOffsetBelowDikeTopAtPolder; waternetOptions.Pl1BelowShoulderCrestPolderside = location.PlLineOffsetBelowShoulderBaseInside; waternetOptions.Pl1BelowToeDikePolderside = location.PlLineOffsetBelowDikeToeAtPolder; - input.Locations[i].WaternetOptions = waternetOptions; + inputLocation.WaternetOptions = waternetOptions; + + input.Locations[i] = inputLocation; } } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r491 -r499 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 491) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 499) @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using Deltares.DamEngine.Io.XmlInput; using Deltares.Geometry; using Deltares.Geotechnics.GeotechnicalGeometry; @@ -29,9 +30,9 @@ damProjectData.WaterBoard.Dikes = new List(); damProjectData.WaterBoard.Dikes.Add(new Dike()); Dike dike = damProjectData.WaterBoard.Dikes[0]; - TransferLocations(input, dike); TransferSurfaceLines(input, dike); TransferSoils(input, dike); + TransferLocations(input, dike); return damProjectData; } @@ -59,6 +60,7 @@ { var surfaceLine = new SurfaceLine2(); var inputSurfaceLine = input.SurfaceLines[i]; + surfaceLine.Name = inputSurfaceLine.Name; surfaceLine.CharacteristicPoints.Geometry = surfaceLine.Geometry; AddPointsToSurfaceLine(inputSurfaceLine, surfaceLine); dike.SurfaceLines2.Add(surfaceLine); @@ -108,6 +110,8 @@ location.PlLineOffsetBelowDikeTopAtPolder = waternetOptions.Pl1BelowCrestPolderside; location.PlLineOffsetBelowShoulderBaseInside = waternetOptions.Pl1BelowShoulderCrestPolderside; location.PlLineOffsetBelowDikeToeAtPolder = waternetOptions.Pl1BelowToeDikePolderside; + SurfaceLine2 surfaceLine = dike.SurfaceLines2.First(n => n.Name.Equals(inputLocation.SurfaceLineName)); + location.SurfaceLine2 = surfaceLine; dike.Locations.Add(location); } }