Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/ProfilesImporter.cs =================================================================== diff -u -r01d327694595b1acb77a9b0532a0d5bb91c9eadb -r3ef2233d45ec65453a83651716d5e3d5cf96ac4c --- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/ProfilesImporter.cs (.../ProfilesImporter.cs) (revision 01d327694595b1acb77a9b0532a0d5bb91c9eadb) +++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/ProfilesImporter.cs (.../ProfilesImporter.cs) (revision 3ef2233d45ec65453a83651716d5e3d5cf96ac4c) @@ -32,6 +32,7 @@ using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.IO.DikeProfiles; +using Ringtoets.Common.IO.Exceptions; using Ringtoets.Common.IO.Properties; namespace Ringtoets.Common.IO.FileImporters @@ -58,7 +59,7 @@ { if (referenceLine == null) { - throw new ArgumentNullException("referenceLine"); + throw new ArgumentNullException(nameof(referenceLine)); } this.referenceLine = referenceLine; @@ -79,7 +80,8 @@ } string folderPath = Path.GetDirectoryName(FilePath); - ReadResult importDikeProfileDataResult = ReadDikeProfileData(folderPath); + IEnumerable acceptedIds = importDikeProfilesResult.ImportedItems.Select(dp => dp.Id); + ReadResult importDikeProfileDataResult = ReadDikeProfileData(folderPath, acceptedIds); if (importDikeProfileDataResult.CriticalErrorOccurred) { return false; @@ -235,7 +237,7 @@ profileLocations.Add(profileLocation); } - private ReadResult ReadDikeProfileData(string folderPath) + private ReadResult ReadDikeProfileData(string folderPath, IEnumerable acceptedIds) { NotifyProgress(Resources.ProfilesImporter_ReadDikeProfileData_reading_profile_data, 1, 1); @@ -245,7 +247,7 @@ int totalNumberOfSteps = prflFilePaths.Length; var dikeProfileData = new Collection(); - var dikeProfileDataReader = new DikeProfileDataReader(); + var dikeProfileDataReader = new DikeProfileDataReader(acceptedIds); var errorOccured = false; for (int i = 0; i < totalNumberOfSteps; i++) @@ -289,6 +291,10 @@ Log.Error(exception.Message); errorOccured = true; } + catch (CriticalFileValidationException) + { + // Ignore file + } } return errorOccured && !dikeProfileData.Any()