Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingDataSynchronizationService.cs =================================================================== diff -u -r81fa8a9bf3bd503cbd280e88b8f6037a840cff12 -r8b389428ece343431969fce2e902a7b241f2b372 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingDataSynchronizationService.cs (.../PipingDataSynchronizationService.cs) (revision 81fa8a9bf3bd503cbd280e88b8f6037a840cff12) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingDataSynchronizationService.cs (.../PipingDataSynchronizationService.cs) (revision 8b389428ece343431969fce2e902a7b241f2b372) @@ -161,18 +161,12 @@ throw new ArgumentNullException(nameof(surfaceLine)); } - var changedObservables = new List(); - IEnumerable pipingCalculationScenarios = failureMechanism.Calculations .Cast() .Where(pcs => ReferenceEquals(pcs.InputParameters.SurfaceLine, surfaceLine)); - foreach (PipingCalculation pipingCalculationScenario in pipingCalculationScenarios) - { - changedObservables.AddRange(RingtoetsCommonDataSynchronizationService.ClearCalculationOutput(pipingCalculationScenario)); - changedObservables.AddRange(ClearSurfaceLine(pipingCalculationScenario.InputParameters)); - } + IList changedObservables = RemoveSurfaceLineDependentData(pipingCalculationScenarios).ToList(); failureMechanism.SurfaceLines.Remove(surfaceLine); changedObservables.Add(failureMechanism.SurfaceLines); @@ -200,12 +194,7 @@ .Cast() .Where(calc => calc.InputParameters.SurfaceLine != null).ToArray(); - var affectedObjects = new List(); - foreach (PipingCalculation calculation in affectedCalculationScenarios) - { - affectedObjects.AddRange(RingtoetsCommonDataSynchronizationService.ClearCalculationOutput(calculation)); - affectedObjects.AddRange(ClearSurfaceLine(calculation.InputParameters)); - } + List affectedObjects = RemoveSurfaceLineDependentData(affectedCalculationScenarios).ToList(); failureMechanism.SurfaceLines.Clear(); affectedObjects.Add(failureMechanism.SurfaceLines); @@ -348,6 +337,17 @@ return changedObservables; } + private static IEnumerable RemoveSurfaceLineDependentData(IEnumerable pipingCalculationScenarios) + { + var changedObservables = new List(); + foreach (PipingCalculation pipingCalculationScenario in pipingCalculationScenarios) + { + changedObservables.AddRange(RingtoetsCommonDataSynchronizationService.ClearCalculationOutput(pipingCalculationScenario)); + changedObservables.AddRange(ClearSurfaceLine(pipingCalculationScenario.InputParameters)); + } + return changedObservables; + } + private static IEnumerable GetCalculationsWithSoilProfileAssigned(PipingFailureMechanism failureMechanism, StochasticSoilProfile soilProfile) { IEnumerable pipingCalculationScenarios =