Index: DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r1270 -r1407 --- DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 1270) +++ DamClients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 1407) @@ -97,6 +97,7 @@ Dike dike = damProjectData.WaterBoard.Dikes[0]; var surfaceLines = CreateSurfaceLines(); FillSoils(dike); + FillAquiferSoils(dike.SoilList); FillSoilProfiles1D(dike); FillSegments(damProjectData); AddLocations(dike, surfaceLines, damProjectData.WaterBoard.Segments); @@ -107,6 +108,15 @@ return damProjectData; } + private void FillAquiferSoils(SoilList soilList) + { + for (int i = 0; i < soilList.Soils.Count; i++) + { + // All even indeces are set to true, all odd indices are set to false + soilList.AquiferDictionary.Add(soilList.Soils[i], (i % 2) == 0); + } + } + private static void FillAnalysisSpecification(DamProjectData damProjectData) { damProjectData.DamProjectType = DamProjectType.Design; Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs =================================================================== diff -u -r1385 -r1407 --- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1385) +++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlInputFromDamUi.cs (.../FillXmlInputFromDamUi.cs) (revision 1407) @@ -81,6 +81,7 @@ // Process soils input.Soils = new DamEngine.Io.XmlInput.Soil[dike.SoilList.Soils.Count]; TransferSoils(dike.SoilList.Soils, input.Soils); + TransferAquiferSoils(dike.SoilList.AquiferDictionary, input); // Process soilprofiles if (dike.SoilProfiles != null) @@ -100,6 +101,26 @@ return input; } + private static void TransferAquiferSoils(Dictionary aquiferDictionary, Input input) + { + InputAquiferSoil[] aquiferSoils; + if (aquiferDictionary != null && aquiferDictionary.Count > 0) + { + aquiferSoils = new InputAquiferSoil[aquiferDictionary.Count]; + int soilIndex = 0; + foreach (KeyValuePair keyValuePair in aquiferDictionary) + { + aquiferSoils[soilIndex] = new InputAquiferSoil() { Soilname = keyValuePair.Key.Name, IsAquifer = keyValuePair.Value }; + soilIndex++; + } + } + else + { + aquiferSoils = null; + } + input.AquiferSoils = aquiferSoils; + } + private static IList EnsureInputLocationsSegmentsAreInSegments(IList segments, List localLocations) { var localSegments = new List(); Index: DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs =================================================================== diff -u -r1385 -r1407 --- DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 1385) +++ DamClients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlInput.cs (.../FillDamUiFromXmlInput.cs) (revision 1407) @@ -65,12 +65,25 @@ TransferSurfaceLines(input.SurfaceLines, localSurfaceLines); dike.SoilList = new SoilList(); TransferSoils(input.Soils, dike.SoilList); + TransferAquiferSoils(input.AquiferSoils, dike.SoilList); 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; } + private static void TransferAquiferSoils(InputAquiferSoil[] inputAquiferSoils, SoilList soilList) + { + if (inputAquiferSoils != null) + { + soilList.AquiferDictionary = new Dictionary(); + foreach (InputAquiferSoil aquiferSoil in inputAquiferSoils) + { + soilList.AquiferDictionary.Add(soilList.GetSoilByName(aquiferSoil.Soilname), aquiferSoil.IsAquifer); + } + } + } + private static void TransferAnalysisSpecification(Input input, DamProjectData damProjectData) { damProjectData.DamProjectType = ConversionHelper.ConvertToDamProjectType(input.DamProjectType);