Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneLocation.cs =================================================================== diff -u -r510415935cbdf34b1c927c7cd87d4aff20dcf728 -rd8b53e2a5786750a23b5baa81e6adf1e035df5c8 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneLocation.cs (.../DuneLocation.cs) (revision 510415935cbdf34b1c927c7cd87d4aff20dcf728) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Data/DuneLocation.cs (.../DuneLocation.cs) (revision d8b53e2a5786750a23b5baa81e6adf1e035df5c8) @@ -33,6 +33,7 @@ /// /// Creates a new instance of . /// + /// Id of the . /// Name of the . /// X-coordinate of the . /// Y-coordinate of the . @@ -41,13 +42,14 @@ /// Orientation of the . /// D50 of the . /// Thrown when is null. - public DuneLocation(string name, double coordinateX, double coordinateY, int coastalAreaId, double offset, double orientation, double d50) + public DuneLocation(long id, string name, double coordinateX, double coordinateY, int coastalAreaId, double offset, double orientation, double d50) { if (name == null) { throw new ArgumentNullException("name"); } + Id = id; Name = name; Location = new Point2D(coordinateX, coordinateY); CoastalAreaId = coastalAreaId; @@ -57,6 +59,11 @@ } /// + /// Gets the database id of the dune location. + /// + public long Id { get; private set; } + + /// /// Gets the name of the dune location. /// public string Name { get; private set; } Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionDataSynchronizationService.cs =================================================================== diff -u -r9717724b58f9be090380d74ba4d30c74ba81eb0c -rd8b53e2a5786750a23b5baa81e6adf1e035df5c8 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionDataSynchronizationService.cs (.../DuneErosionDataSynchronizationService.cs) (revision 9717724b58f9be090380d74ba4d30c74ba81eb0c) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionDataSynchronizationService.cs (.../DuneErosionDataSynchronizationService.cs) (revision d8b53e2a5786750a23b5baa81e6adf1e035df5c8) @@ -59,16 +59,20 @@ foreach (ReadDuneLocation duneLocation in duneLocations) { - if (hydraulicBoundaryDatabase.Locations.Any(hydraulicBoundaryLocation => - Math2D.AreEqualPoints(hydraulicBoundaryLocation.Location, duneLocation.Location))) + foreach (var hydraulicBoundaryLocation in hydraulicBoundaryDatabase.Locations) { - failureMechanism.DuneLocations.Add(new DuneLocation(duneLocation.Name, - duneLocation.Location.X, - duneLocation.Location.Y, - duneLocation.CoastalAreaId, - duneLocation.Offset, - duneLocation.Orientation, - duneLocation.D50)); + if (Math2D.AreEqualPoints(hydraulicBoundaryLocation.Location, duneLocation.Location)) + { + failureMechanism.DuneLocations.Add(new DuneLocation(hydraulicBoundaryLocation.Id, + duneLocation.Name, + duneLocation.Location.X, + duneLocation.Location.Y, + duneLocation.CoastalAreaId, + duneLocation.Offset, + duneLocation.Orientation, + duneLocation.D50)); + break; + } } } } Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneLocationTest.cs =================================================================== diff -u -r510415935cbdf34b1c927c7cd87d4aff20dcf728 -rd8b53e2a5786750a23b5baa81e6adf1e035df5c8 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneLocationTest.cs (.../DuneLocationTest.cs) (revision 510415935cbdf34b1c927c7cd87d4aff20dcf728) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.Test/DuneLocationTest.cs (.../DuneLocationTest.cs) (revision d8b53e2a5786750a23b5baa81e6adf1e035df5c8) @@ -32,7 +32,7 @@ public void Constructor_NameNull_ThrowArgumentNullException() { // Call - TestDelegate test = () => new DuneLocation(null, 0.0, 0.0, 0, 0.0, 0.0, 0.0); + TestDelegate test = () => new DuneLocation(0, null, 0.0, 0.0, 0, 0.0, 0.0, 0.0); // Assert var exception = Assert.Throws(test); @@ -43,6 +43,7 @@ public void Constructor_ExpectedValues() { // Setup + const long id = 0; const string name = "Dune location"; const double coordinateX = 10.0; const double coordinateY = 12.0; @@ -52,9 +53,10 @@ const double d50 = 0.123456; // Call - var duneLocation = new DuneLocation(name, coordinateX, coordinateY, coastalAreaId, offset, orientation, d50); + var duneLocation = new DuneLocation(id, name, coordinateX, coordinateY, coastalAreaId, offset, orientation, d50); // Assert + Assert.AreEqual(id, duneLocation.Id); Assert.AreEqual(name, duneLocation.Name); Assert.AreEqual(coordinateX, duneLocation.Location.X); Assert.AreEqual(coordinateY, duneLocation.Location.Y); @@ -68,7 +70,7 @@ public void Constructor_WithOffset_OffsetRounded() { // Call - var duneLocation = new DuneLocation("dune", 0.0, 0.0, 0, 4.298, 0.0, 0.0); + var duneLocation = new DuneLocation(0, "dune", 0.0, 0.0, 0, 4.298, 0.0, 0.0); // Assert Assert.AreEqual(2, duneLocation.Offset.NumberOfDecimalPlaces); @@ -79,7 +81,7 @@ public void Constructor_WithOrientation_OrientationRounded() { // Call - var duneLocation = new DuneLocation("dune", 0.0, 0.0, 0, 0.0, 8.214, 0.0); + var duneLocation = new DuneLocation(0, "dune", 0.0, 0.0, 0, 0.0, 8.214, 0.0); // Assert Assert.AreEqual(1, duneLocation.Orientation.NumberOfDecimalPlaces); @@ -90,7 +92,7 @@ public void Constructor_WithD50_D50Rounded() { // Call - var duneLocation = new DuneLocation("dune", 0.0, 0.0, 0, 0.0, 0.0, 0.1234567); + var duneLocation = new DuneLocation(0, "dune", 0.0, 0.0, 0, 0.0, 0.0, 0.1234567); // Assert Assert.AreEqual(6, duneLocation.D50.NumberOfDecimalPlaces); Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil/TestDuneLocation.cs =================================================================== diff -u -rb887e0d83a9ce38d959cc7d3ebbb4407a6bec416 -rd8b53e2a5786750a23b5baa81e6adf1e035df5c8 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil/TestDuneLocation.cs (.../TestDuneLocation.cs) (revision b887e0d83a9ce38d959cc7d3ebbb4407a6bec416) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil/TestDuneLocation.cs (.../TestDuneLocation.cs) (revision d8b53e2a5786750a23b5baa81e6adf1e035df5c8) @@ -31,6 +31,6 @@ /// Creates a new instance of . /// public TestDuneLocation() - : base(string.Empty, 0, 0, 0, 0, 0, 0) {} + : base(0, string.Empty, 0, 0, 0, 0, 0, 0) {} } } Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionDataSynchronizationServiceTest.cs =================================================================== diff -u -r9717724b58f9be090380d74ba4d30c74ba81eb0c -rd8b53e2a5786750a23b5baa81e6adf1e035df5c8 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionDataSynchronizationServiceTest.cs (.../DuneErosionDataSynchronizationServiceTest.cs) (revision 9717724b58f9be090380d74ba4d30c74ba81eb0c) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionDataSynchronizationServiceTest.cs (.../DuneErosionDataSynchronizationServiceTest.cs) (revision d8b53e2a5786750a23b5baa81e6adf1e035df5c8) @@ -87,6 +87,7 @@ Assert.AreEqual(1, failureMechanism.DuneLocations.Count); DuneLocation duneLocation = failureMechanism.DuneLocations.First(); + Assert.AreEqual(hydraulicBoundaryLocation.Id, duneLocation.Id); Assert.AreEqual(readDuneLocation.Name, duneLocation.Name); Assert.AreEqual(readDuneLocation.Location, duneLocation.Location); Assert.AreEqual(readDuneLocation.Offset, duneLocation.Offset);