Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -rce76c64207dad09a5c183cef4f4285824dc524e4 -rf4b42236b40d2082db3c4ceeedc8ae6893076cef --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision ce76c64207dad09a5c183cef4f4285824dc524e4) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision f4b42236b40d2082db3c4ceeedc8ae6893076cef) @@ -1864,44 +1864,56 @@ { HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase; - bool haveEqualVersion = HydraulicBoundaryDatabaseHelper.HaveEqualVersion(hydraulicBoundaryDatabase, databaseFile); - bool isClearConfirmationRequired = hydraulicBoundaryDatabase.IsLinked() && !haveEqualVersion; - if (isClearConfirmationRequired && !IsClearCalculationConfirmationGiven()) + if (HydraulicBoundaryDatabaseHelper.HaveEqualVersion(hydraulicBoundaryDatabase, databaseFile)) { - return; + if (hydraulicBoundaryDatabase.FilePath != databaseFile) + { + hydraulicBoundaryDatabase.FilePath = databaseFile; + hydraulicBoundaryDatabase.NotifyObservers(); + } } - - using (var hydraulicBoundaryLocationsImporter = new HydraulicBoundaryDatabaseImporter()) + else { - if (hydraulicBoundaryLocationsImporter.Import(assessmentSection, databaseFile)) + bool isClearConfirmationRequired = hydraulicBoundaryDatabase.IsLinked(); + if (isClearConfirmationRequired && !IsClearCalculationConfirmationGiven()) { - if (isClearConfirmationRequired) + return; + } + + using (var hydraulicBoundaryLocationsImporter = new HydraulicBoundaryDatabaseImporter()) + { + if (!hydraulicBoundaryLocationsImporter.Import(assessmentSection, databaseFile)) { - ClearCalculations(assessmentSection); + return; } - if (!haveEqualVersion) - { - HydraulicBoundaryLocation[] hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.ToArray(); + HydraulicBoundaryLocation[] hydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.ToArray(); - assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations); - assessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations); + assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations); + assessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations); - var duneLocationsReplacementHandler = new DuneLocationsReplacementHandler(Gui.ViewCommands, assessmentSection.DuneErosion); - duneLocationsReplacementHandler.Replace(hydraulicBoundaryLocations); - duneLocationsReplacementHandler.DoPostReplacementUpdates(); + var duneLocationsReplacementHandler = new DuneLocationsReplacementHandler(Gui.ViewCommands, assessmentSection.DuneErosion); + duneLocationsReplacementHandler.Replace(hydraulicBoundaryLocations); + duneLocationsReplacementHandler.DoPostReplacementUpdates(); - NotifyObservers(assessmentSection); - } + NotifyObservers(assessmentSection); - log.InfoFormat(RingtoetsFormsResources.RingtoetsPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked, - assessmentSection.HydraulicBoundaryDatabase.FilePath); + if (isClearConfirmationRequired) + { + ClearCalculations(assessmentSection); + } } } + + log.InfoFormat(RingtoetsFormsResources.RingtoetsPlugin_SetBoundaryDatabaseFilePath_Database_on_path_0_linked, + assessmentSection.HydraulicBoundaryDatabase.FilePath); } private static void NotifyObservers(AssessmentSection assessmentSection) { + assessmentSection.HydraulicBoundaryDatabase.NotifyObservers(); + assessmentSection.HydraulicBoundaryDatabase.Locations.NotifyObservers(); + assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.NotifyObservers(); assessmentSection.WaterLevelCalculationsForSignalingNorm.NotifyObservers(); assessmentSection.WaterLevelCalculationsForLowerLimitNorm.NotifyObservers();