Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsDataSynchronizationService.cs =================================================================== diff -u -r716528adfed212743b359ecaf540a1027dbceb65 -rc964c048005d93b097a1e6a817dace95b293040f --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsDataSynchronizationService.cs (.../GrassCoverErosionOutwardsDataSynchronizationService.cs) (revision 716528adfed212743b359ecaf540a1027dbceb65) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/GrassCoverErosionOutwardsDataSynchronizationService.cs (.../GrassCoverErosionOutwardsDataSynchronizationService.cs) (revision c964c048005d93b097a1e6a817dace95b293040f) @@ -153,6 +153,34 @@ return affectedItems; } + /// + /// Clears all data dependent, either directly or indirectly, on the parent reference line. + /// + /// The failure mechanism to be cleared. + /// All objects that have been changed. + /// Thrown when + /// is null. + public static IEnumerable ClearReferenceLineDependentData(GrassCoverErosionOutwardsFailureMechanism failureMechanism) + { + if (failureMechanism == null) + { + throw new ArgumentNullException("failureMechanism"); + } + + var observables = new List(); + + failureMechanism.ClearAllSections(); + observables.Add(failureMechanism); + + failureMechanism.WaveConditionsCalculationGroup.Children.Clear(); + observables.Add(failureMechanism.WaveConditionsCalculationGroup); + + failureMechanism.ForeshoreProfiles.Clear(); + observables.Add(failureMechanism.ForeshoreProfiles); + + return observables; + } + private static void ClearHydraulicBoundaryLocation(GrassCoverErosionOutwardsWaveConditionsCalculation calculation) { calculation.InputParameters.HydraulicBoundaryLocation = null;