Index: Riskeer/Integration/src/Riskeer.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs =================================================================== diff -u -rc67f3aebcce0ce296ef9f6b0ac4eaa82563ce434 -r91c32d38c4fdff5dcd61e0b7085966edfa486a18 --- Riskeer/Integration/src/Riskeer.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision c67f3aebcce0ce296ef9f6b0ac4eaa82563ce434) +++ Riskeer/Integration/src/Riskeer.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 91c32d38c4fdff5dcd61e0b7085966edfa486a18) @@ -81,15 +81,12 @@ return false; } - ReadResult readHydraulicLocationConfigurationDatabaseResult = ReadHydraulicLocationConfigurationDatabase(); - - if (readHydraulicLocationConfigurationDatabaseResult.CriticalErrorOccurred || Canceled) + ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase = TryReadHydraulicLocationConfigurationDatabase(); + if (readHydraulicLocationConfigurationDatabase == null) { return false; } - ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase = readHydraulicLocationConfigurationDatabaseResult.Items.Single(); - ReadResult> readExcludedLocationIdsResult = ReadExcludedLocationIds(); if (readExcludedLocationIdsResult.CriticalErrorOccurred || Canceled) @@ -175,47 +172,52 @@ return readHydraulicBoundaryDatabaseResult.Items.Single(); } - private ReadResult ReadHydraulicLocationConfigurationDatabase() + private ReadHydraulicLocationConfigurationDatabase TryReadHydraulicLocationConfigurationDatabase() { NotifyProgress(Resources.HydraulicBoundaryDataImporter_ProgressText_Reading_Hlcd_file, 2, numberOfSteps); + + ReadResult readHydraulicLocationConfigurationDatabaseResult; + try { using (var reader = new HydraulicLocationConfigurationDatabaseReader(ImportTarget.HydraulicLocationConfigurationDatabase.FilePath)) { - return ReadHydraulicLocationConfigurationDatabase(reader); + try + { + readHydraulicLocationConfigurationDatabaseResult = new ReadResult(false) + { + Items = new[] + { + reader.Read() + } + }; + } + catch (Exception e) when (e is CriticalFileReadException || e is LineParseException) + { + readHydraulicLocationConfigurationDatabaseResult = HandleCriticalFileReadError(e); + } } } catch (CriticalFileReadException) { - return HandleCriticalFileReadError(Resources.HydraulicBoundaryDatabaseImporter_Hlcd_sqlite_not_found); + readHydraulicLocationConfigurationDatabaseResult = HandleCriticalFileReadError(Resources.HydraulicBoundaryDatabaseImporter_Hlcd_sqlite_not_found); } - } - private ReadResult ReadHydraulicLocationConfigurationDatabase(HydraulicLocationConfigurationDatabaseReader reader) - { - try + if (readHydraulicLocationConfigurationDatabaseResult.CriticalErrorOccurred || Canceled) { - return new ReadResult(false) - { - Items = new[] - { - reader.Read() - } - }; + return null; } - catch (Exception e) when (e is CriticalFileReadException || e is LineParseException) - { - return HandleCriticalFileReadError(e); - } + + return readHydraulicLocationConfigurationDatabaseResult.Items.Single(); } private ReadResult> ReadExcludedLocationIds() { NotifyProgress(Resources.HydraulicBoundaryDatabaseImporter_ProgressText_Reading_Hrd_settings_file, 3, numberOfSteps); - string hbsdFilePath = HydraulicBoundaryDataHelper.GetHydraulicBoundarySettingsDatabaseFilePath(FilePath); + try { - using (var reader = new HydraRingSettingsDatabaseReader(hbsdFilePath)) + using (var reader = new HydraRingSettingsDatabaseReader(HydraulicBoundaryDataHelper.GetHydraulicBoundarySettingsDatabaseFilePath(FilePath))) { return ReadExcludedLocationIds(reader); }