Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationUpdateExtensions.cs =================================================================== diff -u -rbc7cd9cbf90d04580e6b3542c56edc590867c43a -r66741e6e68057769a41a135dde00fdc82eeaeed4 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationUpdateExtensions.cs (.../GrassCoverErosionInwardsCalculationUpdateExtensions.cs) (revision bc7cd9cbf90d04580e6b3542c56edc590867c43a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationUpdateExtensions.cs (.../GrassCoverErosionInwardsCalculationUpdateExtensions.cs) (revision 66741e6e68057769a41a135dde00fdc82eeaeed4) @@ -79,8 +79,10 @@ private static void UpdateInput(GrassCoverErosionInwardsCalculationEntity entity, GrassCoverErosionInwardsInput input, PersistenceRegistry registry, IRingtoetsEntities context) { - UpdateDikeProfile(entity, input.DikeProfile, registry, context); - UpdateHydraulicBoundaryLocation(entity, input.HydraulicBoundaryLocation, registry, context); + DikeProfile dikeProfile = input.DikeProfile; + entity.DikeProfileEntity = dikeProfile != null ? registry.Get(dikeProfile) : null; + HydraulicBoundaryLocation hydraulicBoundaryLocation = input.HydraulicBoundaryLocation; + entity.HydraulicLocationEntity = hydraulicBoundaryLocation != null ? registry.Get(hydraulicBoundaryLocation) : null; entity.Orientation = input.Orientation.Value.ToNaNAsNull(); entity.CriticalFlowRateMean = input.CriticalFlowRate.Mean.Value.ToNaNAsNull(); @@ -93,44 +95,6 @@ entity.CalculateDikeHeight = Convert.ToByte(input.CalculateDikeHeight); } - private static void UpdateDikeProfile(GrassCoverErosionInwardsCalculationEntity entity, DikeProfile dikeProfile, PersistenceRegistry registry, IRingtoetsEntities context) - { - if (dikeProfile != null) - { - if (dikeProfile.IsNew()) - { - entity.DikeProfileEntity = dikeProfile.Create(registry); - } - else - { - dikeProfile.Update(registry, context); - } - } - else - { - entity.DikeProfileEntity = null; - } - } - - private static void UpdateHydraulicBoundaryLocation(GrassCoverErosionInwardsCalculationEntity entity, HydraulicBoundaryLocation hydraulicBoundaryLocation, PersistenceRegistry registry, IRingtoetsEntities context) - { - if (hydraulicBoundaryLocation != null) - { - if (hydraulicBoundaryLocation.IsNew()) - { - entity.HydraulicLocationEntity = hydraulicBoundaryLocation.Create(registry); - } - else - { - hydraulicBoundaryLocation.Update(registry, context); - } - } - else - { - entity.HydraulicLocationEntity = null; - } - } - private static void UpdateOutput(GrassCoverErosionInwardsCalculationEntity entity, GrassCoverErosionInwardsCalculation calculation, PersistenceRegistry registry, IRingtoetsEntities context) { if (calculation.HasOutput) Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationUpdateExtensionsTest.cs =================================================================== diff -u -r8fb89aa97883c5717bb40a279bbfa05164a4f038 -r66741e6e68057769a41a135dde00fdc82eeaeed4 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationUpdateExtensionsTest.cs (.../GrassCoverErosionInwardsCalculationUpdateExtensionsTest.cs) (revision 8fb89aa97883c5717bb40a279bbfa05164a4f038) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationUpdateExtensionsTest.cs (.../GrassCoverErosionInwardsCalculationUpdateExtensionsTest.cs) (revision 66741e6e68057769a41a135dde00fdc82eeaeed4) @@ -208,7 +208,7 @@ } [Test] - public void Update_CalculationWithNewDikeProfile_EntityHasDikeProfileEntityAdded() + public void Update_CalculationWithDikeProfile_EntityHasRegisteredDikeProfileEntityAdded() { // Setup var mocks = new MockRepository(); @@ -225,67 +225,25 @@ } }; + var dikeProfileEntity = new DikeProfileEntity(); var entity = new GrassCoverErosionInwardsCalculationEntity { GrassCoverErosionInwardsCalculationEntityId = calculation.StorageId }; ringtoetsEntities.GrassCoverErosionInwardsCalculationEntities.Add(entity); var registry = new PersistenceRegistry(); + registry.Register(dikeProfileEntity, calculation.InputParameters.DikeProfile); // Call calculation.Update(registry, ringtoetsEntities, 0); // Assert - Assert.IsNotNull(entity.DikeProfileEntity); + Assert.AreSame(dikeProfileEntity, entity.DikeProfileEntity); mocks.VerifyAll(); } [Test] - public void Update_CalculationWithSaveDikeProfile_DikeProfileRegistered() - { - // Setup - var mocks = new MockRepository(); - var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); - mocks.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation - { - StorageId = 2, - InputParameters = - { - DikeProfile = new DikeProfile(new Point2D(0, 0), new RoughnessPoint[0], - new Point2D[0], null, new DikeProfile.ConstructionProperties()) - { - StorageId = 7657 - } - } - }; - - var dikeProfileEntity = new DikeProfileEntity - { - DikeProfileEntityId = calculation.InputParameters.DikeProfile.StorageId - }; - var entity = new GrassCoverErosionInwardsCalculationEntity - { - GrassCoverErosionInwardsCalculationEntityId = calculation.StorageId, - DikeProfileEntity = dikeProfileEntity - }; - ringtoetsEntities.GrassCoverErosionInwardsCalculationEntities.Add(entity); - ringtoetsEntities.DikeProfileEntities.Add(dikeProfileEntity); - - var registry = new PersistenceRegistry(); - - // Call - calculation.Update(registry, ringtoetsEntities, 0); - - // Assert - registry.RemoveUntouched(ringtoetsEntities); - CollectionAssert.Contains(ringtoetsEntities.DikeProfileEntities, dikeProfileEntity); - mocks.VerifyAll(); - } - - [Test] public void Update_CalculationWithRemovedDikeProfile_EntityHasDikeProfileEntityNull() { // Setup @@ -328,7 +286,7 @@ } [Test] - public void Update_CalculationWithNewHydraulicBoundaryLocation_EntityHasHydraulicLocationEntityAdded() + public void Update_CalculationWithHydraulicBoundaryLocation_EntityHasRegisteredHydraulicLocationEntityAdded() { // Setup var mocks = new MockRepository(); @@ -344,66 +302,25 @@ } }; + var hydroLocationEntity = new HydraulicLocationEntity(); var entity = new GrassCoverErosionInwardsCalculationEntity { GrassCoverErosionInwardsCalculationEntityId = calculation.StorageId }; ringtoetsEntities.GrassCoverErosionInwardsCalculationEntities.Add(entity); var registry = new PersistenceRegistry(); + registry.Register(hydroLocationEntity, calculation.InputParameters.HydraulicBoundaryLocation); // Call calculation.Update(registry, ringtoetsEntities, 0); // Assert - Assert.IsNotNull(entity.HydraulicLocationEntity); + Assert.AreSame(hydroLocationEntity, entity.HydraulicLocationEntity); mocks.VerifyAll(); } [Test] - public void Update_CalculationWithSaveHydraulicBoundaryLocation_HydraulicBoundaryLocationRegistered() - { - // Setup - var mocks = new MockRepository(); - var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); - mocks.ReplayAll(); - - var calculation = new GrassCoverErosionInwardsCalculation - { - StorageId = 2, - InputParameters = - { - HydraulicBoundaryLocation = new HydraulicBoundaryLocation(9, "Z", 0, 0) - { - StorageId = 4353 - } - } - }; - - var hydroLocationEntity = new HydraulicLocationEntity - { - HydraulicLocationEntityId = calculation.InputParameters.HydraulicBoundaryLocation.StorageId - }; - var entity = new GrassCoverErosionInwardsCalculationEntity - { - GrassCoverErosionInwardsCalculationEntityId = calculation.StorageId, - HydraulicLocationEntity = hydroLocationEntity - }; - ringtoetsEntities.GrassCoverErosionInwardsCalculationEntities.Add(entity); - ringtoetsEntities.HydraulicLocationEntities.Add(hydroLocationEntity); - - var registry = new PersistenceRegistry(); - - // Call - calculation.Update(registry, ringtoetsEntities, 0); - - // Assert - registry.RemoveUntouched(ringtoetsEntities); - CollectionAssert.Contains(ringtoetsEntities.HydraulicLocationEntities, hydroLocationEntity); - mocks.VerifyAll(); - } - - [Test] public void Update_CalculationWithRemovedHydraulicBoundaryLocation_EntityHasHydraulicLocationEntityNull() { // Setup