Index: Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraRingSettingsDatabaseReader.cs
===================================================================
diff -u -re4565100f14feece0bea5bc7acf9eef9acf7a8e6 -r23925d0f05558876349015afc3f698789699a0e3
--- Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraRingSettingsDatabaseReader.cs (.../HydraRingSettingsDatabaseReader.cs) (revision e4565100f14feece0bea5bc7acf9eef9acf7a8e6)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/HydraRing/HydraRingSettingsDatabaseReader.cs (.../HydraRingSettingsDatabaseReader.cs) (revision 23925d0f05558876349015afc3f698789699a0e3)
@@ -37,6 +37,10 @@
///
public class HydraRingSettingsDatabaseReader : SqLiteDatabaseReaderBase
{
+ private const string minColumn = "Min";
+ private const string maxColumn = "Max";
+
+ private const string subMechanismIdColumn = "SubMechanismID";
private const string calculationTechniqueIdColumn = "CalculationMethod";
private const string formStartMethodColumn = "FORM_StartMethod";
private const string formNumberOfIterationsColumn = "FORM_NIterations";
@@ -52,16 +56,13 @@
private const string niUMaxColumn = "NI_UMax";
private const string niNumberStepsColumn = "NI_NumberSteps";
- private const string minColumn = "Min";
- private const string maxColumn = "Max";
+ private const string timeIntegrationSchemeIdColumn = "TimeIntegrationSchemeID";
private string locationIdColumn = "LocationID";
private const string locationIdParameterName = "@locationId";
private const string calculationTypeIdParameterName = "@calculationTypeId";
private const string mechanismIdParameterName = "@mechanismID";
- private const string subMechanismIdParameterName = "@subMechanismID";
- private const string timeIntegrationSchemeIdColumn = "TimeIntegrationSchemeID";
private readonly string designTableSettingsForLocationAndCalculationTypeQuery;
private readonly string numericSettingsForLocationMechanismAndSubMechanismQuery;
@@ -90,8 +91,9 @@
calculationTypeIdParameterName);
numericSettingsForLocationMechanismAndSubMechanismQuery = string.Format(
- "SELECT {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13} " +
- "FROM NumericsSettings WHERE LocationID = {14} AND MechanismID = {15} AND SubMechanismID = {16}",
+ "SELECT {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14} " +
+ "FROM NumericsSettings WHERE LocationID = {15} AND MechanismID = {16}",
+ subMechanismIdColumn,
calculationTechniqueIdColumn,
formStartMethodColumn,
formNumberOfIterationsColumn,
@@ -107,8 +109,7 @@
niUMaxColumn,
niNumberStepsColumn,
locationIdParameterName,
- mechanismIdParameterName,
- subMechanismIdParameterName);
+ mechanismIdParameterName);
timeIntegrationSettingsForLocationAndCalculationTypeQuery = string.Format(
"SELECT {0} FROM TimeIntegrationSettings WHERE LocationID = {1} AND CalculationTypeID = {2}",
@@ -151,30 +152,33 @@
///
/// The id of a hydraulic boundary location.
/// The mechanism id to obtain the for.
- /// The sub mechanism id to obtain the for.
- /// A new containing values read from the database.
- public NumericsSetting ReadNumericsSetting(long locationId, int mechanimsId, int subMechanismId)
+ /// A new where the key is the submechanism id, and the value is
+ /// the containing values read from the database.
+ public Dictionary ReadNumericsSetting(long locationId, int mechanimsId)
{
- var reader = CreateNumericsSettingsDataReader(locationId, mechanimsId, subMechanismId);
- if (MoveNext(reader))
+ var settings = new Dictionary();
+ var reader = CreateNumericsSettingsDataReader(locationId, mechanimsId);
+ while (MoveNext(reader))
{
- return new NumericsSetting(
- Convert.ToInt32(reader[calculationTechniqueIdColumn]),
- Convert.ToInt32(reader[formStartMethodColumn]),
- Convert.ToInt32(reader[formNumberOfIterationsColumn]),
- Convert.ToDouble(reader[formRelaxationFactorColumn]),
- Convert.ToDouble(reader[formEpsBetaColumn]),
- Convert.ToDouble(reader[formEpsHohColumn]),
- Convert.ToDouble(reader[formEpsZFuncColumn]),
- Convert.ToInt32(reader[dsStartMethodColumn]),
- Convert.ToInt32(reader[dsMinNumberOfIterationsColumn]),
- Convert.ToInt32(reader[dsMaxNumberOfIterationsColumn]),
- Convert.ToDouble(reader[dsVarCoefficientColumn]),
- Convert.ToDouble(reader[niUMinColumn]),
- Convert.ToDouble(reader[niUMaxColumn]),
- Convert.ToInt32(reader[niNumberStepsColumn]));
+ settings.Add(
+ Convert.ToInt32(reader[subMechanismIdColumn]),
+ new NumericsSetting(
+ Convert.ToInt32(reader[calculationTechniqueIdColumn]),
+ Convert.ToInt32(reader[formStartMethodColumn]),
+ Convert.ToInt32(reader[formNumberOfIterationsColumn]),
+ Convert.ToDouble(reader[formRelaxationFactorColumn]),
+ Convert.ToDouble(reader[formEpsBetaColumn]),
+ Convert.ToDouble(reader[formEpsHohColumn]),
+ Convert.ToDouble(reader[formEpsZFuncColumn]),
+ Convert.ToInt32(reader[dsStartMethodColumn]),
+ Convert.ToInt32(reader[dsMinNumberOfIterationsColumn]),
+ Convert.ToInt32(reader[dsMaxNumberOfIterationsColumn]),
+ Convert.ToDouble(reader[dsVarCoefficientColumn]),
+ Convert.ToDouble(reader[niUMinColumn]),
+ Convert.ToDouble(reader[niUMaxColumn]),
+ Convert.ToInt32(reader[niNumberStepsColumn])));
}
- return null;
+ return settings;
}
///
@@ -236,7 +240,7 @@
typeParameter);
}
- private SQLiteDataReader CreateNumericsSettingsDataReader(long locationId, int mechanimsId, int subMechanismId)
+ private SQLiteDataReader CreateNumericsSettingsDataReader(long locationId, int mechanimsId)
{
var locationParameter = new SQLiteParameter
{
@@ -252,18 +256,10 @@
Value = mechanimsId
};
- var subMechanismIdParameter = new SQLiteParameter
- {
- DbType = DbType.Int32,
- ParameterName = subMechanismIdParameterName,
- Value = subMechanismId
- };
-
return CreateDataReader(
numericSettingsForLocationMechanismAndSubMechanismQuery,
locationParameter,
- mechanismIdParameter,
- subMechanismIdParameter);
+ mechanismIdParameter);
}
private SQLiteDataReader CreateTimeIntegrationDataReader(long locationId, HydraRingFailureMechanismType calculationType)
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/HydraRingSettingsDatabaseReaderTest.cs
===================================================================
diff -u -re4565100f14feece0bea5bc7acf9eef9acf7a8e6 -r23925d0f05558876349015afc3f698789699a0e3
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/HydraRingSettingsDatabaseReaderTest.cs (.../HydraRingSettingsDatabaseReaderTest.cs) (revision e4565100f14feece0bea5bc7acf9eef9acf7a8e6)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/HydraRing/HydraRingSettingsDatabaseReaderTest.cs (.../HydraRingSettingsDatabaseReaderTest.cs) (revision 23925d0f05558876349015afc3f698789699a0e3)
@@ -167,13 +167,14 @@
}
[Test]
- [TestCase(700132, 11, 16, 1, 4, 50, 0.15, 0.05, 0.01, 0.01, 0, 2, 20000, 100000.0, 0.1, -6.0, 6)]
- [TestCase(700135, 3, 5, 4, 1, 50, 0.15, 0.05, 0.01, 0.01, 0, 2, 10000, 10000.0, 0.1, -6.0, 6)]
- [TestCase(700135, 101, 102, 1, 4, 50, 0.15, 0.05, 0.01, 0.01, 0, 2, 20000, 100000.0, 0.1, -6.0, 6)]
+ [TestCase(700132, 11, 3, 16, 1, 4, 50, 0.15, 0.05, 0.01, 0.01, 0, 2, 20000, 100000.0, 0.1, -6.0, 6)]
+ [TestCase(700135, 3, 1, 5, 4, 1, 50, 0.15, 0.05, 0.01, 0.01, 0, 2, 10000, 10000.0, 0.1, -6.0, 6)]
+ [TestCase(700135, 101, 1, 102, 1, 4, 50, 0.15, 0.05, 0.01, 0.01, 0, 2, 20000, 100000.0, 0.1, -6.0, 6)]
public void ReadNumericsSetting_ValidLocationIdAndFailureMechanismType_DesignTableSettingWithExpectedValues(
- long locationId,
- int mechanismId,
- int subMechanismId,
+ long locationId,
+ int mechanismId,
+ int expectedNumberOfSettings,
+ int subMechanismIdForSample,
int expectedCalculationTechniqueId,
int expectedFormStartMethod,
int expectedFormNumberOfIterations,
@@ -193,9 +194,11 @@
var reader = new HydraRingSettingsDatabaseReader(completeDatabaseDataPath);
// Call
- NumericsSetting setting = reader.ReadNumericsSetting(locationId, mechanismId, subMechanismId);
+ Dictionary settings = reader.ReadNumericsSetting(locationId, mechanismId);
// Assert
+ Assert.AreEqual(expectedNumberOfSettings, settings.Count);
+ var setting = settings[subMechanismIdForSample];
Assert.AreEqual(expectedCalculationTechniqueId, setting.CalculationTechniqueId);
Assert.AreEqual(expectedFormStartMethod, setting.FormStartMethod);
Assert.AreEqual(expectedFormNumberOfIterations, setting.FormNumberOfIterations);
@@ -213,33 +216,33 @@
}
[Test]
- [TestCase(700134, 7, 14)]
- [TestCase(0, 5, 11)]
- [TestCase(700134, 5, 25)]
- public void ReadNumericsSetting_ValidLocationIdFailureMechanismTypeAndSubMechanismIdNotInDatabase_ReturnNull(
- long locationId, int mechanismId, int subMechanismId)
+ [TestCase(700134, 7)]
+ [TestCase(0, 5)]
+ [TestCase(700134, 5)]
+ public void ReadNumericsSetting_ValidLocationIdFailureMechanismTypeNotInDatabase_ReturnEmptyDictionary(
+ long locationId, int mechanismId)
{
// Setup
var reader = new HydraRingSettingsDatabaseReader(completeDatabaseDataPath);
// Call
- NumericsSetting setting = reader.ReadNumericsSetting(locationId, mechanismId, subMechanismId);
+ Dictionary setting = reader.ReadNumericsSetting(locationId, mechanismId);
// Assert
- Assert.IsNull(setting);
+ Assert.IsEmpty(setting);
}
[Test]
- public void ReadNumericsSetting_EmptyTable_ReturnNull()
+ public void ReadNumericsSetting_EmptyTable_ReturnEmptyDictionary()
{
// Setup
var reader = new HydraRingSettingsDatabaseReader(emptyDatabaseDataPath);
// Call
- NumericsSetting setting = reader.ReadNumericsSetting(700135, 101, 102);
+ Dictionary setting = reader.ReadNumericsSetting(700135, 101);
// Assert
- Assert.IsNull(setting);
+ Assert.IsEmpty(setting);
}
[Test]
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs
===================================================================
diff -u -rce5d60b8a5c520faec45cce64de6957dce747449 -r23925d0f05558876349015afc3f698789699a0e3
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision ce5d60b8a5c520faec45cce64de6957dce747449)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 23925d0f05558876349015afc3f698789699a0e3)
@@ -25,6 +25,7 @@
using System.IO;
using Ringtoets.HydraRing.Calculation.Data;
using Ringtoets.HydraRing.Calculation.Data.Input;
+using Ringtoets.HydraRing.Calculation.Data.Settings;
using Ringtoets.HydraRing.Calculation.Parsers;
using Ringtoets.HydraRing.Calculation.Services;
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs
===================================================================
diff -u -r5cbdfc02ed72dd65d6d6eea33a33804ea6cf6b02 -r23925d0f05558876349015afc3f698789699a0e3
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (.../HydraRingConfigurationService.cs) (revision 5cbdfc02ed72dd65d6d6eea33a33804ea6cf6b02)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Services/HydraRingConfigurationService.cs (.../HydraRingConfigurationService.cs) (revision 23925d0f05558876349015afc3f698789699a0e3)
@@ -28,6 +28,7 @@
using Ringtoets.HydraRing.Calculation.Data;
using Ringtoets.HydraRing.Calculation.Data.Defaults;
using Ringtoets.HydraRing.Calculation.Data.Input;
+using Ringtoets.HydraRing.Calculation.Data.Settings;
using Ringtoets.HydraRing.Calculation.Providers;
namespace Ringtoets.HydraRing.Calculation.Services
@@ -56,18 +57,36 @@
///
internal class HydraRingConfigurationService
{
+ private struct InputWithSettings
+ {
+ public 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;
+ }
+ }
+
private const double defaultLayerId = 1;
private const double defaultAlternativeId = 1;
private const double defaultHydraRingValue = 0.0;
private readonly double? defaultHydraRingNullValue = null;
private readonly string ringId;
- private readonly IList hydraRingCalculationInputs;
+ private readonly IList hydraRingInputsAndSettings = new List();
+ private readonly FailureMechanismDefaultsProvider failureMechanismDefaultsProvider = new FailureMechanismDefaultsProvider();
+ private readonly VariableDefaultsProvider variableDefaultsProvider = new VariableDefaultsProvider();
+
private readonly NumericsSettingsProvider numericsSettingsProvider = new NumericsSettingsProvider();
private readonly DesignTablesSettingsProvider designTablesSettingsProvider = new DesignTablesSettingsProvider();
private readonly HydraulicModelsSettingsProvider hydraulicModelsSettingsProvider = new HydraulicModelsSettingsProvider();
- private readonly FailureMechanismDefaultsProvider failureMechanismDefaultsProvider = new FailureMechanismDefaultsProvider();
- private readonly VariableDefaultsProvider variableDefaultsProvider = new VariableDefaultsProvider();
+
private readonly HydraRingUncertaintiesType uncertaintiesType;
///
@@ -77,8 +96,6 @@
/// The to use while performing Hydra-Ring calculations.
public HydraRingConfigurationService(string ringId, HydraRingUncertaintiesType uncertaintiesType)
{
- hydraRingCalculationInputs = new List();
-
this.ringId = ringId;
this.uncertaintiesType = uncertaintiesType;
}
@@ -113,17 +130,38 @@
/// the same has already been added.
public void AddHydraRingCalculationInput(HydraRingCalculationInput hydraRingCalculationInput)
{
- if (hydraRingCalculationInputs.Any(h => h.Section.SectionId == hydraRingCalculationInput.Section.SectionId))
+ 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)
+ {
+ if (hydraRingInputsAndSettings.Any(h => h.Input.Section.SectionId == input.Section.SectionId))
{
- throw new ArgumentException(@"Section id is not unique", "hydraRingCalculationInput");
+ throw new ArgumentException(@"Section id is not unique", "input");
}
- if (hydraRingCalculationInputs.Count > 0 && hydraRingCalculationInputs.First().FailureMechanismType != hydraRingCalculationInput.FailureMechanismType)
+ if (hydraRingInputsAndSettings.Count > 0 && hydraRingInputsAndSettings.First().Input.FailureMechanismType != input.FailureMechanismType)
{
throw new NotSupportedException("Running calculations for multiple failure mechanism types is not supported.");
}
- hydraRingCalculationInputs.Add(hydraRingCalculationInput);
+ hydraRingInputsAndSettings.Add(new InputWithSettings(
+ input,
+ designTablesSetting,
+ hydraulicModelsSetting, numericsSettings));
}
///
@@ -163,11 +201,14 @@
private IList GetHydraulicModelsConfiguration()
{
var timeIntegrationSchemeId = 1;
- var input = hydraRingCalculationInputs.FirstOrDefault();
- if (input != null)
+ if(hydraRingInputsAndSettings.Count > 0)
{
- timeIntegrationSchemeId = hydraulicModelsSettingsProvider.GetHydraulicModelsSetting(input.FailureMechanismType, ringId).TimeIntegrationSchemeId;
+ HydraulicModelsSetting hydraulicModelsSetting = hydraulicModelsSettingsProvider.GetHydraulicModelsSetting(
+ hydraRingInputsAndSettings.First().Input.FailureMechanismType,
+ ringId);
+
+ timeIntegrationSchemeId = hydraulicModelsSetting.TimeIntegrationSchemeId;
}
return new List
@@ -191,9 +232,10 @@
{
var orderedDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
- var hydraRingSection = hydraRingCalculationInput.Section;
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
+ HydraRingSection hydraRingSection = hydraRingCalculationInput.Section;
orderedDictionaries.Add(new OrderedDictionary
{
@@ -249,10 +291,11 @@
{
var orderedDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
- var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
- var designTablesSetting = designTablesSettingsProvider.GetDesignTablesSetting(hydraRingCalculationInput.FailureMechanismType, ringId);
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ DesignTablesSetting designTablesSetting = designTablesSettingsProvider.GetDesignTablesSetting(hydraRingCalculationInput.FailureMechanismType, ringId);
orderedDictionaries.Add(new OrderedDictionary
{
@@ -305,11 +348,12 @@
{
var orderDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
- var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
- foreach (var subMechanismId in failureMechanismDefaults.SubMechanismIds)
+ foreach (int subMechanismId in failureMechanismDefaults.SubMechanismIds)
{
var numericsSetting = numericsSettingsProvider.GetNumericsSetting(hydraRingCalculationInput.FailureMechanismType, subMechanismId, ringId);
@@ -386,11 +430,12 @@
{
var orderDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
- var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
- foreach (var hydraRingVariable in hydraRingCalculationInput.Variables)
+ foreach (HydraRingVariable hydraRingVariable in hydraRingCalculationInput.Variables)
{
var variableDefaults = variableDefaultsProvider.GetVariableDefaults(hydraRingCalculationInput.FailureMechanismType, hydraRingVariable.VariableId);
@@ -459,11 +504,12 @@
{
var orderDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++)
{
- var hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i);
+ HydraRingProfilePoint hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i);
orderDictionaries.Add(new OrderedDictionary
{
@@ -489,12 +535,13 @@
private IList GetCalculationProfilesConfiguration()
{
var orderDictionaries = new List();
-
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
for (var i = 0; i < hydraRingCalculationInput.ProfilePoints.Count(); i++)
{
- var hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i);
+ HydraRingProfilePoint hydraRingProfilePoint = hydraRingCalculationInput.ProfilePoints.ElementAt(i);
orderDictionaries.Add(new OrderedDictionary
{
@@ -523,8 +570,9 @@
private IList GetForlandModelsConfiguration()
{
var orderDictionaries = new List();
- foreach (HydraRingCalculationInput input in hydraRingCalculationInputs.Where(i => i.ForelandsPoints.Any()))
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings.Where(i => i.Input.ForelandsPoints.Any()))
{
+ HydraRingCalculationInput input = inputWithSettings.Input;
FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(input.FailureMechanismType);
orderDictionaries.Add(new OrderedDictionary
{
@@ -545,8 +593,9 @@
private IList GetForelandsConfiguration()
{
var orderDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
for (var i = 0; i < hydraRingCalculationInput.ForelandsPoints.Count(); i++)
{
var forelandPoint = hydraRingCalculationInput.ForelandsPoints.ElementAt(i);
@@ -574,8 +623,9 @@
private IList GetBreakWatersConfiguration()
{
var orderedDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
if (hydraRingCalculationInput.BreakWater != null)
{
orderedDictionaries.Add(new OrderedDictionary
@@ -599,9 +649,10 @@
{
var orderedDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
- var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
orderedDictionaries.Add(new OrderedDictionary
{
@@ -630,9 +681,10 @@
{
var orderedDictionaries = new List();
- foreach (var hydraRingCalculationInput in hydraRingCalculationInputs)
+ foreach (InputWithSettings inputWithSettings in hydraRingInputsAndSettings)
{
- var failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
+ HydraRingCalculationInput hydraRingCalculationInput = inputWithSettings.Input;
+ FailureMechanismDefaults failureMechanismDefaults = failureMechanismDefaultsProvider.GetFailureMechanismDefaults(hydraRingCalculationInput.FailureMechanismType);
foreach (var subMechanismId in failureMechanismDefaults.SubMechanismIds)
{