Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs =================================================================== diff -u -ra9ab2d906323a908ed5e7a245b5813380776961a -rc1e57c344103b0219edc5bb853da2a0ca5c41877 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision a9ab2d906323a908ed5e7a245b5813380776961a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision c1e57c344103b0219edc5bb853da2a0ca5c41877) @@ -23,6 +23,7 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base; +using Core.Common.Utils; using Ringtoets.Piping.Data; using Ringtoets.Piping.Plugin.Properties; using Ringtoets.Piping.Service; @@ -103,17 +104,18 @@ List updatedModels = GetUpdatedExistingModels(targetCollection, readModelList).ToList(); List removedModels = GetRemovedExistingModels(targetCollection, readModelList).ToList(); - var affectedObjects = new List + var affectedObjects = new List(); + if (addedModels.Any()) { - targetCollection - }; + affectedObjects.Add(targetCollection); + } affectedObjects.AddRange(UpdateModels(updatedModels, readModelList)); affectedObjects.AddRange(RemoveModels(removedModels)); targetCollection.Clear(); targetCollection.AddRange(addedModels.Union(updatedModels), sourceFilePath); - return affectedObjects; + return affectedObjects.Distinct(new ReferenceEqualityComparer()); } private static IEnumerable GetAddedReadModels(IEnumerable existingCollection, IEnumerable readStochasticSoilModels) @@ -147,6 +149,7 @@ var affectedObjects = new List(); foreach (StochasticSoilModel updatedModel in updatedModels) { + affectedObjects.Add(updatedModel); StochasticSoilModel readModel = readModels.Single(r => r.Name.Equals(updatedModel.Name)); affectedObjects.AddRange(UpdateStochasticSoilModel(updatedModel, readModel)); }