Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Interface.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Io.pdb =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Version.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Version.pdb =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Data.pdb =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DSL-FormsMap/Deltares.Standard.Forms.Maps.Version.dll =================================================================== diff -u -r3312 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Calculators.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/nl-NL/Deltares.DamEngine.Interface.resources.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/nl-NL/Deltares.DamEngine.Calculators.resources.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Interface.pdb =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Io.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Data.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DSL-FormsMap/Deltares.Standard.Forms.Maps.dll =================================================================== diff -u -r3312 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/nl-NL/Deltares.DamEngine.Data.resources.dll =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DamEngine/Deltares.DamEngine.Calculators.pdb =================================================================== diff -u -r3804 -r3809 Binary files differ Index: DamClients/DamUI/trunk/lib/DSL-FormsMap/Deltares.Standard.Maps.dll =================================================================== diff -u -r3312 -r3809 Binary files differ Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r3796 -r3809 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 3796) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 3809) @@ -50,11 +50,20 @@ /// public static Input CreateInput(DamProjectData damProjectData) { - ValidateDamProjectData(damProjectData); - - Input input = new Input(); Dike dike = damProjectData.WaterBoard.Dikes[0]; + // Process locations + string soilProfileDirectory = Path.Combine(damProjectData.ProjectPath, dike.MapForSoilGeometries2D); + var soilProfiles2DToSerialize = new List(); + var filteredJobs = FilterLocationJobsWithSoilProfiles(damProjectData.SelectedLocationJobs, + soilProfileDirectory, + dike.SoilList, + soilProfiles2DToSerialize) + .ToList(); + var filteredLocations = filteredJobs.Select(loc => loc.Location).ToList(); + ValidateDamProjectData(damProjectData, filteredLocations); + + Input input = new Input(); input.ProjectPath = damProjectData.ProjectPath; input.CalculationMap = damProjectData.CalculationMap; input.MaxCalculationCoresSpecified = true; @@ -63,16 +72,6 @@ TransferAnalysisSpecification(damProjectData, input); TransferStabilityParameters(damProjectData, input); - // Process locations - string soilProfileDirectory = Path.Combine(damProjectData.ProjectPath, dike.MapForSoilGeometries2D); - var soilProfiles2DToSerialize = new List(); - var filteredJobs = FilterLocationJobsWithSoilProfiles(damProjectData.SelectedLocationJobs, - soilProfileDirectory, - dike.SoilList, - soilProfiles2DToSerialize) - .ToList(); - var filteredLocations = filteredJobs.Select(loc => loc.Location).ToList(); - input.Locations = new DamEngine.Io.XmlInput.Location[filteredJobs.Count]; TransferLocations(filteredLocations, input.Locations); @@ -361,7 +360,7 @@ } } - private static void ValidateDamProjectData(DamProjectData damProjectData) + private static void ValidateDamProjectData(DamProjectData damProjectData, List selectedLocations) { ThrowHelper.ThrowIfArgumentNull(damProjectData.WaterBoard, nameof(damProjectData.WaterBoard), StringResourceNames.NoDikeDefined); if (damProjectData.WaterBoard.Dikes == null || damProjectData.WaterBoard.Dikes.Count != 1) @@ -373,7 +372,7 @@ // Following situation should never occur in the UI. Tested because of the check on RiverLevelLow in the code below var currentSpecification = damProjectData.DamProjectCalculationSpecification.CurrentSpecification; ThrowHelper.ThrowIfArgumentNull(currentSpecification, nameof(currentSpecification), StringResourceNames.NoCalculationTypeSpecified); - foreach (Location location in dike.Locations) + foreach (Location location in selectedLocations) { ThrowHelper.ThrowIfArgumentNull(location.Scenarios, nameof(location.Scenarios), StringResourceNames.NoScenariosDefinedInLocation); foreach (var scenario in location.Scenarios) @@ -405,7 +404,7 @@ ThrowHelper.ThrowIfArgumentNull(dike.SoilList.Soils, nameof(dike.SoilList.Soils), StringResourceNames.NoSoilsDefinedInProject); ThrowHelper.ThrowIfArgumentNull(dike.SoilProfiles, nameof(dike.SoilProfiles), StringResourceNames.NoSoilprofiles1DDefinedInProject); // Check for invalid Id names - foreach (var location in dike.Locations) + foreach (var location in selectedLocations) { if (!IdValidator.IsCorrectName(location.Name)) {