Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineReplaceDataStrategy.cs =================================================================== diff -u -r036199c1cde97f98829dc4405169ec327d2a1b95 -rb1537a16c5961d9f66d5564c215f4bee59294f82 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineReplaceDataStrategy.cs (.../RingtoetsPipingSurfaceLineReplaceDataStrategy.cs) (revision 036199c1cde97f98829dc4405169ec327d2a1b95) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineReplaceDataStrategy.cs (.../RingtoetsPipingSurfaceLineReplaceDataStrategy.cs) (revision b1537a16c5961d9f66d5564c215f4bee59294f82) @@ -21,8 +21,8 @@ using System; using System.Collections.Generic; -using System.Linq; using Core.Common.Base; +using Ringtoets.Common.Data.UpdateDataStrategies; using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Importers; using Ringtoets.Piping.Primitives; @@ -33,55 +33,37 @@ /// /// Strategy to replace the surface lines with the imported surface lines. /// - public class RingtoetsPipingSurfaceLineReplaceDataStrategy : ISurfaceLineUpdateDataStrategy + public class RingtoetsPipingSurfaceLineReplaceDataStrategy : ReplaceDataStrategyBase, + ISurfaceLineUpdateDataStrategy { - private readonly PipingFailureMechanism failureMechanism; - /// /// Creates a new instance of . /// /// The failure mechanism in which the surface lines are updated. - /// Thrown when is null. - public RingtoetsPipingSurfaceLineReplaceDataStrategy(PipingFailureMechanism failureMechanism) - { - if (failureMechanism == null) - { - throw new ArgumentNullException(nameof(this.failureMechanism)); - } + /// Thrown when is null. + public RingtoetsPipingSurfaceLineReplaceDataStrategy(PipingFailureMechanism failureMechanism) : base(failureMechanism) {} - this.failureMechanism = failureMechanism; - } - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsPipingSurfaceLineCollection targetCollection, IEnumerable readRingtoetsPipingSurfaceLines, string sourceFilePath) { - if (targetCollection == null) + try { - throw new ArgumentNullException(nameof(targetCollection)); + return ReplaceTargetCollectionWithImportedData(targetCollection, readRingtoetsPipingSurfaceLines, sourceFilePath); } - if (readRingtoetsPipingSurfaceLines == null) + catch (ArgumentNullException) { - throw new ArgumentNullException(nameof(readRingtoetsPipingSurfaceLines)); + throw; } - if (sourceFilePath == null) - { - throw new ArgumentNullException(nameof(sourceFilePath)); - } - - var affectedObjects = new List(); - affectedObjects.AddRange(PipingDataSynchronizationService.RemoveAllSurfaceLines(failureMechanism)); - - try - { - targetCollection.AddRange(readRingtoetsPipingSurfaceLines, sourceFilePath); - } catch (ArgumentException e) { throw new RingtoetsPipingSurfaceLineUpdateException(e.Message, e); } + } - return affectedObjects; + protected override IEnumerable ClearData(PipingFailureMechanism failureMechanism) + { + return PipingDataSynchronizationService.RemoveAllSurfaceLines(failureMechanism); } } } \ No newline at end of file