Index: Riskeer/Common/src/Riskeer.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettingsFactory.cs
===================================================================
diff -u -r12c732c4549e943a1700d17c3d00b6ddacfcb8c5 -r8032b9f3c5ebb88c7f4a1b5d89ffcf85d1fddeb1
--- Riskeer/Common/src/Riskeer.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettingsFactory.cs (.../HydraulicBoundaryCalculationSettingsFactory.cs) (revision 12c732c4549e943a1700d17c3d00b6ddacfcb8c5)
+++ Riskeer/Common/src/Riskeer.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettingsFactory.cs (.../HydraulicBoundaryCalculationSettingsFactory.cs) (revision 8032b9f3c5ebb88c7f4a1b5d89ffcf85d1fddeb1)
@@ -20,6 +20,8 @@
// All rights reserved.
using System;
+using System.Linq;
+using Riskeer.Common.Data.AssessmentSection;
namespace Riskeer.Common.Data.Hydraulics
{
@@ -29,21 +31,33 @@
public static class HydraulicBoundaryCalculationSettingsFactory
{
///
- /// Creates a new instance of
- /// based on a .
+ /// Creates a new instance of from
+ /// for the provided .
///
- /// The
- /// to create a for.
+ /// The to create the
+ /// from.
+ /// The to create the
+ /// for.
/// A .
- /// Thrown when the hydraulic boundary database file path or
- /// the hlcd file path is null, is empty or consists of whitespace.
- public static HydraulicBoundaryCalculationSettings CreateSettings(HydraulicBoundaryDatabase hydraulicBoundaryDatabase)
+ /// Thrown when or
+ /// is null.
+ /// Thrown when the related hydraulic boundary database file path
+ /// or the hlcd file path is null, is empty or consists of whitespace.
+ public static HydraulicBoundaryCalculationSettings CreateSettings(IAssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
{
- if (hydraulicBoundaryDatabase == null)
+ if (assessmentSection == null)
{
- throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
+ throw new ArgumentNullException(nameof(assessmentSection));
}
+ if (hydraulicBoundaryLocation == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryLocation));
+ }
+
+ HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabases.First(hbd => hbd.Locations.Contains(hydraulicBoundaryLocation));
+
return new HydraulicBoundaryCalculationSettings(hydraulicBoundaryDatabase.FilePath,
hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings.FilePath,
hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings.UsePreprocessorClosure,