Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs =================================================================== diff -u -r3d995a76fbe93cf9801596e6b959e7f5bcde5805 -rebf9ee4894ed003e5756d9c56be1489d54e57695 --- Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs (.../RingtoetsDataSynchronizationService.cs) (revision 3d995a76fbe93cf9801596e6b959e7f5bcde5805) +++ Ringtoets/Integration/src/Ringtoets.Integration.Service/RingtoetsDataSynchronizationService.cs (.../RingtoetsDataSynchronizationService.cs) (revision ebf9ee4894ed003e5756d9c56be1489d54e57695) @@ -27,6 +27,8 @@ using Ringtoets.Common.Data.Calculation; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.GrassCoverErosionInwards.Service; +using Ringtoets.GrassCoverErosionOutwards.Data; +using Ringtoets.GrassCoverErosionOutwards.Service; using Ringtoets.HeightStructures.Data; using Ringtoets.HeightStructures.Service; using Ringtoets.HydraRing.Data; @@ -121,17 +123,29 @@ /// Clears the output of the hydraulic boundary locations within the . /// /// The wich contains the locations. + /// The which contains the locations of the failure mechanisms. /// true when one or multiple locations are affected by clearing the output. false otherwise. /// Thrown when is null. - public static bool ClearHydraulicBoundaryLocationOutput(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) + public static bool ClearHydraulicBoundaryLocationOutput(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, IAssessmentSection assessmentSection) { if (hydraulicBoundaryDatabase == null) { throw new ArgumentNullException("hydraulicBoundaryDatabase"); } + if (assessmentSection == null) + { + throw new ArgumentNullException("assessmentSection"); + } - var locationAffected = false; + var locationsAffected = false; + var failureMechanism = assessmentSection.GetFailureMechanisms().First(fm => fm.GetType() == typeof(GrassCoverErosionOutwardsFailureMechanism)) as GrassCoverErosionOutwardsFailureMechanism; + + if (failureMechanism != null) + { + locationsAffected = GrassCoverErosionOutwardsDataSynchronizationService.ClearHydraulicBoundaryLocationOutput(failureMechanism.GrassCoverErosionOutwardsHydraulicBoundaryLocations); + } + foreach (var hydraulicBoundaryLocation in hydraulicBoundaryDatabase.Locations .Where(hydraulicBoundaryLocation => !double.IsNaN(hydraulicBoundaryLocation.DesignWaterLevel) || @@ -141,10 +155,10 @@ hydraulicBoundaryLocation.WaveHeight = (RoundedDouble) double.NaN; hydraulicBoundaryLocation.DesignWaterLevelCalculationConvergence = CalculationConvergence.NotCalculated; hydraulicBoundaryLocation.WaveHeightCalculationConvergence = CalculationConvergence.NotCalculated; - locationAffected = true; + locationsAffected = true; } - return locationAffected; + return locationsAffected; } } } \ No newline at end of file