Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r1112 -r1130 --- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1112) +++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1130) @@ -90,15 +90,31 @@ TransferSoilProfiles1D(dike.SoilProfiles, input.SoilProfiles1D); } + var localSegments = EnsureInputLocationsSegmentsAreInSegments(damProjectData.WaterBoard.Segments, localLocations); // Process segments - if (damProjectData.WaterBoard.Segments != null) + if (localSegments != null) { - input.Segments = new DamEngine.Io.XmlInput.Segment[damProjectData.WaterBoard.Segments.Count]; - TransferSegments(damProjectData.WaterBoard.Segments, input.Segments); + input.Segments = new DamEngine.Io.XmlInput.Segment[localSegments.Count]; + TransferSegments(localSegments, input.Segments); } return input; } + private static IList EnsureInputLocationsSegmentsAreInSegments(IList segments, List localLocations) + { + var localSegments = new List(); + localSegments.AddRange(segments); + foreach (var localLocation in localLocations) + { + var seg = localSegments.FirstOrDefault(x => x.Name == localLocation.Segment.Name); + if (seg == null) + { + localSegments.Add(localLocation.Segment); + } + } + return localSegments; + } + private static void TransferAnalysisSpecification(DamProjectData damProjectData, Input input) { input.DamProjectType = ConversionHelper.ConvertToInputDamProjectType(damProjectData.DamProjectType);