Index: Riskeer/Common/src/Riskeer.Common.Data/Hydraulics/HydraulicBoundaryDataExtensions.cs
===================================================================
diff -u -rf3cb404c13baa021ecb3644e24b24a98e387526f -r58afcbca980a2e4f1550bb5773727e9f4e5d6c1e
--- Riskeer/Common/src/Riskeer.Common.Data/Hydraulics/HydraulicBoundaryDataExtensions.cs (.../HydraulicBoundaryDataExtensions.cs) (revision f3cb404c13baa021ecb3644e24b24a98e387526f)
+++ Riskeer/Common/src/Riskeer.Common.Data/Hydraulics/HydraulicBoundaryDataExtensions.cs (.../HydraulicBoundaryDataExtensions.cs) (revision 58afcbca980a2e4f1550bb5773727e9f4e5d6c1e)
@@ -92,6 +92,40 @@
return hydraulicBoundaryData.HydraulicBoundaryDatabases.SelectMany(hbd => hbd.Locations);
}
+ ///
+ /// Gets the hydraulic boundary database that owns the provided .
+ ///
+ /// The to get the hydraulic boundary
+ /// database from.
+ /// The to get the hydraulic boundary
+ /// database for.
+ /// An .
+ /// Thrown when any input parameter is null.
+ /// Thrown when is not part of
+ ///
+ public static HydraulicBoundaryDatabase GetHydraulicBoundaryDatabaseForLocation(this HydraulicBoundaryData hydraulicBoundaryData,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ if (hydraulicBoundaryData == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryData));
+ }
+
+ if (hydraulicBoundaryLocation == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryLocation));
+ }
+
+ HydraulicBoundaryDatabase hydraulicBoundaryDatabase = hydraulicBoundaryData.HydraulicBoundaryDatabases.FirstOrDefault(hbd => hbd.Locations.Contains(hydraulicBoundaryLocation));
+
+ if (hydraulicBoundaryDatabase == null)
+ {
+ throw new ArgumentException($"'{nameof(hydraulicBoundaryLocation)}' is not part of '{nameof(hydraulicBoundaryData)}'.");
+ }
+
+ return hydraulicBoundaryDatabase;
+ }
+
private static string GetNewFilePath(string filePath, string newFolderPath)
{
return Path.Combine(newFolderPath, Path.GetFileName(filePath));