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)