Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Dike.cs =================================================================== diff -u -r5799 -r5803 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Dike.cs (.../Dike.cs) (revision 5799) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Dike.cs (.../Dike.cs) (revision 5803) @@ -331,6 +331,35 @@ } /// + /// Fill the imported su table curves from the csv file + /// + /// + public void FillImportedSuTableCurvesFromCsvFile(IEnumerable suTableRecords) + { + if (suTableRecords == null) + { + return; + } + + foreach (CsvImporterSuTables.SuTableRecord suTableRecord in suTableRecords) + { + SuTableCurve suTableCurve = ImportedCsvSuTableCurves.Find(sc => sc.Name == suTableRecord.SuTableName); + if (suTableCurve == null) + { + suTableCurve = new SuTableCurve(); + suTableCurve.Name = suTableRecord.SuTableName; + ImportedCsvSuTableCurves.Add(suTableCurve); + } + + suTableCurve.SigmaSus.Add(new SigmaSu() + { + Sigma = suTableRecord.Sigma, + Su = suTableRecord.Su + }); + } + } + + /// /// Fill the imported aquifers from the csv file /// /// @@ -499,7 +528,13 @@ soilErrorMessages.Add(string.Format(LocalizationManager.GetTranslatedText(GetType(), "SigmaTauCurveNotFoundInCsvFile"), soil.StressTable.Name, soil.Name)); } -// todo support for su tables + if ((soil.SuTable.SigmaSus.Count == 0) && (soil.SuTable.Name != "")) + { + soilList.Soils.Remove(soil); + errorSoils.Add(soil); + soilErrorMessages.Add(string.Format(LocalizationManager.GetTranslatedText(GetType(), "SuTableCurveNotFoundInCsvFile"), + soil.StressTable.Name, soil.Name)); + } Soil existingSoil = soilList.GetSoilByName(soil.Name); if (existingSoil == null) { Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml =================================================================== diff -u -r5794 -r5803 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 5794) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Translations.xml (.../Translations.xml) (revision 5803) @@ -747,6 +747,9 @@ + Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DataPlugins/DataPluginImporter.cs =================================================================== diff -u -r4931 -r5803 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DataPlugins/DataPluginImporter.cs (.../DataPluginImporter.cs) (revision 4931) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DataPlugins/DataPluginImporter.cs (.../DataPluginImporter.cs) (revision 5803) @@ -1178,7 +1178,8 @@ LocationRecords = csvImporter.LocationRecords, ScenarioRecords = csvImporter.ScenariosRecords, SoilRecords = csvImporter.SoilsRecords, - SigmaTauCurveRecords = csvImporter.SigmaTauCurvesRecords + SigmaTauCurveRecords = csvImporter.SigmaTauCurvesRecords, + SuTableRecords = csvImporter.SuTablesRecords }; combineImportedData.AddScenarioDataToDikes(); ImportLogMessages.AddRange(combineImportedData.ErrorMessages); @@ -1207,7 +1208,8 @@ AquiferRecords = csvImporter.AquifersRecords, SurfaceLineRecords = csvImporter.SurfaceLinesRecords, SoilRecords = csvImporter.SoilsRecords, - SigmaTauCurveRecords = csvImporter.SigmaTauCurvesRecords + SigmaTauCurveRecords = csvImporter.SigmaTauCurvesRecords, + SuTableRecords = csvImporter.SuTablesRecords }; combineImportedData.AddCsvDataToDikes(); ImportLogMessages.AddRange(combineImportedData.ErrorMessages); Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/CombineImportedData.cs =================================================================== diff -u -r5798 -r5803 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/CombineImportedData.cs (.../CombineImportedData.cs) (revision 5798) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/CombineImportedData.cs (.../CombineImportedData.cs) (revision 5803) @@ -128,6 +128,7 @@ TransferAquifersData(dike); TransferSegmentData(dike); TransferSigmaTauCurveData(dike); // Should be done before TransferSoilData(), because the SigmaTauCurveData is used there + TransferSuTableCurveData(dike); // Should be done before TransferSoilData(), because the SuTableCurveData is used there TransferSoilData(dike); // Use InvokeWithoutPublishingEvents for performance reasons after introducing SurfaceLine2 DataEventPublisher.InvokeWithoutPublishingEvents(() => { TransferSurfaceLines(dike); }); @@ -432,7 +433,12 @@ { dike.FillImportedSigmaTauCurvesFromCsvFile(SigmaTauCurveRecords); } - + + private void TransferSuTableCurveData(Dike dike) + { + dike.FillImportedSuTableCurvesFromCsvFile(SuTableRecords); + } + private void TransferSoilProfilesData(Dike dike) { if (SoilProfilerecords == null)