Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r594 -r598 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 594) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 598) @@ -75,7 +75,7 @@ FillSoils(dike); FillSoilProfiles1D(dike); FillSegments(damProjectData); - AddLocations(dike, surfaceLines); + AddLocations(dike, surfaceLines, damProjectData.WaterBoard.Segments); return damProjectData; } @@ -97,7 +97,7 @@ } } - private static void AddLocations(Dike dike, List surfaceLines) + private static void AddLocations(Dike dike, List surfaceLines, IList segments) { const int locationCount = 3; for (int i = 0; i < locationCount; i++) @@ -124,6 +124,7 @@ location.HeadPl3 = 1.0 * i + 0.25; location.HeadPl4 = 1.0 * i + 0.21; location.LocalXZSurfaceLine2 = surfaceLines[i]; + location.Segment = segments[i % 2]; // alternate between the 2 available segments for (int j = 0; j < 3; j++) { var designScenario = FillDesignScenario(i * j); Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r594 -r598 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 594) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 598) @@ -176,6 +176,7 @@ var inputLocation = new DamEngine.Io.XmlInput.Location(); inputLocation.SurfaceLineName = location.LocalXZSurfaceLine2.Name; + inputLocation.SegmentName = location.Segment.Name; var waternetOptions = new LocationWaternetOptions(); waternetOptions.PhreaticLineCreationMethod = ConversionHelper.ConvertToInputPhreaticLineCreationMethod(location.PLLineCreationMethod); Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r594 -r598 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 594) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 598) @@ -57,9 +57,9 @@ TransferSurfaceLines(input.SurfaceLines, localSurfaceLines); dike.SoilList = new SoilList(); TransferSoils(input.Soils, dike.SoilList); - TransferLocations(input.Locations, dike.Locations, localSurfaceLines); TransferSoilProfiles1D(input.SoilProfiles1D, dike.SoilProfiles, dike.SoilList); TransferSegments(input.Segments, dike.SoilProfiles, damProjectData.WaterBoard.Segments); + TransferLocations(input.Locations, dike.Locations, localSurfaceLines, damProjectData.WaterBoard.Segments); return damProjectData; } @@ -117,7 +117,7 @@ } } - private static void TransferLocations(DamEngine.Io.XmlInput.Location[] inputLocations, IList dikeLocations, IList dikeSurfaceLines) + private static void TransferLocations(DamEngine.Io.XmlInput.Location[] inputLocations, IList dikeLocations, IList dikeSurfaceLines, IList segments) { for (int i = 0; i < inputLocations.Length; i++) { @@ -144,8 +144,13 @@ location.PlLineOffsetBelowDikeTopAtPolder = waternetOptions.Pl1BelowCrestPolderside; location.PlLineOffsetBelowShoulderBaseInside = waternetOptions.Pl1BelowShoulderCrestPolderside; location.PlLineOffsetBelowDikeToeAtPolder = waternetOptions.Pl1BelowToeDikePolderside; + SurfaceLine2 surfaceLine = dikeSurfaceLines.First(n => n.Name.Equals(inputLocation.SurfaceLineName)); location.LocalXZSurfaceLine2 = surfaceLine; + + Segment segment = segments.First(s => s.Name.Equals(inputLocation.SegmentName)); + location.Segment = segment; + if (inputLocation.DesignScenarios != null) { for (int j = 0; j < inputLocation.DesignScenarios.Length; j++) Index: dam clients/DamUI/trunk/src/Dam/Forms/DamPlugin.cs =================================================================== diff -u -r593 -r598 --- dam clients/DamUI/trunk/src/Dam/Forms/DamPlugin.cs (.../DamPlugin.cs) (revision 593) +++ dam clients/DamUI/trunk/src/Dam/Forms/DamPlugin.cs (.../DamPlugin.cs) (revision 598) @@ -678,7 +678,7 @@ // now the validation messages should be deserialized. If any, they should be passed on to the Validator // and checked for errors. IF errors are found, then no calculation. When no messages or only warnings then // do calculate. For now, just check length - if (validationMessages.Length == 0) + if (string.IsNullOrEmpty(validationMessages)) { // only if validation is ok, then string outputXml = damEnginInterface.Run();