Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs =================================================================== diff -u -r93b2a6fc8afe6b002dd3e7f11aa0e35f52f317fa -r555102318ea2912fde0d66bf610f87f064063fb9 --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 93b2a6fc8afe6b002dd3e7f11aa0e35f52f317fa) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 555102318ea2912fde0d66bf610f87f064063fb9) @@ -91,7 +91,9 @@ return false; } - if (!OpenSettingsFileToValidate() || Canceled) + ReadResult> readExcludedLocationsResult = ReadExcludedLocations(); + + if (readExcludedLocationsResult.CriticalErrorOccurred || Canceled) { return false; } @@ -186,20 +188,39 @@ } } - private bool OpenSettingsFileToValidate() + private ReadResult> ReadExcludedLocations() { NotifyProgress(Resources.HydraulicBoundaryDatabaseImporter_ProgressText_Reading_HRD_settings_file, 3, numberOfSteps); string settingsFilePath = HydraulicBoundaryDatabaseHelper.GetHydraulicBoundarySettingsDatabase(FilePath); try { - using (new HydraRingSettingsDatabaseReader(settingsFilePath)) {} + using (var reader = new HydraRingSettingsDatabaseReader(settingsFilePath)) + { + return ReadExcludedLocations(reader); + } + } + catch (CriticalFileReadException e) + { + return HandleCriticalFileReadError>( + string.Format(Resources.HydraulicBoundaryDatabaseImporter_Cannot_open_hydraulic_calculation_settings_file_0_, e.Message)); + } + } - return true; + private ReadResult> ReadExcludedLocations(HydraRingSettingsDatabaseReader reader) + { + try + { + return new ReadResult>(false) + { + Items = new[] + { + reader.ReadExcludedLocations().ToArray() + } + }; } catch (CriticalFileReadException e) { - HandleCriticalFileReadError(string.Format(Resources.HydraulicBoundaryDatabaseImporter_Cannot_open_hydraulic_calculation_settings_file_0_, e.Message)); - return false; + return HandleCriticalFileReadError>(e.Message); } }