Index: Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/NumericsSettingsProvider.cs =================================================================== diff -u -r2d900083e4f3a92af1acc0584aa3e2bc9155b8cb -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/NumericsSettingsProvider.cs (.../NumericsSettingsProvider.cs) (revision 2d900083e4f3a92af1acc0584aa3e2bc9155b8cb) +++ Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/NumericsSettingsProvider.cs (.../NumericsSettingsProvider.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -61,13 +61,13 @@ /// The to obtain the for. /// A new where the key is the submechanism id, and the value is /// the containing values corresponding to the provided failure mechanism type and location id. - public Dictionary GetNumericsSettings(long locationId, HydraRingFailureMechanismType failureMechanismType) + public Dictionary GetNumericsSettings(long locationId, HydraRingFailureMechanismType failureMechanismType) { var failureMechanismDefaults = new FailureMechanismDefaultsProvider().GetFailureMechanismDefaults(failureMechanismType); var subMechanismIds = failureMechanismDefaults.SubMechanismIds; var mechanismId = failureMechanismDefaults.MechanismId; - var numericsSettings = new Dictionary(); + var numericsSettings = new Dictionary(); foreach (var subMechanismId in subMechanismIds) { Index: Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs =================================================================== diff -u -r8e182435811ddd7f9cf29ae57f62b91a2ce5a29c -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs (.../DesignWaterLevelCalculationService.cs) (revision 8e182435811ddd7f9cf29ae57f62b91a2ce5a29c) +++ Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs (.../DesignWaterLevelCalculationService.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -19,11 +19,13 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.IO; using System.Linq; using Core.Common.Base.Data; using log4net; +using Ringtoets.Common.IO.HydraRing; using Ringtoets.Common.Service.MessageProviders; using Ringtoets.Common.Service.Properties; using Ringtoets.HydraRing.Calculation.Calculator; @@ -91,7 +93,7 @@ try { - calculator.Calculate(CreateInput(hydraulicBoundaryLocation, norm)); + calculator.Calculate(CreateInput(hydraulicBoundaryLocation, norm, hydraulicBoundaryDatabaseFilePath)); hydraulicBoundaryLocation.DesignWaterLevel = (RoundedDouble) calculator.DesignWaterLevel; hydraulicBoundaryLocation.DesignWaterLevelCalculationConvergence = @@ -129,9 +131,13 @@ } } - private AssessmentLevelCalculationInput CreateInput(HydraulicBoundaryLocation hydraulicBoundaryLocation, double norm) + private AssessmentLevelCalculationInput CreateInput(HydraulicBoundaryLocation hydraulicBoundaryLocation, double norm, string hydraulicBoundaryDatabaseFilePath) { - return new AssessmentLevelCalculationInput(1, hydraulicBoundaryLocation.Id, norm); + var assessmentLevelCalculationInput = new AssessmentLevelCalculationInput(1, hydraulicBoundaryLocation.Id, norm); + + HydraRingSettingsHelper.SetHydraRingSettings(assessmentLevelCalculationInput, hydraulicBoundaryDatabaseFilePath); + + return assessmentLevelCalculationInput; } private static string[] ValidateInput(string hydraulicBoundaryDatabaseFilePath) Index: Ringtoets/Common/src/Ringtoets.Common.Service/HydraRingSettingsHelper.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Service/HydraRingSettingsHelper.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Service/HydraRingSettingsHelper.cs (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -0,0 +1,76 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.IO; +using Core.Common.IO.Exceptions; +using Ringtoets.Common.IO.HydraRing; +using Ringtoets.HydraRing.Calculation.Data.Input; + +namespace Ringtoets.Common.Service +{ + /// + /// Helper class for providing a convinient method for obtaining Hydra-Ring settings per location from the settings database + /// based on . + /// + public static class HydraRingSettingsHelper + { + private const string hydraRingConfigurationDatabaseExtension = "config.sqlite"; + + /// + /// Obtains the Hydra-Ring settings based on the location and the failure mechanism obtained from the + /// and sets these value on the . + /// + /// The calculation input for which the settings are updated. + /// The path to the hydraulic boundary database file. + /// Thrown when: + /// + /// The contains invalid characters. + /// No settings database file could be found at the location of + /// with the same name. + /// Unable to open settings database file. + /// + /// + public static void SetHydraRingSettings(HydraRingCalculationInput calculationInput, string hydraulicBoundaryDatabaseFilePath) + { + var locationId = calculationInput.HydraulicBoundaryLocationId; + using (var designTablesSettingsProviders = new DesignTablesSettingsProvider(GetHydraulicBoundarySettingsDatabase(hydraulicBoundaryDatabaseFilePath))) + { + calculationInput.DesignTablesSetting = + designTablesSettingsProviders.GetDesignTablesSetting(locationId, calculationInput.FailureMechanismType); + } + using (var numericsSettingsProvider = new NumericsSettingsProvider(GetHydraulicBoundarySettingsDatabase(hydraulicBoundaryDatabaseFilePath))) + { + calculationInput.NumericsSettings = + numericsSettingsProvider.GetNumericsSettings(locationId, calculationInput.FailureMechanismType); + } + using (var modelsSettingsProvider = new HydraulicModelsSettingsProvider(GetHydraulicBoundarySettingsDatabase(hydraulicBoundaryDatabaseFilePath))) + { + calculationInput.HydraulicModelsSetting = + modelsSettingsProvider.GetHydraulicModelsSetting(locationId, calculationInput.FailureMechanismType); + } + } + + private static string GetHydraulicBoundarySettingsDatabase(string hydraulicBoundaryDatabaseFilePath) + { + return Path.ChangeExtension(hydraulicBoundaryDatabaseFilePath, hydraRingConfigurationDatabaseExtension); + } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj =================================================================== diff -u -rdc80ceebd52da19d841b46b5300695fd5c83e4a6 -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj (.../Ringtoets.Common.Service.csproj) (revision dc80ceebd52da19d841b46b5300695fd5c83e4a6) +++ Ringtoets/Common/src/Ringtoets.Common.Service/Ringtoets.Common.Service.csproj (.../Ringtoets.Common.Service.csproj) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -49,6 +49,7 @@ + @@ -79,6 +80,10 @@ Core.Common.Base False + + {E344867E-9AC9-44C8-88A5-8185681679A9} + Core.Common.IO + {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98} Core.Common.Utils @@ -104,6 +109,10 @@ Ringtoets.Common.Data False + + {52BA7627-CBAB-4209-BE77-3B5F31378277} + Ringtoets.Common.IO + Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/DesignTablesSettingsProviderTest.cs =================================================================== diff -u -rba15b57903cc8a77a35dcf0efa392b5aa7a5e70e -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/DesignTablesSettingsProviderTest.cs (.../DesignTablesSettingsProviderTest.cs) (revision ba15b57903cc8a77a35dcf0efa392b5aa7a5e70e) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/DesignTablesSettingsProviderTest.cs (.../DesignTablesSettingsProviderTest.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -19,7 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.IO; +using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.HydraRing; @@ -36,6 +38,31 @@ Path.Combine("HydraRingSettingsDatabaseReader", "7_67.config.sqlite")); [Test] + [TestCase("")] + [TestCase(" ")] + [TestCase("!")] + [TestCase("nonExisting")] + public void Constructor_InvalidPath_ThrowCriticalFileReadException(string databasePath) + { + // Call + TestDelegate test = () => new DesignTablesSettingsProvider(databasePath); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Constructor_ValidPath_ReturnsNewInstance() + { + // Call + using (var provider = new DesignTablesSettingsProvider(completeDatabaseDataPath)) + { + // Assert + Assert.IsInstanceOf(provider); + } + } + + [Test] [TestCase(HydraRingFailureMechanismType.QVariant, 700137, 0.98, 2.98)] [TestCase(HydraRingFailureMechanismType.WaveHeight, 700138, -2.0, 0)] [TestCase(HydraRingFailureMechanismType.DikesOvertopping, 700132, 2.0, 5.0)] Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/HydraulicModelsSettingsProviderTest.cs =================================================================== diff -u -rba15b57903cc8a77a35dcf0efa392b5aa7a5e70e -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/HydraulicModelsSettingsProviderTest.cs (.../HydraulicModelsSettingsProviderTest.cs) (revision ba15b57903cc8a77a35dcf0efa392b5aa7a5e70e) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/HydraulicModelsSettingsProviderTest.cs (.../HydraulicModelsSettingsProviderTest.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -19,7 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.IO; +using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.HydraRing; @@ -36,6 +38,31 @@ Path.Combine("HydraRingSettingsDatabaseReader", "7_67.config.sqlite")); [Test] + [TestCase("")] + [TestCase(" ")] + [TestCase("!")] + [TestCase("nonExisting")] + public void Constructor_InvalidPath_ThrowCriticalFileReadException(string databasePath) + { + // Call + TestDelegate test = () => new DesignTablesSettingsProvider(databasePath); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Constructor_ValidPath_ReturnsNewInstance() + { + // Call + using (var provider = new DesignTablesSettingsProvider(completeDatabaseDataPath)) + { + // Assert + Assert.IsInstanceOf(provider); + } + } + + [Test] [TestCase(HydraRingFailureMechanismType.AssessmentLevel, 700131, 1)] [TestCase(HydraRingFailureMechanismType.QVariant, 700131, 1)] [TestCase(HydraRingFailureMechanismType.WaveHeight, 700131, 1)] Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/NumericsSettingsProviderTest.cs =================================================================== diff -u -r2d900083e4f3a92af1acc0584aa3e2bc9155b8cb -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/NumericsSettingsProviderTest.cs (.../NumericsSettingsProviderTest.cs) (revision 2d900083e4f3a92af1acc0584aa3e2bc9155b8cb) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/NumericsSettingsProviderTest.cs (.../NumericsSettingsProviderTest.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -19,8 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections.Generic; using System.IO; +using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.IO.HydraRing; @@ -37,6 +39,31 @@ Path.Combine("HydraRingSettingsDatabaseReader", "7_67.config.sqlite")); [Test] + [TestCase("")] + [TestCase(" ")] + [TestCase("!")] + [TestCase("nonExisting")] + public void Constructor_InvalidPath_ThrowCriticalFileReadException(string databasePath) + { + // Call + TestDelegate test = () => new NumericsSettingsProvider(databasePath); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Constructor_ValidPath_ReturnsNewInstance() + { + // Call + using (var provider = new NumericsSettingsProvider(completeDatabaseDataPath)) + { + // Assert + Assert.IsInstanceOf(provider); + } + } + + [Test] public void GetNumericsSetting_KnownLocationId_ReturnsExpectedNumericsSetting() { // Setup @@ -45,7 +72,7 @@ NumericsSetting expectedValues = GetExpectedNumericsSetting(); // Call - Dictionary numericsSettings = numericsSettingsProvider.GetNumericsSettings(700132, HydraRingFailureMechanismType.AssessmentLevel); + Dictionary numericsSettings = numericsSettingsProvider.GetNumericsSettings(700132, HydraRingFailureMechanismType.AssessmentLevel); // Assert NumericsSetting numericsSetting = numericsSettings[1]; @@ -101,7 +128,7 @@ using (NumericsSettingsProvider numericsSettingsProvider = new NumericsSettingsProvider(completeDatabaseDataPath)) { // Call - Dictionary numericsSettings = numericsSettingsProvider.GetNumericsSettings(-1, failureMechanismType); + Dictionary numericsSettings = numericsSettingsProvider.GetNumericsSettings(-1, failureMechanismType); // Assert NumericsSetting numericsSetting = numericsSettings[subMechanismId]; Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs =================================================================== diff -u -r716dae0b1b95fb38ad2aa6630f9ba694aa4631b2 -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (.../HydraRingCalculationInput.cs) (revision 716dae0b1b95fb38ad2aa6630f9ba694aa4631b2) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/HydraRingCalculationInput.cs (.../HydraRingCalculationInput.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -20,6 +20,7 @@ // All rights reserved. using System.Collections.Generic; +using Ringtoets.HydraRing.Calculation.Data.Settings; namespace Ringtoets.HydraRing.Calculation.Data.Input { @@ -40,6 +41,21 @@ } /// + /// Gets or sets the design tables settings. + /// + public DesignTablesSetting DesignTablesSetting { get; set; } + + /// + /// Gets or sets the collection of numerics settings specified per sub mechanism. + /// + public Dictionary NumericsSettings { get; set; } + + /// + /// Gets or sets the hydraulic models settings. + /// + public HydraulicModelsSetting HydraulicModelsSetting { get; set; } + + /// /// Gets the . /// public abstract HydraRingFailureMechanismType FailureMechanismType { get; } Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs =================================================================== diff -u -r5d993779a41af229dac2d6defb21ce2b775e73fd -r16f6bd5805e77d549cded91fc48fff35ffbdec00 --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (.../HydraRingConfigurationService.cs) (revision 5d993779a41af229dac2d6defb21ce2b775e73fd) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (.../HydraRingConfigurationService.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00) @@ -63,7 +63,7 @@ private readonly double? defaultHydraRingNullValue = null; private readonly string ringId; - private readonly IList hydraRingInputsAndSettings = new List(); + private readonly IList hydraRingInputs = new List(); private readonly FailureMechanismDefaultsProvider failureMechanismDefaultsProvider = new FailureMechanismDefaultsProvider(); private readonly VariableDefaultsProvider variableDefaultsProvider = new VariableDefaultsProvider(); @@ -108,43 +108,22 @@ /// /// Adds Hydra-Ring calculation input to the configuration. /// - /// The calculation input to add to the configuration. - /// Thrown when with - /// the same has already been added. - public void AddHydraRingCalculationInput(HydraRingCalculationInput hydraRingCalculationInput) - { - AddHydraRingCalculationInput(hydraRingCalculationInput, - null, - null, - null); - } - - /// - /// Adds Hydra-Ring calculation input to the configuration. - /// /// The calculation input to add to the configuration. - /// The settings for the design table when performing the calculation with given . - /// The dictionary containing numerics settings per submechanism for the given . - /// The settings for the hydraulic models when performing the calculation with given . /// Thrown when with /// the same has already been added. - public void AddHydraRingCalculationInput(HydraRingCalculationInput input, DesignTablesSetting designTablesSetting, - Dictionary numericsSettings, HydraulicModelsSetting hydraulicModelsSetting) + public void AddHydraRingCalculationInput(HydraRingCalculationInput input) { - if (hydraRingInputsAndSettings.Any(h => h.Input.Section.SectionId == input.Section.SectionId)) + if (hydraRingInputs.Any(h => h.Section.SectionId == input.Section.SectionId)) { throw new ArgumentException(@"Section id is not unique", "input"); } - if (hydraRingInputsAndSettings.Count > 0 && hydraRingInputsAndSettings.First().Input.FailureMechanismType != input.FailureMechanismType) + if (hydraRingInputs.Count > 0 && hydraRingInputs.First().FailureMechanismType != input.FailureMechanismType) { throw new NotSupportedException("Running calculations for multiple failure mechanism types is not supported."); } - hydraRingInputsAndSettings.Add(new InputWithSettings( - input, - designTablesSetting, - hydraulicModelsSetting, numericsSettings)); + hydraRingInputs.Add(input); } /// @@ -204,9 +183,8 @@ { var orderedDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; HydraRingSection hydraRingSection = hydraRingCalculationInput.Section; orderedDictionaries.Add(new OrderedDictionary @@ -263,9 +241,8 @@ { var orderedDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); DesignTablesSetting designTablesSetting = designTablesSettingsProvider.GetDesignTablesSetting(hydraRingCalculationInput.FailureMechanismType, ringId); @@ -320,9 +297,8 @@ { var orderDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); foreach (int subMechanismId in failureMechanismDefaults.SubMechanismIds) @@ -402,9 +378,8 @@ { var orderDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); foreach (HydraRingVariable hydraRingVariable in hydraRingCalculationInput.Variables) @@ -476,9 +451,8 @@ { var orderDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++) { HydraRingProfilePoint hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i); @@ -508,9 +482,8 @@ { var orderDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++) { HydraRingProfilePoint hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i); @@ -542,9 +515,8 @@ private IList GetForlandModelsConfiguration() { var orderDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings.Where(i => i.Input.ForelandsPoints.Any())) + foreach (HydraRingCalculationInput input in hydraRingInputs.Where(i => i.ForelandsPoints.Any())) { - HydraRingCalculationInput input = inputWithSettings.Input; FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(input.FailureMechanismType); orderDictionaries.Add(new OrderedDictionary { @@ -565,9 +537,8 @@ private IList GetForelandsConfiguration() { var orderDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; for (var i = 0; i < hydraRingCalculationInput.ForelandsPoints.Count(); i++) { var forelandPoint = hydraRingCalculationInput.ForelandsPoints.ElementAt(i); @@ -595,9 +566,8 @@ private IList GetBreakWatersConfiguration() { var orderedDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; if (hydraRingCalculationInput.BreakWater != null) { orderedDictionaries.Add(new OrderedDictionary @@ -621,9 +591,8 @@ { var orderedDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); orderedDictionaries.Add(new OrderedDictionary @@ -653,9 +622,8 @@ { var orderedDictionaries = new List(); - foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings) + foreach (HydraRingCalculationInput hydraRingCalculationInput in hydraRingInputs) { - HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input; FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType); foreach (var subMechanismId in failureMechanismDefaults.SubMechanismIds) @@ -789,21 +757,5 @@ { return !double.IsNaN(value) ? value : defaultHydraRingNullValue; } - - private struct InputWithSettings - { - public readonly HydraRingCalculationInput Input; - public DesignTablesSetting DesignTablesSetting; - public HydraulicModelsSetting HydraulicModelsSetting; - public Dictionary NumericsSetting; - - public InputWithSettings(HydraRingCalculationInput hydraRingCalculationInput, DesignTablesSetting designTablesSetting, HydraulicModelsSetting hydraulicModelsSetting, Dictionary numericsSetting) - { - Input = hydraRingCalculationInput; - DesignTablesSetting = designTablesSetting; - NumericsSetting = numericsSetting; - HydraulicModelsSetting = hydraulicModelsSetting; - } - } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/test-data/HydraRingCalculation/HRD dutch coast south.config.sqlite =================================================================== diff -u Binary files differ Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/test-data/HydraRingCalculation/HRD ijsselmeer.config.sqlite =================================================================== diff -u Binary files differ