Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverDataSynchronizationService.cs
===================================================================
diff -u -r77ac74d895ded1f0d1f81a67b02a2f4d80299a3b -rc964c048005d93b097a1e6a817dace95b293040f
--- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverDataSynchronizationService.cs (.../StabilityStoneCoverDataSynchronizationService.cs) (revision 77ac74d895ded1f0d1f81a67b02a2f4d80299a3b)
+++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Service/StabilityStoneCoverDataSynchronizationService.cs (.../StabilityStoneCoverDataSynchronizationService.cs) (revision c964c048005d93b097a1e6a817dace95b293040f)
@@ -23,6 +23,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
+using Core.Common.Base;
using Core.Common.Utils.Extensions;
using Ringtoets.HydraRing.Data;
using Ringtoets.StabilityStoneCover.Data;
@@ -122,6 +123,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(StabilityStoneCoverFailureMechanism 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(StabilityStoneCoverWaveConditionsCalculation calculation)
{
calculation.InputParameters.HydraulicBoundaryLocation = null;