Index: DamClients/DamUI/trunk/src/Dam/Tests/CsvImporterTestsNew.cs =================================================================== diff -u -r2541 -r2547 --- DamClients/DamUI/trunk/src/Dam/Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 2541) +++ DamClients/DamUI/trunk/src/Dam/Tests/CsvImporterTestsNew.cs (.../CsvImporterTestsNew.cs) (revision 2547) @@ -217,9 +217,6 @@ } } - /// - /// Create csv file with surface lines - /// private void CreateSurfaceLinesFile() { string importFile = importFolder + "\\surfacelines.csv"; @@ -236,9 +233,6 @@ } } - /// - /// Create csv file with surface lines with - /// private void CreateSurfaceLinesFileWithLocationId() { string importFile = importFolder + "\\surfacelines.csv"; @@ -319,6 +313,38 @@ } } + private void CreateScenariosWithHeadPl3AndHeadPl4File() + { + string importFile = importFolder + "\\scenarios.csv"; + if (File.Exists(importFile)) + File.Delete(importFile); + using (var writer = File.CreateText(importFile)) + { + writer.WriteLine( + "location_id;location_scenario_id;head_pl3;head_pl4"); + writer.WriteLine( + "D1;1;0.001;0.002"); + writer.WriteLine( + "D2;1;0.003;0.004"); + } + } + + private void CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile() + { + string importFile = importFolder + "\\scenarios.csv"; + if (File.Exists(importFile)) + File.Delete(importFile); + using (var writer = File.CreateText(importFile)) + { + writer.WriteLine( + "location_id;location_scenario_id;HeadPl3;HeadPl4"); + writer.WriteLine( + "D1;1;0.011;0.012"); + writer.WriteLine( + "D2;1;0.013;0.014"); + } + } + private void CreateLocationsFileWithObsoleteColumn() { string importFile = importFolder + "\\locations.csv"; @@ -367,9 +393,6 @@ } } - /// - /// Test - /// [Test] [ExpectedException(typeof(ArgumentException))] public void SegmentImporterThrowsArgumentExceptionWhenFileNameIsEmpty() @@ -510,7 +533,6 @@ IList characteristicPointsRecords = csvImporterCharacteristicPoints.ImportedItems; CheckCharacteristicPoints(characteristicPointsRecords); } - [Test] public void CharacteristicPointsWithLocationIdImporterCorrectFileTest() @@ -891,6 +913,48 @@ } [Test] + public void ScenariosImporterWithHeadPl3AndHeadPl4Test() + { + string importFile = importFolder + "\\scenarios.csv"; + if (File.Exists(importFile)) + File.Delete(importFile); + CreateScenariosWithHeadPl3AndHeadPl4File(); + CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(importFolder + "\\scenarios.csv"); + IList scenarioRecords = csvImporterScenarios.ImportedItems; + + Assert.AreEqual("D1", scenarioRecords[0].LocationId); + Assert.AreEqual("1", scenarioRecords[0].LocationScenarioId); + Assert.AreEqual(0.001, scenarioRecords[0].HeadPl3); + Assert.AreEqual(0.002, scenarioRecords[0].HeadPl4); + + Assert.AreEqual("D2", scenarioRecords[1].LocationId); + Assert.AreEqual("1", scenarioRecords[1].LocationScenarioId); + Assert.AreEqual(0.003, scenarioRecords[1].HeadPl3); + Assert.AreEqual(0.004, scenarioRecords[1].HeadPl4); + } + + [Test] + public void ScenariosImporterWithHeadPl3AndHeadPl4OldFormatTest() + { + string importFile = importFolder + "\\scenarios.csv"; + if (File.Exists(importFile)) + File.Delete(importFile); + CreateScenariosWithHeadPl3AndHeadPl4OldFormatFile(); + CsvImporterScenarios csvImporterScenarios = new CsvImporterScenarios(importFolder + "\\scenarios.csv"); + IList scenarioRecords = csvImporterScenarios.ImportedItems; + + Assert.AreEqual("D1", scenarioRecords[0].LocationId); + Assert.AreEqual("1", scenarioRecords[0].LocationScenarioId); + Assert.AreEqual(0.011, scenarioRecords[0].HeadPl3); + Assert.AreEqual(0.012, scenarioRecords[0].HeadPl4); + + Assert.AreEqual("D2", scenarioRecords[1].LocationId); + Assert.AreEqual("1", scenarioRecords[1].LocationScenarioId); + Assert.AreEqual(0.013, scenarioRecords[1].HeadPl3); + Assert.AreEqual(0.014, scenarioRecords[1].HeadPl4); + } + + [Test] public void AllCsvTimingTest() { DataEventPublisher.InvokeWithoutPublishingEvents(() => @@ -913,6 +977,5 @@ Assert.Less(elapsed, maxTime); }); } - } } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterScenarios.cs =================================================================== diff -u -r2512 -r2547 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterScenarios.cs (.../CsvImporterScenarios.cs) (revision 2512) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/CsvImporters/CsvImporterScenarios.cs (.../CsvImporterScenarios.cs) (revision 2547) @@ -161,6 +161,8 @@ int colIndexUsePlLineOffsetFactorBelowShoulderCrest = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.UsePlLineOffsetFactorBelowShoulderCrestColumnName); int colIndexHeadPl3 = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl3ColumnName); int colIndexHeadPl4 = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl4ColumnName); + int colIndexHeadPl3OldFormat = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl3OldFormatColumnName); + int colIndexHeadPl4OldFormat = CsvReaderUtilities.GetHeaderIndexByString(headers, CsvColumnNames.HeadPl4OldFormatColumnName); var index = 1; while (csv.ReadNextRecord()) @@ -267,11 +269,27 @@ colIndex = colIndexHeadPl3; scenario.HeadPl3 = Convert.ToDouble(csv[colIndex]); } + else + { + if (colIndexHeadPl3OldFormat > -1) + { + colIndex = colIndexHeadPl3OldFormat; + scenario.HeadPl3 = Convert.ToDouble(csv[colIndex]); + } + } if (colIndexHeadPl4 > -1) { colIndex = colIndexHeadPl4; scenario.HeadPl4 = Convert.ToDouble(csv[colIndex]); } + else + { + if (colIndexHeadPl4OldFormat > -1) + { + colIndex = colIndexHeadPl4OldFormat; + scenario.HeadPl4 = Convert.ToDouble(csv[colIndex]); + } + } scenarioRecords.Add(scenario); } catch (Exception e) Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs =================================================================== diff -u -r2529 -r2547 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs (.../CsvColumnNames.cs) (revision 2529) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/Importers/CsvColumnNames.cs (.../CsvColumnNames.cs) (revision 2547) @@ -86,6 +86,16 @@ public const string HeadPl4ColumnName = "head_pl4"; /// + /// head_pl3 + /// + public const string HeadPl3OldFormatColumnName = "HeadPl3"; + + /// + /// head_pl4 + /// + public const string HeadPl4OldFormatColumnName = "HeadPl4"; + + /// /// x_soilgeometry2D_origin /// public const string XSoilGeometry2DOriginColumnName = "x_soilgeometry2D_origin";