Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -60,7 +60,7 @@ - + Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs =================================================================== diff -u -r5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,7 +37,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static AssessmentSectionEntity Create(this AssessmentSection section, CreateConversionCollector collector) + internal static AssessmentSectionEntity Create(this AssessmentSection section, PersistenceRegistry collector) { if (collector == null) { @@ -56,16 +56,16 @@ AddEntityForReferenceLine(section, entity); AddEntitiesForAddStandAloneFailureMechanisms(section, entity, collector); - collector.Create(entity, section); + collector.Register(entity, section); return entity; } - private static void AddEntityForGrassCoverErosionInwardsFailureMechanism(AssessmentSection section, AssessmentSectionEntity entity, CreateConversionCollector collector) + private static void AddEntityForGrassCoverErosionInwardsFailureMechanism(AssessmentSection section, AssessmentSectionEntity entity, PersistenceRegistry collector) { entity.FailureMechanismEntities.Add(section.GrassCoverErosionInwards.Create(collector)); } - private static void AddEntitiesForAddStandAloneFailureMechanisms(AssessmentSection section, AssessmentSectionEntity entity, CreateConversionCollector collector) + private static void AddEntitiesForAddStandAloneFailureMechanisms(AssessmentSection section, AssessmentSectionEntity entity, PersistenceRegistry collector) { entity.FailureMechanismEntities.Add(section.MacrostabilityInwards.Create(FailureMechanismType.MacrostabilityInwards, collector)); entity.FailureMechanismEntities.Add(section.MacrostabilityOutwards.Create(FailureMechanismType.MacrostabilityOutwards, collector)); @@ -85,7 +85,7 @@ entity.FailureMechanismEntities.Add(section.TechnicalInnovation.Create(FailureMechanismType.TechnicalInnovations, collector)); } - private static void AddEntityForPipingFailureMechanism(AssessmentSection section, AssessmentSectionEntity entity, CreateConversionCollector collector) + private static void AddEntityForPipingFailureMechanism(AssessmentSection section, AssessmentSectionEntity entity, PersistenceRegistry collector) { entity.FailureMechanismEntities.Add(section.PipingFailureMechanism.Create(collector)); } @@ -102,7 +102,7 @@ } } - private static void AddEntityForHydraulicDatabase(AssessmentSection section, AssessmentSectionEntity entity, CreateConversionCollector collector) + private static void AddEntityForHydraulicDatabase(AssessmentSection section, AssessmentSectionEntity entity, PersistenceRegistry collector) { if (section.HydraulicBoundaryDatabase != null) { Fisheye: Tag 71123d9c364c97a5ef2eec81acd1bf877a1297b0 refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Create/CreateConversionCollector.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismBaseCreateExtensions.cs =================================================================== diff -u -r5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismBaseCreateExtensions.cs (.../FailureMechanismBaseCreateExtensions.cs) (revision 5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismBaseCreateExtensions.cs (.../FailureMechanismBaseCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -38,7 +38,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static FailureMechanismEntity Create(this IFailureMechanism mechanism, FailureMechanismType type, CreateConversionCollector collector) + internal static FailureMechanismEntity Create(this IFailureMechanism mechanism, FailureMechanismType type, PersistenceRegistry collector) { if (collector == null) { @@ -53,7 +53,7 @@ mechanism.AddEntitiesForFailureMechanismSections(collector, entity); - collector.Create(entity, mechanism); + collector.Register(entity, mechanism); return entity; } @@ -69,7 +69,7 @@ /// is null /// /// - internal static void AddEntitiesForFailureMechanismSections(this IFailureMechanism mechanism, CreateConversionCollector collector, FailureMechanismEntity entity) + internal static void AddEntitiesForFailureMechanismSections(this IFailureMechanism mechanism, PersistenceRegistry collector, FailureMechanismEntity entity) { if (collector == null) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismSectionCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismSectionCreateExtensions.cs (.../FailureMechanismSectionCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismSectionCreateExtensions.cs (.../FailureMechanismSectionCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,7 +37,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static FailureMechanismSectionEntity Create(this FailureMechanismSection section, CreateConversionCollector collector) + internal static FailureMechanismSectionEntity Create(this FailureMechanismSection section, PersistenceRegistry collector) { if (collector == null) { @@ -50,7 +50,7 @@ AddEntitiesForFailureMechanismSectionPoints(section, failureMechanismSectionEntity); - collector.Create(failureMechanismSectionEntity, section); + collector.Register(failureMechanismSectionEntity, section); return failureMechanismSectionEntity; } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs (.../GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs (.../GrassCoverErosionInwardsFailureMechanismCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,7 +37,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static FailureMechanismEntity Create(this GrassCoverErosionInwardsFailureMechanism mechanism, CreateConversionCollector collector) + internal static FailureMechanismEntity Create(this GrassCoverErosionInwardsFailureMechanism mechanism, PersistenceRegistry collector) { if (collector == null) { @@ -52,7 +52,7 @@ mechanism.AddEntitiesForFailureMechanismSections(collector, entity); - collector.Create(entity, mechanism); + collector.Register(entity, mechanism); return entity; } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationCreateExtensions.cs (.../HydraulicBoundaryLocationCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationCreateExtensions.cs (.../HydraulicBoundaryLocationCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,7 +37,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static HydraulicLocationEntity Create(this HydraulicBoundaryLocation location, CreateConversionCollector collector) + internal static HydraulicLocationEntity Create(this HydraulicBoundaryLocation location, PersistenceRegistry collector) { if (collector == null) { @@ -53,7 +53,7 @@ DesignWaterLevel = double.IsNaN(location.DesignWaterLevel) ? (double?) null : Convert.ToDouble(location.DesignWaterLevel) }; - collector.Create(entity, location); + collector.Register(entity, location); return entity; } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PersistenceRegistry.cs =================================================================== diff -u --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PersistenceRegistry.cs (revision 0) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PersistenceRegistry.cs (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -0,0 +1,489 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using System.Linq; + +using Application.Ringtoets.Storage.DbContext; + +using Core.Common.Base.Data; +using Core.Common.Base.Geometry; +using Core.Common.Utils; + +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.HydraRing.Data; +using Ringtoets.Integration.Data; +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Primitives; + +namespace Application.Ringtoets.Storage.Create +{ + /// + /// This class can be used to keep track of create and update operations on a database. + /// This information can be used to reuse objects. When all operations have been performed, + /// then the collected information can be used to transfer the ids assigned to the created + /// database instances back to the data model or to clean up orphans. + /// + internal class PersistenceRegistry + { + private readonly Dictionary projects = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary assessmentSections = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary failureMechanisms = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary failureMechanismSections = new Dictionary(); + private readonly Dictionary hydraulicLocations = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary stochasticSoilModels = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary stochasticSoilProfiles = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary soilProfiles = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary soilLayers = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary surfaceLines = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary surfaceLinePoints = new Dictionary(new ReferenceEqualityComparer()); + private readonly Dictionary characteristicPoints = new Dictionary(new ReferenceEqualityComparer()); + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + public void Register(FailureMechanismSectionEntity entity, FailureMechanismSection model) + { + Register(failureMechanismSections, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(ProjectEntity entity, Project model) + { + Register(projects, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(AssessmentSectionEntity entity, AssessmentSection model) + { + Register(assessmentSections, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(HydraulicLocationEntity entity, HydraulicBoundaryLocation model) + { + Register(hydraulicLocations, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(FailureMechanismEntity entity, IFailureMechanism model) + { + Register(failureMechanisms, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(StochasticSoilModelEntity entity, StochasticSoilModel model) + { + Register(stochasticSoilModels, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(StochasticSoilProfileEntity entity, StochasticSoilProfile model) + { + Register(stochasticSoilProfiles, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(SoilProfileEntity entity, PipingSoilProfile model) + { + Register(soilProfiles, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(SoilLayerEntity entity, PipingSoilLayer model) + { + Register(soilLayers, entity, model); + } + + /// + /// Checks whether a create or update operations has been registered for the given + /// . + /// + /// The to check for. + /// true if the was created before, false otherwise. + /// Thrown when is null. + internal bool Contains(PipingSoilProfile model) + { + return ContainsValue(soilProfiles, model); + } + + /// + /// Obtains the which was registered for the given + /// . + /// + /// The for which a read operation has been registered. + /// The constructed . + /// Thrown when is null. + /// Thrown when no create operation + /// has been registered for . + /// Use to find out whether a create operation has + /// been registered for . + internal SoilProfileEntity Get(PipingSoilProfile model) + { + return Get(soilProfiles, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The which needed + /// to be registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(SurfaceLineEntity entity, RingtoetsPipingSurfaceLine model) + { + Register(surfaceLines, entity, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The surfaceline geometry corresponding + /// the registered database entity. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(SurfaceLinePointEntity entity, Point3D model) + { + Register(surfaceLinePoints, entity, model); + } + + /// + /// Obtains the which was registered for the + /// given . + /// + /// The surfaceline geometry for which + /// a create or update operation has been registered. + /// Thrown when is null. + /// Thrown when no create operation + /// has been registered for . + /// Use to find out whether a create or update + /// operation has been registered for . + internal SurfaceLinePointEntity GetSurfaceLinePoint(Point3D model) + { + return Get(surfaceLinePoints, model); + } + + /// + /// Registers a create or update operation for and the + /// that was constructed with the information. + /// + /// The that was registered. + /// The surfaceline geometry corresponding + /// to the characteristic point data being registered. + /// Thrown when either: + /// + /// is null + /// is null + /// + internal void Register(CharacteristicPointEntity entity, Point3D model) + { + Register(characteristicPoints, entity, model); + } + + /// + /// Transfer ids from the created entities to the domain model objects' property. + /// + internal void TransferIds() + { + foreach (var entity in projects.Keys) + { + projects[entity].StorageId = entity.ProjectEntityId; + } + + foreach (var entity in failureMechanisms.Keys) + { + failureMechanisms[entity].StorageId = entity.FailureMechanismEntityId; + } + + foreach (var entity in failureMechanismSections.Keys) + { + failureMechanismSections[entity].StorageId = entity.FailureMechanismSectionEntityId; + } + + foreach (var entity in assessmentSections.Keys) + { + assessmentSections[entity].StorageId = entity.AssessmentSectionEntityId; + } + + foreach (var entity in hydraulicLocations.Keys) + { + hydraulicLocations[entity].StorageId = entity.HydraulicLocationEntityId; + } + + foreach (var entity in stochasticSoilModels.Keys) + { + stochasticSoilModels[entity].StorageId = entity.StochasticSoilModelEntityId; + } + + foreach (var entity in stochasticSoilProfiles.Keys) + { + stochasticSoilProfiles[entity].StorageId = entity.StochasticSoilProfileEntityId; + } + + foreach (var entity in soilProfiles.Keys) + { + soilProfiles[entity].StorageId = entity.SoilProfileEntityId; + } + + foreach (var entity in soilLayers.Keys) + { + soilLayers[entity].StorageId = entity.SoilLayerEntityId; + } + + foreach (var entity in surfaceLines.Keys) + { + surfaceLines[entity].StorageId = entity.SurfaceLineEntityId; + } + + foreach (var entity in surfaceLinePoints.Keys) + { + surfaceLinePoints[entity].StorageId = entity.SurfaceLinePointEntityId; + } + + // CharacteristicPoints do not really have a 'identity' within the object-model. + // As such, no need to copy StorageId. This is already covered by surfaceLinePoints. + } + + /// + /// Removes all the entities for which no update operation was registered from the . + /// + /// The from which to remove the entities. + internal void RemoveUntouched(IRingtoetsEntities dbContext) + { + var projectEntities = dbContext.ProjectEntities; + var projectEntitiesToRemove = projectEntities + .Local + .Where(entity => entity.ProjectEntityId > 0) + .Except(projects.Keys); + projectEntities.RemoveRange(projectEntitiesToRemove); + + var assessmentSectionEntities = dbContext.AssessmentSectionEntities; + var assessmentSectionEntitiesToRemove = assessmentSectionEntities + .Local + .Where(entity => entity.AssessmentSectionEntityId > 0) + .Except(assessmentSections.Keys); + assessmentSectionEntities.RemoveRange(assessmentSectionEntitiesToRemove); + + var failureMechanismEntities = dbContext.FailureMechanismEntities; + var failureMechanismEntitiesToRemove = failureMechanismEntities + .Local + .Where(entity => entity.FailureMechanismEntityId > 0) + .Except(failureMechanisms.Keys); + failureMechanismEntities.RemoveRange(failureMechanismEntitiesToRemove); + + var failureMechanismSectionEntities = dbContext.FailureMechanismSectionEntities; + var failureMechanismSectionEntitiesToRemove = failureMechanismSectionEntities + .Local + .Where(entity => entity.FailureMechanismSectionEntityId > 0) + .Except(failureMechanismSections.Keys); + failureMechanismSectionEntities.RemoveRange(failureMechanismSectionEntitiesToRemove); + + var hydraulicLocationEntities = dbContext.HydraulicLocationEntities; + var hydraulicLocationEntitiesToRemove = hydraulicLocationEntities + .Local + .Where(entity => entity.HydraulicLocationEntityId > 0) + .Except(hydraulicLocations.Keys); + hydraulicLocationEntities.RemoveRange(hydraulicLocationEntitiesToRemove); + + var stochasticSoilModelEntities = dbContext.StochasticSoilModelEntities; + var stochasticSoilModelEntitiesToRemove = stochasticSoilModelEntities + .Local + .Where(entity => entity.StochasticSoilModelEntityId > 0) + .Except(stochasticSoilModels.Keys); + stochasticSoilModelEntities.RemoveRange(stochasticSoilModelEntitiesToRemove); + + var stochasticSoilProfileEntities = dbContext.StochasticSoilProfileEntities; + var stochasticSoilProfileEntitiesToRemove = stochasticSoilProfileEntities + .Local + .Where(entity => entity.StochasticSoilProfileEntityId > 0) + .Except(stochasticSoilProfiles.Keys); + stochasticSoilProfileEntities.RemoveRange(stochasticSoilProfileEntitiesToRemove); + + var soilProfileEntities = dbContext.SoilProfileEntities; + var soilProfileEntitiesToRemove = soilProfileEntities + .Local + .Where(entity => entity.SoilProfileEntityId > 0) + .Except(soilProfiles.Keys); + soilProfileEntities.RemoveRange(soilProfileEntitiesToRemove); + + var soilLayerEntities = dbContext.SoilLayerEntities; + var soilLayerEntitiesToRemove = soilLayerEntities + .Local + .Where(entity => entity.SoilLayerEntityId > 0) + .Except(soilLayers.Keys); + soilLayerEntities.RemoveRange(soilLayerEntitiesToRemove); + + var surfaceLineEntities = dbContext.SurfaceLineEntities; + var surfaceLineEntitiesToRemove = surfaceLineEntities + .Local + .Where(entity => entity.SurfaceLineEntityId > 0) + .Except(surfaceLines.Keys); + surfaceLineEntities.RemoveRange(surfaceLineEntitiesToRemove); + + var surfaceLinePointEntities = dbContext.SurfaceLinePointEntities; + var surfaceLinePointEntitiesToRemove = surfaceLinePointEntities + .Local + .Where(entity => entity.SurfaceLinePointEntityId > 0) + .Except(surfaceLinePoints.Keys); + surfaceLinePointEntities.RemoveRange(surfaceLinePointEntitiesToRemove); + + var characteristicPointEntities = dbContext.CharacteristicPointEntities; + var characteristicPointEntitiesToRemove = characteristicPointEntities + .Local + .Where(entity => entity.CharacteristicPointEntityId > 0) + .Except(characteristicPoints.Keys); + characteristicPointEntities.RemoveRange(characteristicPointEntitiesToRemove); + } + + private bool ContainsValue(Dictionary collection, U model) + { + if (model == null) + { + throw new ArgumentNullException("model"); + } + + return collection.ContainsValue(model); + } + + private void Register(Dictionary collection, T entity, U model) + { + if (entity == null) + { + throw new ArgumentNullException("entity"); + } + if (model == null) + { + throw new ArgumentNullException("model"); + } + + collection[entity] = model; + } + + private T Get(Dictionary collection, U model) + { + if (model == null) + { + throw new ArgumentNullException("model"); + } + + return collection.Keys.Single(k => ReferenceEquals(collection[k], model)); + } + } +} \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingFailureMechanismCreateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingFailureMechanismCreateExtensions.cs (.../PipingFailureMechanismCreateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingFailureMechanismCreateExtensions.cs (.../PipingFailureMechanismCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -38,7 +38,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static FailureMechanismEntity Create(this PipingFailureMechanism mechanism, CreateConversionCollector collector) + internal static FailureMechanismEntity Create(this PipingFailureMechanism mechanism, PersistenceRegistry collector) { if (collector == null) { @@ -55,19 +55,19 @@ AddEntitiesForSurfaceLines(mechanism, collector, entity); mechanism.AddEntitiesForFailureMechanismSections(collector, entity); - collector.Create(entity, mechanism); + collector.Register(entity, mechanism); return entity; } - private static void AddEntitiesForStochasticSoilModels(PipingFailureMechanism mechanism, CreateConversionCollector collector, FailureMechanismEntity entity) + private static void AddEntitiesForStochasticSoilModels(PipingFailureMechanism mechanism, PersistenceRegistry collector, FailureMechanismEntity entity) { foreach (var stochasticSoilModel in mechanism.StochasticSoilModels) { entity.StochasticSoilModelEntities.Add(stochasticSoilModel.Create(collector)); } } - private static void AddEntitiesForSurfaceLines(PipingFailureMechanism mechanism, CreateConversionCollector collector, FailureMechanismEntity entity) + private static void AddEntitiesForSurfaceLines(PipingFailureMechanism mechanism, PersistenceRegistry collector, FailureMechanismEntity entity) { foreach (RingtoetsPipingSurfaceLine surfaceLine in mechanism.SurfaceLines) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingSoilLayerCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingSoilLayerCreateExtensions.cs (.../PipingSoilLayerCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingSoilLayerCreateExtensions.cs (.../PipingSoilLayerCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,7 +37,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static SoilLayerEntity Create(this PipingSoilLayer layer, CreateConversionCollector collector) + internal static SoilLayerEntity Create(this PipingSoilLayer layer, PersistenceRegistry collector) { if (collector == null) { @@ -50,7 +50,7 @@ Top = Convert.ToDecimal(layer.Top) }; - collector.Create(entity, layer); + collector.Register(entity, layer); return entity; } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingSoilProfileCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingSoilProfileCreateExtensions.cs (.../PipingSoilProfileCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/PipingSoilProfileCreateExtensions.cs (.../PipingSoilProfileCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -38,7 +38,7 @@ /// A new or one from the if it /// was created for the earlier. /// Thrown when is null. - internal static SoilProfileEntity Create(this PipingSoilProfile profile, CreateConversionCollector collector) + internal static SoilProfileEntity Create(this PipingSoilProfile profile, PersistenceRegistry collector) { if (collector == null) { @@ -57,11 +57,11 @@ AddEntitiesForPipingSoilLayers(profile, collector, entity); - collector.Create(entity, profile); + collector.Register(entity, profile); return entity; } - private static void AddEntitiesForPipingSoilLayers(PipingSoilProfile profile, CreateConversionCollector collector, SoilProfileEntity entity) + private static void AddEntitiesForPipingSoilLayers(PipingSoilProfile profile, PersistenceRegistry collector, SoilProfileEntity entity) { foreach (var pipingSoilLayer in profile.Layers) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/ProjectCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/ProjectCreateExtensions.cs (.../ProjectCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/ProjectCreateExtensions.cs (.../ProjectCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -39,7 +39,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static ProjectEntity Create(this Project project, CreateConversionCollector collector) + internal static ProjectEntity Create(this Project project, PersistenceRegistry collector) { if (collector == null) { @@ -53,11 +53,11 @@ AddEntitiesForAssessmentSections(project, entity, collector); - collector.Create(entity, project); + collector.Register(entity, project); return entity; } - private static void AddEntitiesForAssessmentSections(Project project, ProjectEntity entity, CreateConversionCollector collector) + private static void AddEntitiesForAssessmentSections(Project project, ProjectEntity entity, PersistenceRegistry collector) { foreach (var result in project.Items.OfType()) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLineCreateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLineCreateExtensions.cs (.../RingtoetsPipingSurfaceLineCreateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLineCreateExtensions.cs (.../RingtoetsPipingSurfaceLineCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -42,7 +42,7 @@ /// The object keeping track of create operations. /// a new . /// Thrown when is null. - internal static SurfaceLineEntity Create(this RingtoetsPipingSurfaceLine surfaceLine, CreateConversionCollector collector) + internal static SurfaceLineEntity Create(this RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry collector) { if (collector == null) { @@ -58,12 +58,12 @@ CreateSurfaceLinePointEntities(surfaceLine, collector, entity); CreateCharacteristicPointEntities(surfaceLine, collector, entity); - collector.Create(entity, surfaceLine); + collector.Register(entity, surfaceLine); return entity; } - private static void CreateSurfaceLinePointEntities(RingtoetsPipingSurfaceLine surfaceLine, CreateConversionCollector collector, SurfaceLineEntity entity) + private static void CreateSurfaceLinePointEntities(RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry collector, SurfaceLineEntity entity) { int order = 0; foreach (Point3D point3D in surfaceLine.Points) @@ -72,7 +72,7 @@ } } - private static void CreateCharacteristicPointEntities(RingtoetsPipingSurfaceLine surfaceLine, CreateConversionCollector collector, SurfaceLineEntity entity) + private static void CreateCharacteristicPointEntities(RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry collector, SurfaceLineEntity entity) { if (surfaceLine.BottomDitchPolderSide != null) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLinePointCreateExtensions.cs =================================================================== diff -u -r54e6baff4fab535777949f737314f052853e818a -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLinePointCreateExtensions.cs (.../RingtoetsPipingSurfaceLinePointCreateExtensions.cs) (revision 54e6baff4fab535777949f737314f052853e818a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLinePointCreateExtensions.cs (.../RingtoetsPipingSurfaceLinePointCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -44,7 +44,7 @@ /// A new . /// Thrown when is null. internal static SurfaceLinePointEntity CreateSurfaceLinePoint(this Point3D geometryPoint, - CreateConversionCollector collector, + PersistenceRegistry collector, int order) { if (collector == null) @@ -60,7 +60,7 @@ Order = order }; - collector.Create(entity, geometryPoint); + collector.Register(entity, geometryPoint); return entity; } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StochasticSoilModelCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StochasticSoilModelCreateExtensions.cs (.../StochasticSoilModelCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StochasticSoilModelCreateExtensions.cs (.../StochasticSoilModelCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,7 +37,7 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static StochasticSoilModelEntity Create(this StochasticSoilModel model, CreateConversionCollector collector) + internal static StochasticSoilModelEntity Create(this StochasticSoilModel model, PersistenceRegistry collector) { if (collector == null) { @@ -52,11 +52,11 @@ AddEntitiesForStochasticSoilProfiles(model, collector, entity); - collector.Create(entity, model); + collector.Register(entity, model); return entity; } - private static void AddEntitiesForStochasticSoilProfiles(StochasticSoilModel model, CreateConversionCollector collector, StochasticSoilModelEntity entity) + private static void AddEntitiesForStochasticSoilProfiles(StochasticSoilModel model, PersistenceRegistry collector, StochasticSoilModelEntity entity) { foreach (var stochasticSoilProfile in model.StochasticSoilProfiles) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StochasticSoilProfileCreateExtensions.cs =================================================================== diff -u -r5969ec704a34c08bc99fb44f826f7b89e19340de -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StochasticSoilProfileCreateExtensions.cs (.../StochasticSoilProfileCreateExtensions.cs) (revision 5969ec704a34c08bc99fb44f826f7b89e19340de) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StochasticSoilProfileCreateExtensions.cs (.../StochasticSoilProfileCreateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -37,15 +37,15 @@ /// The object keeping track of create operations. /// A new . /// Thrown when is null. - internal static StochasticSoilProfileEntity Create(this StochasticSoilProfile profile, CreateConversionCollector collector) + internal static StochasticSoilProfileEntity Create(this StochasticSoilProfile profile, PersistenceRegistry collector) { var entity = new StochasticSoilProfileEntity { Probability = Convert.ToDecimal(profile.Probability), SoilProfileEntity = profile.SoilProfile.Create(collector) }; - collector.Create(entity, profile); + collector.Register(entity, profile); return entity; } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqLite.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqLite.cs (.../StorageSqLite.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/StorageSqLite.cs (.../StorageSqLite.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -82,7 +82,7 @@ { try { - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); dbContext.ProjectEntities.Add(project.Create(collector)); var changes = dbContext.SaveChanges(); collector.TransferIds(); @@ -134,7 +134,7 @@ { try { - var updateCollector = new CreateConversionCollector(); + var updateCollector = new PersistenceRegistry(); project.Update(updateCollector, dbContext); updateCollector.RemoveUntouched(dbContext); var changes = dbContext.SaveChanges(); @@ -215,7 +215,7 @@ { try { - var updateConversionCollector = new CreateConversionCollector(); + var updateConversionCollector = new PersistenceRegistry(); project.Update(updateConversionCollector, dbContext); updateConversionCollector.RemoveUntouched(dbContext); Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/AssessmentSectionUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/AssessmentSectionUpdateExtensions.cs (.../AssessmentSectionUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/AssessmentSectionUpdateExtensions.cs (.../AssessmentSectionUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -49,7 +49,7 @@ /// is null /// is null /// - internal static void Update(this AssessmentSection section, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this AssessmentSection section, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -70,10 +70,10 @@ UpdateReferenceLine(section, entity, context); UpdateStandAloneFailureMechanisms(section, collector, context); - collector.Create(entity, section); + collector.Register(entity, section); } - private static void UpdateStandAloneFailureMechanisms(AssessmentSection section, CreateConversionCollector collector, IRingtoetsEntities context) + private static void UpdateStandAloneFailureMechanisms(AssessmentSection section, PersistenceRegistry collector, IRingtoetsEntities context) { section.MacrostabilityInwards.Update(collector, context); section.StabilityStoneCover.Update(collector, context); @@ -99,12 +99,12 @@ } } - private static void UpdatePipingFailureMechanism(AssessmentSection section, CreateConversionCollector collector, IRingtoetsEntities context) + private static void UpdatePipingFailureMechanism(AssessmentSection section, PersistenceRegistry collector, IRingtoetsEntities context) { section.PipingFailureMechanism.Update(collector, context); } - private static void UpdateGrassCoverErosionInwardsFailureMechanism(AssessmentSection section, CreateConversionCollector collector, IRingtoetsEntities context) + private static void UpdateGrassCoverErosionInwardsFailureMechanism(AssessmentSection section, PersistenceRegistry collector, IRingtoetsEntities context) { section.GrassCoverErosionInwards.Update(collector, context); } @@ -130,7 +130,7 @@ } } - private static void UpdateHydraulicDatabase(AssessmentSection section, AssessmentSectionEntity entity, CreateConversionCollector collector, IRingtoetsEntities context) + private static void UpdateHydraulicDatabase(AssessmentSection section, AssessmentSectionEntity entity, PersistenceRegistry collector, IRingtoetsEntities context) { if (section.HydraulicBoundaryDatabase != null) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs (.../FailureMechanismBaseUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs (.../FailureMechanismBaseUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -46,7 +46,7 @@ /// is null /// /// - internal static void UpdateFailureMechanismSections(this IFailureMechanism mechanism, CreateConversionCollector collector, FailureMechanismEntity entity, IRingtoetsEntities context) + internal static void UpdateFailureMechanismSections(this IFailureMechanism mechanism, PersistenceRegistry collector, FailureMechanismEntity entity, IRingtoetsEntities context) { if (collector == null) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismSectionUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismSectionUpdateExtensions.cs (.../FailureMechanismSectionUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismSectionUpdateExtensions.cs (.../FailureMechanismSectionUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -45,7 +45,7 @@ /// is null /// is null /// - internal static void Update(this FailureMechanismSection section, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this FailureMechanismSection section, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -61,7 +61,7 @@ UpdateGeometry(section, entity, context); - collector.Create(entity, section); + collector.Register(entity, section); } private static FailureMechanismSectionEntity GetSingleFailureMechanismSection(FailureMechanismSection section, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/GrassCoverErosionInwardsFailureMechanismUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/GrassCoverErosionInwardsFailureMechanismUpdateExtensions.cs (.../GrassCoverErosionInwardsFailureMechanismUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/GrassCoverErosionInwardsFailureMechanismUpdateExtensions.cs (.../GrassCoverErosionInwardsFailureMechanismUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -47,7 +47,7 @@ /// is null /// is null /// - internal static void Update(this GrassCoverErosionInwardsFailureMechanism mechanism, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this GrassCoverErosionInwardsFailureMechanism mechanism, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -63,7 +63,7 @@ mechanism.UpdateFailureMechanismSections(collector, entity, context); - collector.Create(entity, mechanism); + collector.Register(entity, mechanism); } private static FailureMechanismEntity GetSingleFailureMechanism(GrassCoverErosionInwardsFailureMechanism mechanism, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/HydraulicBoundaryLocationUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/HydraulicBoundaryLocationUpdateExtensions.cs (.../HydraulicBoundaryLocationUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/HydraulicBoundaryLocationUpdateExtensions.cs (.../HydraulicBoundaryLocationUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -47,7 +47,7 @@ /// is null /// is null /// - internal static void Update(this HydraulicBoundaryLocation location, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this HydraulicBoundaryLocation location, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -64,7 +64,7 @@ entity.LocationY = Convert.ToDecimal(location.Location.Y); entity.DesignWaterLevel = double.IsNaN(location.DesignWaterLevel) ? (double?) null : Convert.ToDouble(location.DesignWaterLevel); - collector.Create(entity, location); + collector.Register(entity, location); } private static HydraulicLocationEntity GetSingleHydraulicBoundaryLocation(HydraulicBoundaryLocation location, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingFailureMechanismUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingFailureMechanismUpdateExtensions.cs (.../PipingFailureMechanismUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingFailureMechanismUpdateExtensions.cs (.../PipingFailureMechanismUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -47,7 +47,7 @@ /// is null /// is null /// - internal static void Update(this PipingFailureMechanism mechanism, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this PipingFailureMechanism mechanism, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -65,10 +65,10 @@ UpdateSurfaceLines(mechanism, collector, context, entity); mechanism.UpdateFailureMechanismSections(collector, entity, context); - collector.Create(entity, mechanism); + collector.Register(entity, mechanism); } - private static void UpdateSoilModels(PipingFailureMechanism mechanism, CreateConversionCollector collector, IRingtoetsEntities context, FailureMechanismEntity entity) + private static void UpdateSoilModels(PipingFailureMechanism mechanism, PersistenceRegistry collector, IRingtoetsEntities context, FailureMechanismEntity entity) { foreach (var stochasticSoilModel in mechanism.StochasticSoilModels) { @@ -83,7 +83,7 @@ } } - private static void UpdateSurfaceLines(PipingFailureMechanism failureMechanism, CreateConversionCollector collector, IRingtoetsEntities context, FailureMechanismEntity entity) + private static void UpdateSurfaceLines(PipingFailureMechanism failureMechanism, PersistenceRegistry collector, IRingtoetsEntities context, FailureMechanismEntity entity) { foreach (RingtoetsPipingSurfaceLine surfaceLine in failureMechanism.SurfaceLines) { Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingSoilLayerUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingSoilLayerUpdateExtensions.cs (.../PipingSoilLayerUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingSoilLayerUpdateExtensions.cs (.../PipingSoilLayerUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -47,7 +47,7 @@ /// is null /// is null /// - internal static void Update(this PipingSoilLayer layer, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this PipingSoilLayer layer, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -63,7 +63,7 @@ entity.IsAquifer = Convert.ToByte(layer.IsAquifer); entity.Top = Convert.ToDecimal(layer.Top); - collector.Create(entity, layer); + collector.Register(entity, layer); } private static SoilLayerEntity GetSingleSoilLayer(PipingSoilLayer layer, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingSoilProfileUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingSoilProfileUpdateExtensions.cs (.../PipingSoilProfileUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingSoilProfileUpdateExtensions.cs (.../PipingSoilProfileUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -46,7 +46,7 @@ /// is null /// is null /// - internal static void Update(this PipingSoilProfile profile, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this PipingSoilProfile profile, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -73,7 +73,7 @@ } } - collector.Create(entity, profile); + collector.Register(entity, profile); } private static SoilProfileEntity GetSinglePipingSoilProfile(PipingSoilProfile profile, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/ProjectUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/ProjectUpdateExtensions.cs (.../ProjectUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/ProjectUpdateExtensions.cs (.../ProjectUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -47,7 +47,7 @@ /// is null /// is null /// - internal static void Update(this Project project, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this Project project, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -73,7 +73,7 @@ } } - collector.Create(entity, project); + collector.Register(entity, project); } private static ProjectEntity ReadSingleProject(Project project, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/RingtoetsPipingSurfaceLineUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/RingtoetsPipingSurfaceLineUpdateExtensions.cs (.../RingtoetsPipingSurfaceLineUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/RingtoetsPipingSurfaceLineUpdateExtensions.cs (.../RingtoetsPipingSurfaceLineUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -53,7 +53,7 @@ /// /// When no /// can be found in that matches . - internal static void Update(this RingtoetsPipingSurfaceLine surfaceLine, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this RingtoetsPipingSurfaceLine surfaceLine, PersistenceRegistry collector, IRingtoetsEntities context) { if (collector == null) { @@ -73,10 +73,10 @@ UpdateGeometry(surfaceLine, entity, context, collector); UpdateCharacteristicPoints(surfaceLine, entity, collector); - collector.Create(entity, surfaceLine); + collector.Register(entity, surfaceLine); } - private static void UpdateGeometry(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, IRingtoetsEntities context, CreateConversionCollector collector) + private static void UpdateGeometry(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, IRingtoetsEntities context, PersistenceRegistry collector) { if (HasGeometryChanges(surfaceLine, entity)) { @@ -88,7 +88,7 @@ var orderedPointEntities = context.SurfaceLinePointEntities.OrderBy(pe => pe.Order).ToArray(); for (int i = 0; i < surfaceLine.Points.Length; i++) { - collector.Create(orderedPointEntities[i], surfaceLine.Points[i]); + collector.Register(orderedPointEntities[i], surfaceLine.Points[i]); } } } @@ -111,7 +111,7 @@ return false; } - private static void UpdateGeometryPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, CreateConversionCollector collector) + private static void UpdateGeometryPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, PersistenceRegistry collector) { int order = 0; foreach (Point3D geometryPoint in surfaceLine.Points) @@ -120,7 +120,7 @@ } } - private static void UpdateCharacteristicPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, CreateConversionCollector collector) + private static void UpdateCharacteristicPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, PersistenceRegistry collector) { CharacteristicPointEntity[] currentCharacteristicPointEntities = entity.SurfaceLinePointEntities .SelectMany(pe => pe.CharacteristicPointEntities) @@ -142,7 +142,7 @@ private static void UpdateCharacteristicPoint(Point3D currentCharacteristicPoint, CharacteristicPointType type, CharacteristicPointEntity[] currentCharacteristicPointEntities, - CreateConversionCollector collector) + PersistenceRegistry collector) { short typeValue = (short)type; CharacteristicPointEntity characteristicPointEntity = currentCharacteristicPointEntities @@ -165,7 +165,7 @@ else if (characteristicPointEntity.SurfaceLinePointEntity != geometryPointEntity) { characteristicPointEntity.SurfaceLinePointEntity = geometryPointEntity; - collector.Create(characteristicPointEntity, currentCharacteristicPoint); + collector.Register(characteristicPointEntity, currentCharacteristicPoint); } } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StandAloneFailureMechanismUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StandAloneFailureMechanismUpdateExtensions.cs (.../StandAloneFailureMechanismUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StandAloneFailureMechanismUpdateExtensions.cs (.../StandAloneFailureMechanismUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -48,7 +48,7 @@ /// is null /// is null /// - internal static void Update(this IFailureMechanism mechanism, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this IFailureMechanism mechanism, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -64,7 +64,7 @@ mechanism.UpdateFailureMechanismSections(collector, entity, context); - collector.Create(entity, mechanism); + collector.Register(entity, mechanism); } private static FailureMechanismEntity GetSingleFailureMechanism(this IFailureMechanism mechanism, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StochasticSoilModelUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StochasticSoilModelUpdateExtensions.cs (.../StochasticSoilModelUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StochasticSoilModelUpdateExtensions.cs (.../StochasticSoilModelUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -46,7 +46,7 @@ /// is null /// is null /// - internal static void Update(this StochasticSoilModel model, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this StochasticSoilModel model, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -73,7 +73,7 @@ } } - collector.Create(entity, model); + collector.Register(entity, model); } private static StochasticSoilModelEntity GetSingleStochasticSoilModel(StochasticSoilModel model, IRingtoetsEntities context) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StochasticSoilProfileUpdateExtensions.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StochasticSoilProfileUpdateExtensions.cs (.../StochasticSoilProfileUpdateExtensions.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StochasticSoilProfileUpdateExtensions.cs (.../StochasticSoilProfileUpdateExtensions.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -46,7 +46,7 @@ /// is null /// is null /// - internal static void Update(this StochasticSoilProfile profile, CreateConversionCollector collector, IRingtoetsEntities context) + internal static void Update(this StochasticSoilProfile profile, PersistenceRegistry collector, IRingtoetsEntities context) { if (context == null) { @@ -69,7 +69,7 @@ profile.SoilProfile.Update(collector, context); } - collector.Create(entity, profile); + collector.Register(entity, profile); } private static StochasticSoilProfileEntity GetSingleStochasticSoilProfile(StochasticSoilProfile profile, IRingtoetsEntities context) Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -82,7 +82,7 @@ - + Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs =================================================================== diff -u -r5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -63,7 +63,7 @@ { Name = testName }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = assessmentSection.Create(collector); @@ -116,7 +116,7 @@ new HydraulicBoundaryLocation(-1, "name", 1, 2) } }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = assessmentSection.Create(collector); @@ -139,7 +139,7 @@ new Point2D(2,3), new Point2D(5,3) }); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = assessmentSection.Create(collector); Fisheye: Tag 71123d9c364c97a5ef2eec81acd1bf877a1297b0 refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/CreateConversionCollectorTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismBaseCreateExtensionsTest.cs =================================================================== diff -u -rea99af5c043eadf5c2ba83b82a847ae009181191 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismBaseCreateExtensionsTest.cs (.../FailureMechanismBaseCreateExtensionsTest.cs) (revision ea99af5c043eadf5c2ba83b82a847ae009181191) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismBaseCreateExtensionsTest.cs (.../FailureMechanismBaseCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -55,7 +55,7 @@ var failureMechanism = new TestFailureMechanism(); // Call - TestDelegate test = () => failureMechanism.AddEntitiesForFailureMechanismSections(new CreateConversionCollector(), null); + TestDelegate test = () => failureMechanism.AddEntitiesForFailureMechanismSections(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -70,7 +70,7 @@ var failureMechanismEntity = new FailureMechanismEntity(); // Call - failureMechanism.AddEntitiesForFailureMechanismSections(new CreateConversionCollector(), failureMechanismEntity); + failureMechanism.AddEntitiesForFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity); // Assert Assert.IsEmpty(failureMechanismEntity.FailureMechanismSectionEntities); @@ -85,7 +85,7 @@ var failureMechanismEntity = new FailureMechanismEntity(); // Call - failureMechanism.AddEntitiesForFailureMechanismSections(new CreateConversionCollector(), failureMechanismEntity); + failureMechanism.AddEntitiesForFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismSectionCreateExtensionsTest.cs =================================================================== diff -u -r4bb55feac151da4010e81849de3103327f7f40ae -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismSectionCreateExtensionsTest.cs (.../FailureMechanismSectionCreateExtensionsTest.cs) (revision 4bb55feac151da4010e81849de3103327f7f40ae) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismSectionCreateExtensionsTest.cs (.../FailureMechanismSectionCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -51,7 +51,7 @@ string testName = "testName"; var geometryPoints = new[] { new Point2D(0, 0), new Point2D(0, 0) }; var failureMechanismSection = new FailureMechanismSection(testName, geometryPoints); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = failureMechanismSection.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwardsFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwardsFailureMechanismCreateExtensionsTest.cs (.../GrassCoverErosionInwardsFailureMechanismCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwardsFailureMechanismCreateExtensionsTest.cs (.../GrassCoverErosionInwardsFailureMechanismCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -52,7 +52,7 @@ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); // Call - var entity = failureMechanism.Create(new CreateConversionCollector()); + var entity = failureMechanism.Create(new PersistenceRegistry()); // Assert Assert.IsEmpty(entity.FailureMechanismSectionEntities); @@ -66,7 +66,7 @@ failureMechanism.AddSection(new FailureMechanismSection("", new [] { new Point2D(0,0) })); // Call - var entity = failureMechanism.Create(new CreateConversionCollector()); + var entity = failureMechanism.Create(new PersistenceRegistry()); // Assert Assert.AreEqual(1, entity.FailureMechanismSectionEntities.Count); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCreateExtensionsTest.cs (.../HydraulicBoundaryLocationCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCreateExtensionsTest.cs (.../HydraulicBoundaryLocationCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -53,7 +53,7 @@ var coordinateY = random.NextDouble(); var id = random.Next(0,150); var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(id, testName, coordinateX, coordinateY); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = hydraulicBoundaryLocation.Create(collector); @@ -77,7 +77,7 @@ { DesignWaterLevel = waterLevel }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = hydraulicBoundaryLocation.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PersistenceRegistryTest.cs =================================================================== diff -u --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PersistenceRegistryTest.cs (revision 0) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PersistenceRegistryTest.cs (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -0,0 +1,1156 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Linq; + +using Application.Ringtoets.Storage.Create; +using Application.Ringtoets.Storage.DbContext; +using Application.Ringtoets.Storage.TestUtil; + +using Core.Common.Base.Data; +using Core.Common.Base.Geometry; +using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.HydraRing.Data; +using Ringtoets.Integration.Data; +using Ringtoets.Integration.Data.StandAlone; +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Data.TestUtil; +using Ringtoets.Piping.KernelWrapper.TestUtil; +using Ringtoets.Piping.Primitives; + +namespace Application.Ringtoets.Storage.Test.Create +{ + [TestFixture] + public class PersistenceRegistryTest + { + [Test] + public void Contains_WithoutModel_ArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Contains(null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Contains_SoilProfileAdded_True() + { + // Setup + var collector = new PersistenceRegistry(); + var profile = new TestPipingSoilProfile(); + collector.Register(new SoilProfileEntity(), profile); + + // Call + var result = collector.Contains(profile); + + // Assert + Assert.IsTrue(result); + } + + [Test] + public void Contains_NoSoilProfileAdded_False() + { + // Setup + var collector = new PersistenceRegistry(); + var profile = new TestPipingSoilProfile(); + + // Call + var result = collector.Contains(profile); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void Contains_OtherSoilProfileAdded_False() + { + // Setup + var collector = new PersistenceRegistry(); + var profile = new TestPipingSoilProfile(); + collector.Register(new SoilProfileEntity(), new TestPipingSoilProfile()); + + // Call + var result = collector.Contains(profile); + + // Assert + Assert.IsFalse(result); + } + + [Test] + public void Get_WithoutModel_ArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Get(null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Get_SoilProfileAdded_ReturnsEntity() + { + // Setup + var collector = new PersistenceRegistry(); + var profile = new TestPipingSoilProfile(); + var entity = new SoilProfileEntity(); + collector.Register(entity, profile); + + // Call + var result = collector.Get(profile); + + // Assert + Assert.AreSame(entity, result); + } + + [Test] + public void Get_NoSoilProfileAdded_ThrowsInvalidOperationException() + { + // Setup + var collector = new PersistenceRegistry(); + var profile = new TestPipingSoilProfile(); + + // Call + TestDelegate test = () => collector.Get(profile); + + // Assert + Assert.Throws(test); + } + + [Test] + public void Get_OtherSoilProfileAdded_ThrowsInvalidOperationException() + { + // Setup + var collector = new PersistenceRegistry(); + var profile = new TestPipingSoilProfile(); + collector.Register(new SoilProfileEntity(), new TestPipingSoilProfile()); + + // Call + TestDelegate test = () => collector.Get(profile); + + // Assert + Assert.Throws(test); + } + + [Test] + public void GetSurfaceLinePoint_SurfaceLinePointAdded_ReturnsEntity() + { + // Setup + var surfaceLineGeometryPoint = new Point3D(1.1, 2.2, 3.3); + var initializedEntity = new SurfaceLinePointEntity(); + + var collector = new PersistenceRegistry(); + collector.Register(initializedEntity, surfaceLineGeometryPoint); + + // Call + SurfaceLinePointEntity retrievedEntity = collector.GetSurfaceLinePoint(surfaceLineGeometryPoint); + + // Assert + Assert.AreSame(initializedEntity, retrievedEntity); + + } + + #region Register methods + + [Test] + public void Register_WithNullProjectEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new Project()); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullProject_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new ProjectEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullAssessmentSectionEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new AssessmentSection(AssessmentSectionComposition.Dike)); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullAssessmentSection_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new AssessmentSectionEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullFailureMechanismEntity_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var model = mocks.StrictMock(); + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, model); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullFailureMechanismBase_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new FailureMechanismEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullFailureMechanismSection_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new FailureMechanismSectionEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullHydraulicLocationEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new HydraulicBoundaryLocation(-1, "name", 0, 0)); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullHydraulicBoundaryLocation_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new HydraulicLocationEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullStochasticSoilModelEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new TestStochasticSoilModel()); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullStochasticSoilModel_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new StochasticSoilModelEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullStochasticSoilProfileEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new StochasticSoilProfile(1, SoilProfileType.SoilProfile1D, -1)); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullStochasticSoilProfile_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new StochasticSoilProfileEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullSoilProfileEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new PipingSoilProfile("name", 0, new [] { new PipingSoilLayer(1) }, SoilProfileType.SoilProfile1D, -1)); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullPipingSoilProfile_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new SoilProfileEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullSoilLayerEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(null, new PipingSoilLayer(0)); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullPipingSoilLayer_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate test = () => collector.Register(new SoilLayerEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullSurfaceLinePointEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate call = () => collector.Register((SurfaceLinePointEntity)null, new Point3D(1.1, 2.2, 3.3)); + + // Assert + var paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullSurfaceLinePoint_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate call = () => collector.Register(new SurfaceLinePointEntity(), null); + + // Assert + var paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("model", paramName); + } + + [Test] + public void Register_WithNullCharacteristicPointEntity_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate call = () => collector.Register((CharacteristicPointEntity)null, new Point3D(1.1, 2.2, 3.3)); + + // Assert + var paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void Register_WithNullPoint3DForCharacteristicPoint_ThrowsArgumentNullException() + { + // Setup + var collector = new PersistenceRegistry(); + + // Call + TestDelegate call = () => collector.Register(new CharacteristicPointEntity(), null); + + // Assert + var paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("model", paramName); + } + + #endregion + + #region TransferId method + + [Test] + public void TransferId_WithProjectEntityAdded_EqualProjectEntityIdAndProjectStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new ProjectEntity + { + ProjectEntityId = storageId + }; + var model = new Project(); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithAssessmentSectionEntityAdded_EqualAssessmentSectionEntityIdAndAssessmentSectionStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new AssessmentSectionEntity + { + AssessmentSectionEntityId = storageId + }; + var model = new AssessmentSection(AssessmentSectionComposition.Dike); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithFailureMechanismEntityAddedWithPipingFailureMechanism_EqualFailureMechanismEntityIdAndPipingFailureMechanismStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new FailureMechanismEntity + { + FailureMechanismEntityId = storageId + }; + var model = new PipingFailureMechanism(); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithFailureMechanismEntityAddedWithStandAloneFailureMechanism_EqualFailureMechanismEntityIdAndStandAloneFailureMechanismStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new FailureMechanismEntity + { + FailureMechanismEntityId = storageId + }; + var model = new MacrostabilityInwardsFailureMechanism(); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithFailureMechanismSectionEntityAddedWithFailureMechanismSection_EqualFailureMechanismSectionEntityIdAndFailureMechanismSectionStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new FailureMechanismSectionEntity + { + FailureMechanismSectionEntityId = storageId + }; + var model = new FailureMechanismSection("name", new [] { new Point2D(0,0) }); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithHydraulicLocationEntityAdded_EqualHydraulicLocationEntityIdAndHydraulicBoundaryLocationStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new HydraulicLocationEntity + { + HydraulicLocationEntityId = storageId + }; + var model = new HydraulicBoundaryLocation(-1, "name", 0, 0); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithStochasticSoilModelEntityAdded_EqualStochasticSoilModelEntityIdAndStochasticSoilModelStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new StochasticSoilModelEntity + { + StochasticSoilModelEntityId = storageId + }; + var model = new StochasticSoilModel(-1, "name", "name"); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithStochasticSoilProfileEntityAdded_EqualStochasticSoilProfileEntityIdAndStochasticSoilProfileStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new StochasticSoilProfileEntity + { + StochasticSoilProfileEntityId = storageId + }; + var model = new StochasticSoilProfile(1, SoilProfileType.SoilProfile1D, -1); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithSoilProfileEntityAdded_EqualSoilProfileEntityIdAndPipingSoilProfileStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new SoilProfileEntity + { + SoilProfileEntityId = storageId + }; + var model = new PipingSoilProfile("name", 0, new [] { new PipingSoilLayer(1) }, SoilProfileType.SoilProfile1D, -1); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithSoilLayerEntityAdded_EqualSoilLayerEntityIdAndPipingSoilLayerStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1,4000); + var entity = new SoilLayerEntity + { + SoilLayerEntityId = storageId + }; + var model = new PipingSoilLayer(0); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithSurfaceLineEntityAdded_EqualSurfaceLineEntityIdAndRingtoetsPipingSurfaceLineStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1, 4000); + var entity = new SurfaceLineEntity + { + SurfaceLineEntityId = storageId + }; + var model = new RingtoetsPipingSurfaceLine(); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + [Test] + public void TransferId_WithSurfaceLinePointEntityAdded_EqualSurfaceLinePointEntityIdAndPoint3DStorageId() + { + // Setup + var collector = new PersistenceRegistry(); + + long storageId = new Random(21).Next(1, 4000); + var entity = new SurfaceLinePointEntity + { + SurfaceLinePointEntityId = storageId + }; + var model = new Point3D(1.1, 2.2, 3.3); + collector.Register(entity, model); + + // Call + collector.TransferIds(); + + // Assert + Assert.AreEqual(storageId, model.StorageId); + } + + #endregion + + #region RemoveUntouched method + + [Test] + public void RemoveUntouched_ProjectEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new ProjectEntity + { + ProjectEntityId = 1 + }; + var persistentEntity = new ProjectEntity + { + ProjectEntityId = 2 + }; + dbContext.ProjectEntities.Add(orphanedEntity); + dbContext.ProjectEntities.Add(persistentEntity); + + var project = new Project { StorageId = persistentEntity.ProjectEntityId }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, project); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.ProjectEntities.Count()); + CollectionAssert.Contains(dbContext.ProjectEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_AssessmentSectionEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new AssessmentSectionEntity + { + AssessmentSectionEntityId = 1 + }; + var persistentEntity = new AssessmentSectionEntity + { + AssessmentSectionEntityId = 2 + }; + dbContext.AssessmentSectionEntities.Add(orphanedEntity); + dbContext.AssessmentSectionEntities.Add(persistentEntity); + + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike){ StorageId = persistentEntity.AssessmentSectionEntityId }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, assessmentSection); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.AssessmentSectionEntities.Count()); + CollectionAssert.Contains(dbContext.AssessmentSectionEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_FailureMechanismEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + var failureMechanismStub = mocks.Stub(); + mocks.ReplayAll(); + + var orphanedEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 1 + }; + var persistentEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 2 + }; + dbContext.FailureMechanismEntities.Add(orphanedEntity); + dbContext.FailureMechanismEntities.Add(persistentEntity); + + failureMechanismStub.StorageId = persistentEntity.FailureMechanismEntityId; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, failureMechanismStub); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.FailureMechanismEntities.Count()); + CollectionAssert.Contains(dbContext.FailureMechanismEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_FailureMechanismSectionEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new FailureMechanismSectionEntity + { + FailureMechanismSectionEntityId = 1 + }; + var persistentEntity = new FailureMechanismSectionEntity + { + FailureMechanismSectionEntityId = 2 + }; + dbContext.FailureMechanismSectionEntities.Add(orphanedEntity); + dbContext.FailureMechanismSectionEntities.Add(persistentEntity); + + var section = new FailureMechanismSection("A", new[]{new Point2D(1, 2) }){ StorageId = persistentEntity.FailureMechanismSectionEntityId }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, section); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.FailureMechanismSectionEntities.Count()); + CollectionAssert.Contains(dbContext.FailureMechanismSectionEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_HydraulicLocationEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new HydraulicLocationEntity + { + HydraulicLocationEntityId = 1 + }; + var persistentEntity = new HydraulicLocationEntity + { + HydraulicLocationEntityId = 2 + }; + dbContext.HydraulicLocationEntities.Add(orphanedEntity); + dbContext.HydraulicLocationEntities.Add(persistentEntity); + + var boundaryLocation = new HydraulicBoundaryLocation(123, "A", 1, 2){ StorageId = persistentEntity.HydraulicLocationEntityId }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, boundaryLocation); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.HydraulicLocationEntities.Count()); + CollectionAssert.Contains(dbContext.HydraulicLocationEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_StochasticSoilModelEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new StochasticSoilModelEntity + { + StochasticSoilModelEntityId = 1 + }; + var persistentEntity = new StochasticSoilModelEntity + { + StochasticSoilModelEntityId = 2 + }; + dbContext.StochasticSoilModelEntities.Add(orphanedEntity); + dbContext.StochasticSoilModelEntities.Add(persistentEntity); + + var soilModel = new StochasticSoilModel(123, "A", "B"){ StorageId = persistentEntity.StochasticSoilModelEntityId }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, soilModel); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.StochasticSoilModelEntities.Count()); + CollectionAssert.Contains(dbContext.StochasticSoilModelEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_StochasticSoilProfileEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new StochasticSoilProfileEntity + { + StochasticSoilProfileEntityId = 1 + }; + var persistentEntity = new StochasticSoilProfileEntity + { + StochasticSoilProfileEntityId = 2 + }; + dbContext.StochasticSoilProfileEntities.Add(orphanedEntity); + dbContext.StochasticSoilProfileEntities.Add(persistentEntity); + + var stochasticSoilProfile = new StochasticSoilProfile(1.0, SoilProfileType.SoilProfile1D, 123){ StorageId = persistentEntity.StochasticSoilProfileEntityId }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, stochasticSoilProfile); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.StochasticSoilProfileEntities.Count()); + CollectionAssert.Contains(dbContext.StochasticSoilProfileEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_SoilProfileEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new SoilProfileEntity + { + SoilProfileEntityId = 1 + }; + var persistentEntity = new SoilProfileEntity + { + SoilProfileEntityId = 2 + }; + dbContext.SoilProfileEntities.Add(orphanedEntity); + dbContext.SoilProfileEntities.Add(persistentEntity); + + var soilProfile = new TestPipingSoilProfile + { + StorageId = persistentEntity.SoilProfileEntityId + }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, soilProfile); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.SoilProfileEntities.Count()); + CollectionAssert.Contains(dbContext.SoilProfileEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_SoilLayerEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new SoilLayerEntity + { + SoilLayerEntityId = 1 + }; + var persistentEntity = new SoilLayerEntity + { + SoilLayerEntityId = 2 + }; + dbContext.SoilLayerEntities.Add(orphanedEntity); + dbContext.SoilLayerEntities.Add(persistentEntity); + + var soilLayer = new PipingSoilLayer(1) + { + StorageId = persistentEntity.SoilLayerEntityId + }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, soilLayer); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.SoilLayerEntities.Count()); + CollectionAssert.Contains(dbContext.SoilLayerEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_SurfaceLineEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new SurfaceLineEntity + { + SurfaceLineEntityId = 1 + }; + var persistentEntity = new SurfaceLineEntity + { + SurfaceLineEntityId = 2 + }; + dbContext.SurfaceLineEntities.Add(orphanedEntity); + dbContext.SurfaceLineEntities.Add(persistentEntity); + + var surfaceLine = new RingtoetsPipingSurfaceLine + { + StorageId = persistentEntity.SurfaceLineEntityId + }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, surfaceLine); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.SurfaceLineEntities.Count()); + CollectionAssert.Contains(dbContext.SurfaceLineEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_SurfaceLinePointEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new SurfaceLinePointEntity + { + SurfaceLinePointEntityId = 1 + }; + var persistentEntity = new SurfaceLinePointEntity + { + SurfaceLinePointEntityId = 2 + }; + dbContext.SurfaceLinePointEntities.Add(orphanedEntity); + dbContext.SurfaceLinePointEntities.Add(persistentEntity); + + var geometryPoint = new Point3D(1, 2, 3) + { + StorageId = persistentEntity.SurfaceLinePointEntityId + }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, geometryPoint); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.SurfaceLinePointEntities.Count()); + CollectionAssert.Contains(dbContext.SurfaceLinePointEntities, persistentEntity); + mocks.VerifyAll(); + } + + [Test] + public void RemoveUntouched_CharacteristicPointEntity_OrphanedEntityIsRemovedFromRingtoetsEntities() + { + // Setup + var mocks = new MockRepository(); + IRingtoetsEntities dbContext = RingtoetsEntitiesHelper.Create(mocks); + mocks.ReplayAll(); + + var orphanedEntity = new CharacteristicPointEntity + { + CharacteristicPointEntityId = 1 + }; + var persistentEntity = new CharacteristicPointEntity + { + CharacteristicPointEntityId = 2 + }; + dbContext.CharacteristicPointEntities.Add(orphanedEntity); + dbContext.CharacteristicPointEntities.Add(persistentEntity); + + var geometryPoint = new Point3D(1, 2, 3) + { + StorageId = 394624 // Note: ID only has to match a SurfaceLinePointEntity's id! + }; + + var collector = new PersistenceRegistry(); + collector.Register(persistentEntity, geometryPoint); + + // Call + collector.RemoveUntouched(dbContext); + + // Assert + Assert.AreEqual(1, dbContext.CharacteristicPointEntities.Count()); + CollectionAssert.Contains(dbContext.CharacteristicPointEntities, persistentEntity); + mocks.VerifyAll(); + } + + #endregion + + } +} \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingFailureMechanismCreateExtensionsTest.cs (.../PipingFailureMechanismCreateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingFailureMechanismCreateExtensionsTest.cs (.../PipingFailureMechanismCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -58,7 +58,7 @@ { IsRelevant = isRelevant }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = failureMechanism.Create(collector); @@ -79,7 +79,7 @@ var failureMechanism = new PipingFailureMechanism(); failureMechanism.StochasticSoilModels.Add(new StochasticSoilModel(-1, "name", "segmentName")); failureMechanism.StochasticSoilModels.Add(new StochasticSoilModel(-1, "name2", "segmentName2")); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = failureMechanism.Create(collector); @@ -98,7 +98,7 @@ var failureMechanism = new PipingFailureMechanism(); failureMechanism.AddSection(new FailureMechanismSection(string.Empty, new [] { new Point2D(0,0) })); failureMechanism.AddSection(new FailureMechanismSection(string.Empty, new [] { new Point2D(0, 0) })); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = failureMechanism.Create(collector); @@ -118,7 +118,7 @@ var failureMechanism = new PipingFailureMechanism(); failureMechanism.SurfaceLines.Add(CreateSurfaceLine(random)); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call FailureMechanismEntity entity = failureMechanism.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingSoilLayerCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingSoilLayerCreateExtensionsTest.cs (.../PipingSoilLayerCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingSoilLayerCreateExtensionsTest.cs (.../PipingSoilLayerCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -54,7 +54,7 @@ { IsAquifer = isAquifer }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = soilLayer.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingSoilProfileCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingSoilProfileCreateExtensionsTest.cs (.../PipingSoilProfileCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/PipingSoilProfileCreateExtensionsTest.cs (.../PipingSoilProfileCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -56,7 +56,7 @@ new PipingSoilLayer(bottom + 2) }; var soilProfile = new PipingSoilProfile(testName, bottom, layers, SoilProfileType.SoilProfile1D, -1); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = soilProfile.Create(collector); @@ -73,7 +73,7 @@ { // Setup var soilProfile = new TestPipingSoilProfile(); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var firstEntity = soilProfile.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/ProjectCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/ProjectCreateExtensionsTest.cs (.../ProjectCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/ProjectCreateExtensionsTest.cs (.../ProjectCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -54,7 +54,7 @@ { Description = testdescription }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = project.Create(collector); @@ -75,7 +75,7 @@ new AssessmentSection(AssessmentSectionComposition.Dike) } }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = project.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineCreateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -53,7 +53,7 @@ public void Create_SurfaceLineWithoutGeometry_ReturnSurfaceLineEntityWithoutAddingPointEntities() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var surfaceLine = new RingtoetsPipingSurfaceLine { Name = "Test", @@ -78,7 +78,7 @@ public void Create_SurfaceLineWithGeometryWithoutCharacteristicPoints_ReturnSurfaceLineEntityWithPointEntities() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var geometry = new[] { new Point3D(1.1, 2.2, 3.3), @@ -122,7 +122,7 @@ public void Create_SurfaceLineWithAllData_ReturnSurfaceLineEntityWithPointEntitiesAndCharactersisticPointReferences() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var geometry = new[] { new Point3D(1.1, 2.2, 3.3), @@ -207,7 +207,7 @@ public void Create_SurfaceLine_RegisterNewEntityToCreateConversionCollector() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var surfaceLine = new RingtoetsPipingSurfaceLine { ReferenceLineIntersectionWorldPoint = new Point2D(0.0, 0.0) Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs =================================================================== diff -u -r9e1b97e9540df6cbd635120135c83de0260aa6d1 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -50,7 +50,7 @@ public void CreateSurfaceLinePoint_ValidArguments_CreateSurfaceLinePointEntity() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var geometryPoint = new Point3D(2.3, 4.5, 6.7); // Call @@ -74,7 +74,7 @@ public void CreateSurfaceLinePoint_ValidArguments_NewEntityIsRegisteredToCreateConversionCollector() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var geometryPoint = new Point3D(2.3, 4.5, 6.7); // Call Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StochasticSoilModelCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StochasticSoilModelCreateExtensionsTest.cs (.../StochasticSoilModelCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StochasticSoilModelCreateExtensionsTest.cs (.../StochasticSoilModelCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -53,7 +53,7 @@ string testName = "testName"; string testSegmentName = "testSegmentName"; var stochasticSoilModel = new StochasticSoilModel(-1, testName, testSegmentName); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = stochasticSoilModel.Create(collector); @@ -78,7 +78,7 @@ { SoilProfile = new TestPipingSoilProfile() }); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = stochasticSoilModel.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StochasticSoilProfileCreateExtensionsTest.cs =================================================================== diff -u -r35408ec0912670519b01cff44a19a3e2fb12d8d6 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StochasticSoilProfileCreateExtensionsTest.cs (.../StochasticSoilProfileCreateExtensionsTest.cs) (revision 35408ec0912670519b01cff44a19a3e2fb12d8d6) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StochasticSoilProfileCreateExtensionsTest.cs (.../StochasticSoilProfileCreateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -53,7 +53,7 @@ { SoilProfile = new TestPipingSoilProfile() }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var entity = stochasticSoilProfile.Create(collector); @@ -76,7 +76,7 @@ { SoilProfile = testPipingSoilProfile }; - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call var firstEntity = firstStochasticSoilProfile.Create(collector); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs =================================================================== diff -u -r5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs (.../AssessmentSectionUpdateExtensionsTest.cs) (revision 5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs (.../AssessmentSectionUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -50,7 +50,7 @@ var section = new AssessmentSection(AssessmentSectionComposition.Dike); // Call - TestDelegate test = () => section.Update(new CreateConversionCollector(), null); + TestDelegate test = () => section.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -88,7 +88,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -119,7 +119,7 @@ }); // Call - TestDelegate test = () => section.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'AssessmentSectionEntity' met id '{0}' is niet gevonden.", storageId); @@ -153,7 +153,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(newName, entity.Name); @@ -191,7 +191,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, entity.ReferenceLinePointEntities.Count); @@ -233,7 +233,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(0, ringtoetsEntities.ReferenceLinePointEntities.Count()); @@ -272,7 +272,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(filePath, entity.HydraulicDatabaseLocation); @@ -327,7 +327,7 @@ ringtoetsEntities.HydraulicLocationEntities.Add(hydraulicLocationEntity); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(filePath, entity.HydraulicDatabaseLocation); @@ -372,7 +372,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert CollectionAssert.AreEqual(new[] @@ -414,7 +414,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert CollectionAssert.AreEqual(new[] @@ -496,7 +496,7 @@ FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert CollectionAssert.AreEqual(new[] Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs (.../FailureMechanismBaseUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs (.../FailureMechanismBaseUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -68,7 +68,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - failureMechanism.UpdateFailureMechanismSections(new CreateConversionCollector(), null, ringtoetsEntities); + failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), null, ringtoetsEntities); } }; @@ -84,7 +84,7 @@ var failureMechanism = new TestFailureMechanism(); // Call - TestDelegate test = () => failureMechanism.UpdateFailureMechanismSections(new CreateConversionCollector(), new FailureMechanismEntity(), null); + TestDelegate test = () => failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), new FailureMechanismEntity(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -114,7 +114,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.UpdateFailureMechanismSections(new CreateConversionCollector(), failureMechanismEntity, ringtoetsEntities); + failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity, ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); @@ -158,7 +158,7 @@ ringtoetsEntities.FailureMechanismSectionEntities.Add(failureMechanismSectionEntity); // Call - failureMechanism.UpdateFailureMechanismSections(new CreateConversionCollector(), failureMechanismEntity, ringtoetsEntities); + failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity, ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismSectionUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismSectionUpdateExtensionsTest.cs (.../FailureMechanismSectionUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismSectionUpdateExtensionsTest.cs (.../FailureMechanismSectionUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -44,7 +44,7 @@ var section = new TestFailureMechanismSection(); // Call - TestDelegate test = () => section.Update(new CreateConversionCollector(), null); + TestDelegate test = () => section.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -82,7 +82,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -113,7 +113,7 @@ }); // Call - TestDelegate test = () => section.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'FailureMechanismSectionEntity' met id '{0}' is niet gevonden.", storageId); @@ -148,7 +148,7 @@ ringtoetsEntities.FailureMechanismSectionEntities.Add(entity); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, entity.FailureMechanismSectionPointEntities.Count); @@ -191,7 +191,7 @@ ringtoetsEntities.FailureMechanismSectionPointEntities.Add(pointEntity); // Call - section.Update(new CreateConversionCollector(), ringtoetsEntities); + section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(0, ringtoetsEntities.ReferenceLinePointEntities.Count()); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs (.../GrassCoverErosionInwardsFailureMechanismUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -45,7 +45,7 @@ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); // Call - TestDelegate test = () => failureMechanism.Update(new CreateConversionCollector(), null); + TestDelegate test = () => failureMechanism.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -83,7 +83,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -114,7 +114,7 @@ }); // Call - TestDelegate test = () => failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'FailureMechanismEntity' met id '{0}' is niet gevonden.", storageId); @@ -148,7 +148,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(Convert.ToByte(true), failureMechanismEntity.IsRelevant); @@ -182,7 +182,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); @@ -229,7 +229,7 @@ ringtoetsEntities.FailureMechanismSectionEntities.Add(failureMechanismSectionEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HydraulicBoundaryLocationUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HydraulicBoundaryLocationUpdateExtensionsTest.cs (.../HydraulicBoundaryLocationUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HydraulicBoundaryLocationUpdateExtensionsTest.cs (.../HydraulicBoundaryLocationUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -42,7 +42,7 @@ var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); // Call - TestDelegate test = () => hydraulicBoundaryLocation.Update(new CreateConversionCollector(), null); + TestDelegate test = () => hydraulicBoundaryLocation.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -80,7 +80,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - hydraulicBoundaryLocation.Update(new CreateConversionCollector(), ringtoetsEntities); + hydraulicBoundaryLocation.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -111,7 +111,7 @@ }); // Call - TestDelegate test = () => section.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => section.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'HydraulicLocationEntity' met id '{0}' is niet gevonden.", storageId); @@ -155,7 +155,7 @@ ringtoetsEntities.HydraulicLocationEntities.Add(hydraulicLocationEntity); // Call - hydraulicBoundaryLocation.Update(new CreateConversionCollector(), ringtoetsEntities); + hydraulicBoundaryLocation.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(newName, hydraulicLocationEntity.Name); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingFailureMechanismUpdateExtensionsTest.cs (.../PipingFailureMechanismUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingFailureMechanismUpdateExtensionsTest.cs (.../PipingFailureMechanismUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -46,7 +46,7 @@ var failureMechanism = new PipingFailureMechanism(); // Call - TestDelegate test = () => failureMechanism.Update(new CreateConversionCollector(), null); + TestDelegate test = () => failureMechanism.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -84,7 +84,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -115,7 +115,7 @@ }); // Call - TestDelegate test = () => failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'FailureMechanismEntity' met id '{0}' is niet gevonden.", storageId); @@ -149,7 +149,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(Convert.ToByte(true), failureMechanismEntity.IsRelevant); @@ -185,7 +185,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.StochasticSoilModelEntities.Count); @@ -231,7 +231,7 @@ ringtoetsEntities.StochasticSoilModelEntities.Add(stochasticSoilModelEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.StochasticSoilModelEntities.Count); @@ -265,7 +265,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.SurfaceLineEntities.Count); @@ -312,7 +312,7 @@ ringtoetsEntities.SurfaceLineEntities.Add(surfaceLineEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.SurfaceLineEntities.Count); @@ -343,7 +343,7 @@ ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); @@ -387,7 +387,7 @@ ringtoetsEntities.FailureMechanismSectionEntities.Add(failureMechanismSectionEntity); // Call - failureMechanism.Update(new CreateConversionCollector(), ringtoetsEntities); + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingSoilLayerUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingSoilLayerUpdateExtensionsTest.cs (.../PipingSoilLayerUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingSoilLayerUpdateExtensionsTest.cs (.../PipingSoilLayerUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -42,7 +42,7 @@ var pipingSoilLayer = new PipingSoilLayer(0.5); // Call - TestDelegate test = () => pipingSoilLayer.Update(new CreateConversionCollector(), null); + TestDelegate test = () => pipingSoilLayer.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -80,7 +80,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - pipingSoilLayer.Update(new CreateConversionCollector(), ringtoetsEntities); + pipingSoilLayer.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -113,7 +113,7 @@ }); // Call - TestDelegate test = () => pipingSoilLayer.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => pipingSoilLayer.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'SoilLayerEntity' met id '{0}' is niet gevonden.", storageId); @@ -150,7 +150,7 @@ ringtoetsEntities.SoilLayerEntities.Add(soilLayerEntity); // Call - pipingSoilLayer.Update(new CreateConversionCollector(), ringtoetsEntities); + pipingSoilLayer.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(Convert.ToDouble(newTop), Convert.ToDouble(soilLayerEntity.Top), 1e-6); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingSoilProfileUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingSoilProfileUpdateExtensionsTest.cs (.../PipingSoilProfileUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingSoilProfileUpdateExtensionsTest.cs (.../PipingSoilProfileUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -44,7 +44,7 @@ var soilProfile = new TestPipingSoilProfile(); // Call - TestDelegate test = () => soilProfile.Update(new CreateConversionCollector(), null); + TestDelegate test = () => soilProfile.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -82,7 +82,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -119,7 +119,7 @@ }); // Call - TestDelegate test = () => soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'SoilProfileEntity' met id '{0}' is niet gevonden.", storageId); @@ -159,7 +159,7 @@ ringtoetsEntities.SoilProfileEntities.Add(profileEntity); // Call - soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(newName, profileEntity.Name); @@ -207,7 +207,7 @@ ringtoetsEntities.SoilLayerEntities.Add(soilLayerEntity); // Call - soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert CollectionAssert.AreEqual(new [] { soilLayerEntity }, profileEntity.SoilLayerEntities); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ProjectUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ProjectUpdateExtensionsTest.cs (.../ProjectUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ProjectUpdateExtensionsTest.cs (.../ProjectUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -44,7 +44,7 @@ var project = new Project(); // Call - TestDelegate test = () => project.Update(new CreateConversionCollector(), null); + TestDelegate test = () => project.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -82,7 +82,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - project.Update(new CreateConversionCollector(), ringtoetsEntities); + project.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -111,7 +111,7 @@ }); // Call - TestDelegate test = () => project.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => project.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'ProjectEntity' met id '{0}' is niet gevonden.", storageId); @@ -146,7 +146,7 @@ }); // Call - TestDelegate test = () => project.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => project.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'ProjectEntity' met id '{0}' is niet gevonden.", storageId); @@ -185,7 +185,7 @@ ringtoetsEntities.ProjectEntities.Add(entity); // Call - project.Update(new CreateConversionCollector(), ringtoetsEntities); + project.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(newDescription, entity.Description); @@ -218,7 +218,7 @@ ringtoetsEntities.ProjectEntities.Add(entity); // Call - project.Update(new CreateConversionCollector(), ringtoetsEntities); + project.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, entity.AssessmentSectionEntities.Count); @@ -315,7 +315,7 @@ }); // Call - project.Update(new CreateConversionCollector(), ringtoetsEntities); + project.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert CollectionAssert.AreEqual(new[] Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -64,7 +64,7 @@ public void Update_RingtoetsEntitiesIsNull_ThrowArgumentNullException() { // Setup - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); RingtoetsPipingSurfaceLine surfaceLine = CreateSavedSurfaceLineWithData(); @@ -84,7 +84,7 @@ var context = RingtoetsEntitiesHelper.Create(mocks); mocks.ReplayAll(); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); var surfaceLine = new RingtoetsPipingSurfaceLine(); @@ -121,7 +121,7 @@ }; context.SurfaceLineEntities.Add(entity); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call surfaceLine.Update(collector, context); @@ -158,7 +158,7 @@ // Precondition CollectionAssert.IsEmpty(context.SurfaceLinePointEntities); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call surfaceLine.Update(collector, context); @@ -196,7 +196,7 @@ SurfaceLineEntityId = surfaceLine.StorageId }; context.SurfaceLineEntities.Add(entity); - var createCollector = new CreateConversionCollector(); + var createCollector = new PersistenceRegistry(); for (int i = 0; i < surfaceLine.Points.Length; i++) { var geometryPoint = surfaceLine.Points[i]; @@ -209,7 +209,7 @@ context.SurfaceLinePointEntities.Add(pointEntity); } - var updateCollector = new CreateConversionCollector(); + var updateCollector = new PersistenceRegistry(); // Call surfaceLine.Update(updateCollector, context); @@ -245,7 +245,7 @@ }; context.SurfaceLineEntities.Add(entity); - var collector = new CreateConversionCollector(); + var collector = new PersistenceRegistry(); // Call surfaceLine.Update(collector, context); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilModelUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilModelUpdateExtensionsTest.cs (.../StochasticSoilModelUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilModelUpdateExtensionsTest.cs (.../StochasticSoilModelUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -45,7 +45,7 @@ var soilModel = new TestStochasticSoilModel(); // Call - TestDelegate test = () => soilModel.Update(new CreateConversionCollector(), null); + TestDelegate test = () => soilModel.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -83,7 +83,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - soilModel.Update(new CreateConversionCollector(), ringtoetsEntities); + soilModel.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -116,7 +116,7 @@ }); // Call - TestDelegate test = () => soilModel.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => soilModel.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'StochasticSoilModelEntity' met id '{0}' is niet gevonden.", storageId); @@ -152,7 +152,7 @@ ringtoetsEntities.StochasticSoilModelEntities.Add(modelEntity); // Call - soilModel.Update(new CreateConversionCollector(), ringtoetsEntities); + soilModel.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(newName, modelEntity.Name); @@ -190,7 +190,7 @@ ringtoetsEntities.StochasticSoilModelEntities.Add(soilModelEntity); // Call - soilModel.Update(new CreateConversionCollector(), ringtoetsEntities); + soilModel.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(1, soilModelEntity.StochasticSoilProfileEntities.Count); @@ -237,7 +237,7 @@ ringtoetsEntities.StochasticSoilProfileEntities.Add(soilProfileEntity); // Call - soilModel.Update(new CreateConversionCollector(), ringtoetsEntities); + soilModel.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert CollectionAssert.AreEqual(new [] {soilProfileEntity}, soilModelEntity.StochasticSoilProfileEntities); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilProfileUpdateExtensionsTest.cs =================================================================== diff -u -r36ed0869d04cd54d2aee0abbd0ec88100334e097 -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilProfileUpdateExtensionsTest.cs (.../StochasticSoilProfileUpdateExtensionsTest.cs) (revision 36ed0869d04cd54d2aee0abbd0ec88100334e097) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StochasticSoilProfileUpdateExtensionsTest.cs (.../StochasticSoilProfileUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0) @@ -44,7 +44,7 @@ var soilProfile = new TestStochasticSoilProfile(); // Call - TestDelegate test = () => soilProfile.Update(new CreateConversionCollector(), null); + TestDelegate test = () => soilProfile.Update(new PersistenceRegistry(), null); // Assert var paramName = Assert.Throws(test).ParamName; @@ -82,7 +82,7 @@ { using (var ringtoetsEntities = new RingtoetsEntities()) { - soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); } }; @@ -114,7 +114,7 @@ }); // Call - TestDelegate test = () => soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + TestDelegate test = () => soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert var expectedMessage = String.Format("Het object 'StochasticSoilProfileEntity' met id '{0}' is niet gevonden.", storageId); @@ -149,7 +149,7 @@ ringtoetsEntities.StochasticSoilProfileEntities.Add(soilProfileEntity); // Call - soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreEqual(newProbability, soilProfileEntity.Probability); @@ -190,7 +190,7 @@ ringtoetsEntities.SoilProfileEntities.Add(soilProfileEntity); // Call - soilProfile.Update(new CreateConversionCollector(), ringtoetsEntities); + soilProfile.Update(new PersistenceRegistry(), ringtoetsEntities); // Assert Assert.AreSame(soilProfileEntity, stochasticSoilProfileEntity.SoilProfileEntity);