Index: DamClients/DamUI/trunk/src/Dam/Tests/DataPluginImporterTests.cs =================================================================== diff -u -r2419 -r2420 --- DamClients/DamUI/trunk/src/Dam/Tests/DataPluginImporterTests.cs (.../DataPluginImporterTests.cs) (revision 2419) +++ DamClients/DamUI/trunk/src/Dam/Tests/DataPluginImporterTests.cs (.../DataPluginImporterTests.cs) (revision 2420) @@ -48,7 +48,7 @@ List srcDataSources; DataPluginImporter dataPluginImporter; - private void SetupInvoer1() + private void SetupInvoer1WithShapeFiles() { srcDataSources = new List { @@ -91,6 +91,19 @@ dataPluginImporter.SetDataSources("", srcDataSources); } + private void SetupInvoer1WithoutShapeFiles() + { + srcDataSources = new List + { + new DataSource + { + DataSourceType = DataSourceType.CsvFiles, + DataLocation = invoer1DirectoryWithCsvFiles + }, + }; + dataPluginImporter = new DataPluginImporter(); + dataPluginImporter.SetDataSources("", srcDataSources); + } [Test] public void CanDefineDataSources() @@ -150,7 +163,7 @@ [Test] public void ValuesFromShapeFileOverwriteValuesFromLocationsCsv() { - SetupInvoer1(); + SetupInvoer1WithShapeFiles(); string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null); @@ -163,19 +176,36 @@ Assert.AreEqual("-3.632", locationDetails.First(x => x.ParameterName.Equals("HeadPL3")).ParameterValue); } + [Test] + public void ValuesFromLocationsCsvAreCopiedToScenarioIfNotDefinedInScenariosCsvOrShapeFile() + { + SetupInvoer1WithoutShapeFiles(); + string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); + dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null); + + string scenarioId = dataPluginImporter.GetScenarioList(dikeRingId, Location1Id).FirstOrDefault(); + IEnumerable scenarioDetails = dataPluginImporter.GetScenarioDetails(dikeRingId, Location1Id, scenarioId); + var nameValueParameters = scenarioDetails as NameValueParameter[] ?? scenarioDetails.ToArray(); + Assert.IsTrue(nameValueParameters.Any()); + Assert.AreEqual("-99", nameValueParameters.FirstOrDefault(x => x.ParameterName.Equals("HeadPL3")).ParameterValue); + + scenarioDetails = dataPluginImporter.GetScenarioDetails(dikeRingId, Location2Id, scenarioId); + Assert.AreEqual("-99", scenarioDetails.First(x => x.ParameterName.Equals("HeadPL3")).ParameterValue); + } + // [Test] // public void ValuesFromShapeFileAreCopiedToScenarioIfNotDefinedInScenariosCsv() // { -// SetupInvoer1(); +// SetupInvoer1WithShapeFiles(); // string dikeRingId = dataPluginImporter.GetDikeRingIdList().FirstOrDefault(); // dataPluginImporter.ImportDataForDikeRings(new List { dikeRingId }, null); -// +// // string scenarioId = dataPluginImporter.GetScenarioList(dikeRingId, Location1Id).FirstOrDefault(); // IEnumerable scenarioDetails = dataPluginImporter.GetScenarioDetails(dikeRingId, Location1Id, scenarioId); // var nameValueParameters = scenarioDetails as NameValueParameter[] ?? scenarioDetails.ToArray(); // Assert.IsTrue(nameValueParameters.Any()); // Assert.AreEqual("-3.651", nameValueParameters.FirstOrDefault(x => x.ParameterName.Equals("HeadPL3")).ParameterValue); -// +// // scenarioDetails = dataPluginImporter.GetScenarioDetails(dikeRingId, Location2Id, scenarioId); // Assert.AreEqual("-3.632", scenarioDetails.First(x => x.ParameterName.Equals("HeadPL3")).ParameterValue); // } Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/CombineImportedData.cs =================================================================== diff -u -r2323 -r2420 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/CombineImportedData.cs (.../CombineImportedData.cs) (revision 2323) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/IO/CombineImportedData.cs (.../CombineImportedData.cs) (revision 2420) @@ -683,14 +683,11 @@ scenarioRecord.UsePlLineOffsetBelowDikeCrestMiddle : dikeLocation.UsePlLineOffsetBelowDikeCrestMiddle; scenario.UsePlLineOffsetFactorBelowShoulderCrest = scenarioRecord.UsePlLineOffsetFactorBelowShoulderCrest.HasValue ? scenarioRecord.UsePlLineOffsetFactorBelowShoulderCrest : dikeLocation.UsePlLineOffsetFactorBelowShoulderCrest; - if (scenarioRecord.HeadPl3.HasValue) - { - scenario.HeadPl3 = scenarioRecord.HeadPl3; - } - if (scenarioRecord.HeadPl4.HasValue) - { - scenario.HeadPl4 = scenarioRecord.HeadPl4; - } + scenario.HeadPl3 = scenarioRecord.HeadPl3.HasValue ? + scenarioRecord.HeadPl3 : dikeLocation.HeadPl3; + scenario.HeadPl4 = scenarioRecord.HeadPl4.HasValue ? + scenarioRecord.HeadPl4 : dikeLocation.HeadPl4; + dikeLocation.Scenarios.Add(scenario); } }