Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj
===================================================================
diff -u -r845d2b0230eca6b2e9e94a2aec3fa36bd3c916b6 -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 845d2b0230eca6b2e9e94a2aec3fa36bd3c916b6)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -70,6 +70,10 @@
RingtoetsEntities.tt
+
+ RingtoetsEntities.tt
+
+
RingtoetsEntities.tt
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLineCreateExtensions.cs
===================================================================
diff -u -r54e6baff4fab535777949f737314f052853e818a -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLineCreateExtensions.cs (.../RingtoetsPipingSurfaceLineCreateExtensions.cs) (revision 54e6baff4fab535777949f737314f052853e818a)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/RingtoetsPipingSurfaceLineCreateExtensions.cs (.../RingtoetsPipingSurfaceLineCreateExtensions.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -73,32 +73,50 @@
if (surfaceLine.BottomDitchPolderSide != null)
{
SurfaceLinePointEntity characteristicPointEntity = collector.GetSurfaceLinePoint(surfaceLine.BottomDitchPolderSide);
- entity.BottomDitchPolderSidePointEntity = characteristicPointEntity;
+ characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.BottomDitchPolderSide
+ });
}
if (surfaceLine.BottomDitchDikeSide != null)
{
SurfaceLinePointEntity characteristicPointEntity = collector.GetSurfaceLinePoint(surfaceLine.BottomDitchDikeSide);
- entity.BottomDitchDikeSidePointEntity = characteristicPointEntity;
+ characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.BottomDitchDikeSide
+ });
}
if (surfaceLine.DikeToeAtPolder != null)
{
SurfaceLinePointEntity characteristicPointEntity = collector.GetSurfaceLinePoint(surfaceLine.DikeToeAtPolder);
- entity.DikeToeAtPolderPointEntity = characteristicPointEntity;
+ characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder
+ });
}
if (surfaceLine.DikeToeAtRiver != null)
{
SurfaceLinePointEntity characteristicPointEntity = collector.GetSurfaceLinePoint(surfaceLine.DikeToeAtRiver);
- entity.DikeToeAtRiverPointEntity = characteristicPointEntity;
+ characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtRiver
+ });
}
if (surfaceLine.DitchDikeSide != null)
{
SurfaceLinePointEntity characteristicPointEntity = collector.GetSurfaceLinePoint(surfaceLine.DitchDikeSide);
- entity.DitchDikeSidePointEntity = characteristicPointEntity;
+ characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DitchDikeSide
+ });
}
if (surfaceLine.DitchPolderSide != null)
{
SurfaceLinePointEntity characteristicPointEntity = collector.GetSurfaceLinePoint(surfaceLine.DitchPolderSide);
- entity.DitchPolderSidePointEntity = characteristicPointEntity;
+ characteristicPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DitchPolderSide
+ });
}
}
}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointEntity.cs
===================================================================
diff -u
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointEntity.cs (revision 0)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointEntity.cs (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -0,0 +1,44 @@
+// 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.
+
+//------------------------------------------------------------------------------
+//
+// This code was generated from a template.
+//
+// Manual changes to this file may cause unexpected behavior in your application.
+// Manual changes to this file will be overwritten if the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Application.Ringtoets.Storage.DbContext
+{
+ using System;
+ using System.Collections.Generic;
+
+ public partial class CharacteristicPointEntity
+ {
+ public long CharacteristicPointEntityId { get; set; }
+ public short CharacteristicPointType { get; set; }
+ public long SurfaceLinePointEntityId { get; set; }
+
+ public virtual SurfaceLinePointEntity SurfaceLinePointEntity { get; set; }
+ }
+}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointType.cs
===================================================================
diff -u
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointType.cs (revision 0)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/CharacteristicPointType.cs (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -0,0 +1,36 @@
+using Ringtoets.Piping.Primitives;
+
+namespace Application.Ringtoets.Storage.DbContext
+{
+ ///
+ /// Denotes a as being used to mark a particular
+ /// characteristic point of a .
+ ///
+ public enum CharacteristicPointType
+ {
+ ///
+ /// Corresponds to .
+ ///
+ DikeToeAtRiver = 1,
+ ///
+ /// Corresponds to .
+ ///
+ DikeToeAtPolder = 2,
+ ///
+ /// Corresponds to .
+ ///
+ DitchDikeSide = 3,
+ ///
+ /// Corresponds to .
+ ///
+ BottomDitchDikeSide = 4,
+ ///
+ /// Corresponds to .
+ ///
+ BottomDitchPolderSide = 5,
+ ///
+ /// Corresponds to .
+ ///
+ DitchPolderSide = 6
+ }
+}
\ No newline at end of file
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql
===================================================================
diff -u -r24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -1,6 +1,6 @@
/* ---------------------------------------------------- */
/* Generated by Enterprise Architect Version 12.0 */
-/* Created On : 18-mei-2016 13:30:01 */
+/* Created On : 23-mei-2016 8:51:48 */
/* DBMS : SQLite */
/* ---------------------------------------------------- */
@@ -48,6 +48,9 @@
DROP TABLE IF EXISTS 'SurfaceLinePointEntity'
;
+DROP TABLE IF EXISTS 'CharacteristicPointEntity'
+;
+
/* Create Tables with Primary and Foreign Keys, Check and Unique Constraints */
CREATE TABLE 'VersionEntity'
@@ -181,18 +184,6 @@
'Name' VARCHAR (255) NOT NULL,
'ReferenceLineIntersectionX' NUMERIC NOT NULL,
'ReferenceLineIntersectionY' NUMERIC NOT NULL,
- 'DitchPolderSidePointEntityId' INTEGER,
- 'BottomDitchPolderSidePointEntityId' INTEGER,
- 'BottomDitchDikeSidePointEntityId' INTEGER,
- 'DitchDikeSidePointEntityId' INTEGER,
- 'DikeToeAtRiverEntityId' INTEGER,
- 'DikeToeAtPolderEntityId' INTEGER,
- CONSTRAINT 'FK_BottomDitchDikeSidePointEntity_SurfaceLinePointEntity' FOREIGN KEY ('BottomDitchDikeSidePointEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action,
- CONSTRAINT 'FK_BottomDitchPolderSidePointEntity_SurfaceLinePointEntity' FOREIGN KEY ('BottomDitchPolderSidePointEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action,
- CONSTRAINT 'FK_DikeToeAtPolderPointEntity_SurfaceLinePointEntity' FOREIGN KEY ('DikeToeAtPolderEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action,
- CONSTRAINT 'FK_DikeToeAtRiverPointEntity_SurfaceLinePointEntity' FOREIGN KEY ('DikeToeAtRiverEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action,
- CONSTRAINT 'FK_DitchDikeSidePointEntity_SurfaceLinePointEntity' FOREIGN KEY ('DitchDikeSidePointEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action,
- CONSTRAINT 'FK_DitchPolderSidePointEntity_SurfaceLinePointEntity' FOREIGN KEY ('DitchPolderSidePointEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action,
CONSTRAINT 'FK_SurfaceLineEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE No Action ON UPDATE No Action
)
;
@@ -209,6 +200,15 @@
)
;
+CREATE TABLE 'CharacteristicPointEntity'
+(
+ 'CharacteristicPointEntityId' INTEGER NOT NULL PRIMARY KEY,
+ 'CharacteristicPointType' SMALLINT NOT NULL, -- Enum: 1 = DikeToeAtRiver 2 = DikeToeAtPolder 3 = DitchDikeSide 4 = BottomDitchDikeSide 5 = BottomDitchPolderSide 6 = DitchPolderSide
+ 'SurfaceLinePointEntityId' INTEGER NOT NULL,
+ CONSTRAINT 'FK_CharacteristicPointEntity_SurfaceLinePointEntity' FOREIGN KEY ('SurfaceLinePointEntityId') REFERENCES 'SurfaceLinePointEntity' ('SurfaceLinePointEntityId') ON DELETE No Action ON UPDATE No Action
+)
+;
+
/* Create Indexes and Triggers */
CREATE INDEX 'IXFK_AssessmentSectionEntity_ProjectEntity'
@@ -251,30 +251,10 @@
ON 'SurfaceLineEntity' ('FailureMechanismEntityId' ASC)
;
-CREATE INDEX 'IXFK_SurfaceLineEntity_SurfaceLinePointEntity'
- ON 'SurfaceLineEntity' ('DitchPolderSidePointEntityId' ASC)
-;
-
-CREATE INDEX 'IXFK_SurfaceLineEntity_SurfaceLinePointEntity_02'
- ON 'SurfaceLineEntity' ('BottomDitchPolderSidePointEntityId' ASC)
-;
-
-CREATE INDEX 'IXFK_SurfaceLineEntity_SurfaceLinePointEntity_03'
- ON 'SurfaceLineEntity' ('BottomDitchDikeSidePointEntityId' ASC)
-;
-
-CREATE INDEX 'IXFK_SurfaceLineEntity_SurfaceLinePointEntity_04'
- ON 'SurfaceLineEntity' ('DitchDikeSidePointEntityId' ASC)
-;
-
-CREATE INDEX 'IXFK_SurfaceLineEntity_SurfaceLinePointEntity_05'
- ON 'SurfaceLineEntity' ('DikeToeAtRiverEntityId' ASC)
-;
-
-CREATE INDEX 'IXFK_SurfaceLineEntity_SurfaceLinePointEntity_06'
- ON 'SurfaceLineEntity' ('DikeToeAtPolderEntityId' ASC)
-;
-
CREATE INDEX 'IXFK_SurfaceLinePointEntity_SurfaceLineEntity'
ON 'SurfaceLinePointEntity' ('SurfaceLineEntityId' ASC)
;
+
+CREATE INDEX 'IXFK_CharacteristicPointEntity_SurfaceLinePointEntity'
+ ON 'CharacteristicPointEntity' ('SurfaceLinePointEntityId' ASC)
+;
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs
===================================================================
diff -u -r86e3c1e3b6568eea578004f3d9d93114cdb351b8 -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs (.../RingtoetsEntities.Context.cs) (revision 86e3c1e3b6568eea578004f3d9d93114cdb351b8)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Context.cs (.../RingtoetsEntities.Context.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -53,6 +53,7 @@
}
public virtual DbSet AssessmentSectionEntities { get; set; }
+ public virtual DbSet CharacteristicPointEntities { get; set; }
public virtual DbSet FailureMechanismEntities { get; set; }
public virtual DbSet FailureMechanismSectionEntities { get; set; }
public virtual DbSet FailureMechanismSectionPointEntities { get; set; }
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx
===================================================================
diff -u -r24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -18,6 +18,14 @@
+
+
+
+
+
+
+
+
@@ -118,12 +126,6 @@
-
-
-
-
-
-
@@ -157,6 +159,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -277,78 +291,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -363,6 +305,7 @@
+
@@ -380,6 +323,10 @@
+
+
+
+
@@ -420,30 +367,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -455,6 +378,7 @@
+
@@ -484,6 +408,10 @@
+
+
+
+
@@ -512,30 +440,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -558,6 +462,15 @@
+
+
+
+
+
+
+
+
+
@@ -675,19 +588,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -700,12 +601,7 @@
-
-
-
-
-
-
+
@@ -765,6 +661,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -849,78 +757,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -953,6 +789,15 @@
+
+
+
+
+
+
+
+
+
@@ -1057,12 +902,6 @@
-
-
-
-
-
-
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram
===================================================================
diff -u -r24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -5,37 +5,33 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLineEntity.cs
===================================================================
diff -u -r24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLineEntity.cs (.../SurfaceLineEntity.cs) (revision 24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLineEntity.cs (.../SurfaceLineEntity.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -46,20 +46,8 @@
public string Name { get; set; }
public decimal ReferenceLineIntersectionX { get; set; }
public decimal ReferenceLineIntersectionY { get; set; }
- public Nullable DitchPolderSidePointEntityId { get; set; }
- public Nullable BottomDitchPolderSidePointEntityId { get; set; }
- public Nullable BottomDitchDikeSidePointEntityId { get; set; }
- public Nullable DitchDikeSidePointEntityId { get; set; }
- public Nullable DikeToeAtRiverEntityId { get; set; }
- public Nullable DikeToeAtPolderEntityId { get; set; }
public virtual FailureMechanismEntity FailureMechanismEntity { get; set; }
- public virtual SurfaceLinePointEntity DitchPolderSidePointEntity { get; set; }
- public virtual SurfaceLinePointEntity DitchDikeSidePointEntity { get; set; }
- public virtual SurfaceLinePointEntity DikeToeAtRiverPointEntity { get; set; }
- public virtual SurfaceLinePointEntity DikeToeAtPolderPointEntity { get; set; }
- public virtual SurfaceLinePointEntity BottomDitchPolderSidePointEntity { get; set; }
- public virtual SurfaceLinePointEntity BottomDitchDikeSidePointEntity { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection SurfaceLinePointEntities { get; set; }
}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLinePointEntity.cs
===================================================================
diff -u -r24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLinePointEntity.cs (.../SurfaceLinePointEntity.cs) (revision 24cf947dc2fc0c56fb917b989bc4ad2ccb27bcae)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/SurfaceLinePointEntity.cs (.../SurfaceLinePointEntity.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -38,12 +38,7 @@
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public SurfaceLinePointEntity()
{
- this.DitchPolderSidePointParentEntity = new HashSet();
- this.DitchDikeSidePointParentEntity = new HashSet();
- this.DikeToeAtRiverPointParentEntity = new HashSet();
- this.DikeToeAtPolderPointParentEntity = new HashSet();
- this.BottomDitchPolderSidePointParentEntity = new HashSet();
- this.BottomDitchDikeSidePointParentEntity = new HashSet();
+ this.CharacteristicPointEntities = new HashSet();
}
public long SurfaceLinePointEntityId { get; set; }
@@ -54,17 +49,7 @@
public decimal Z { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection DitchPolderSidePointParentEntity { get; set; }
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection DitchDikeSidePointParentEntity { get; set; }
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection DikeToeAtRiverPointParentEntity { get; set; }
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection DikeToeAtPolderPointParentEntity { get; set; }
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection BottomDitchPolderSidePointParentEntity { get; set; }
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection BottomDitchDikeSidePointParentEntity { get; set; }
+ public virtual ICollection CharacteristicPointEntities { get; set; }
public virtual SurfaceLineEntity SurfaceLineEntity { get; set; }
}
}
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/RingtoetsPipingSurfaceLineReadExtensions.cs
===================================================================
diff -u -r54e6baff4fab535777949f737314f052853e818a -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/RingtoetsPipingSurfaceLineReadExtensions.cs (.../RingtoetsPipingSurfaceLineReadExtensions.cs) (revision 54e6baff4fab535777949f737314f052853e818a)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/RingtoetsPipingSurfaceLineReadExtensions.cs (.../RingtoetsPipingSurfaceLineReadExtensions.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -68,30 +68,41 @@
private static void ReadCharacteristicPoints(this SurfaceLineEntity entity, RingtoetsPipingSurfaceLine surfaceLine, ReadConversionCollector collector)
{
- if (entity.BottomDitchDikeSidePointEntity != null)
+ foreach (SurfaceLinePointEntity pointEntity in entity.SurfaceLinePointEntities)
{
- surfaceLine.SetBottomDitchDikeSideAt(collector.Get(entity.BottomDitchDikeSidePointEntity));
+ foreach (CharacteristicPointEntity characteristicPointEntity in pointEntity.CharacteristicPointEntities)
+ {
+ SetCharacteristicPoint(surfaceLine, characteristicPointEntity, collector);
+ }
}
- if (entity.BottomDitchPolderSidePointEntity != null)
+ }
+
+ private static void SetCharacteristicPoint(RingtoetsPipingSurfaceLine surfaceLine, CharacteristicPointEntity characteristicPointEntity, ReadConversionCollector collector)
+ {
+ Point3D geometryPoint = collector.Get(characteristicPointEntity.SurfaceLinePointEntity);
+ switch ((CharacteristicPointType)characteristicPointEntity.CharacteristicPointType)
{
- surfaceLine.SetBottomDitchPolderSideAt(collector.Get(entity.BottomDitchPolderSidePointEntity));
+ case CharacteristicPointType.DikeToeAtRiver:
+ surfaceLine.SetDikeToeAtRiverAt(geometryPoint);
+ break;
+ case CharacteristicPointType.DikeToeAtPolder:
+ surfaceLine.SetDikeToeAtPolderAt(geometryPoint);
+ break;
+ case CharacteristicPointType.DitchDikeSide:
+ surfaceLine.SetDitchDikeSideAt(geometryPoint);
+ break;
+ case CharacteristicPointType.BottomDitchDikeSide:
+ surfaceLine.SetBottomDitchDikeSideAt(geometryPoint);
+ break;
+ case CharacteristicPointType.BottomDitchPolderSide:
+ surfaceLine.SetBottomDitchPolderSideAt(geometryPoint);
+ break;
+ case CharacteristicPointType.DitchPolderSide:
+ surfaceLine.SetDitchPolderSideAt(geometryPoint);
+ break;
+ default:
+ throw new NotImplementedException();
}
- if (entity.DikeToeAtPolderPointEntity != null)
- {
- surfaceLine.SetDikeToeAtPolderAt(collector.Get(entity.DikeToeAtPolderPointEntity));
- }
- if (entity.DikeToeAtRiverPointEntity != null)
- {
- surfaceLine.SetDikeToeAtRiverAt(collector.Get(entity.DikeToeAtRiverPointEntity));
- }
- if (entity.DitchDikeSidePointEntity != null)
- {
- surfaceLine.SetDitchDikeSideAt(collector.Get(entity.DitchDikeSidePointEntity));
- }
- if (entity.DitchPolderSidePointEntity != null)
- {
- surfaceLine.SetDitchPolderSideAt(collector.Get(entity.DitchPolderSidePointEntity));
- }
}
private static void ReadSurfaceLineGeometry(this SurfaceLineEntity entity, RingtoetsPipingSurfaceLine surfaceLine, ReadConversionCollector collector)
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/RingtoetsPipingSurfaceLineUpdateExtensions.cs
===================================================================
diff -u -r845d2b0230eca6b2e9e94a2aec3fa36bd3c916b6 -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/RingtoetsPipingSurfaceLineUpdateExtensions.cs (.../RingtoetsPipingSurfaceLineUpdateExtensions.cs) (revision 845d2b0230eca6b2e9e94a2aec3fa36bd3c916b6)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/RingtoetsPipingSurfaceLineUpdateExtensions.cs (.../RingtoetsPipingSurfaceLineUpdateExtensions.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -112,52 +112,53 @@
private static void UpdateCharacteristicPoints(RingtoetsPipingSurfaceLine surfaceLine, SurfaceLineEntity entity, UpdateConversionCollector collector)
{
- UpdateCharacteristicPoint(surfaceLine.BottomDitchDikeSide,
- entity.BottomDitchDikeSidePointEntity,
- pointEntity => entity.BottomDitchDikeSidePointEntity = pointEntity,
- collector);
- UpdateCharacteristicPoint(surfaceLine.BottomDitchPolderSide,
- entity.BottomDitchPolderSidePointEntity,
- pointEntity => entity.BottomDitchPolderSidePointEntity = pointEntity,
- collector);
- UpdateCharacteristicPoint(surfaceLine.DikeToeAtPolder,
- entity.DikeToeAtPolderPointEntity,
- pointEntity => entity.DikeToeAtPolderPointEntity = pointEntity,
- collector);
- UpdateCharacteristicPoint(surfaceLine.DikeToeAtRiver,
- entity.DikeToeAtRiverPointEntity,
- pointEntity => entity.DikeToeAtRiverPointEntity = pointEntity,
- collector);
- UpdateCharacteristicPoint(surfaceLine.DitchDikeSide,
- entity.DitchDikeSidePointEntity,
- pointEntity => entity.DitchDikeSidePointEntity = pointEntity,
- collector);
- UpdateCharacteristicPoint(surfaceLine.DitchPolderSide,
- entity.DitchPolderSidePointEntity,
- pointEntity => entity.DitchPolderSidePointEntity = pointEntity,
- collector);
+ CharacteristicPointEntity[] currentCharacteristicPointEntities = entity.SurfaceLinePointEntities
+ .SelectMany(pe => pe.CharacteristicPointEntities)
+ .ToArray();
+
+ UpdateCharacteristicPoint(surfaceLine.DikeToeAtRiver, CharacteristicPointType.DikeToeAtRiver,
+ currentCharacteristicPointEntities, collector);
+ UpdateCharacteristicPoint(surfaceLine.DikeToeAtPolder, CharacteristicPointType.DikeToeAtPolder,
+ currentCharacteristicPointEntities, collector);
+ UpdateCharacteristicPoint(surfaceLine.DitchDikeSide, CharacteristicPointType.DitchDikeSide,
+ currentCharacteristicPointEntities, collector);
+ UpdateCharacteristicPoint(surfaceLine.BottomDitchDikeSide, CharacteristicPointType.BottomDitchDikeSide,
+ currentCharacteristicPointEntities, collector);
+ UpdateCharacteristicPoint(surfaceLine.BottomDitchPolderSide, CharacteristicPointType.BottomDitchPolderSide,
+ currentCharacteristicPointEntities, collector);
+ UpdateCharacteristicPoint(surfaceLine.DitchPolderSide, CharacteristicPointType.DitchPolderSide,
+ currentCharacteristicPointEntities, collector);
}
- private static void UpdateCharacteristicPoint(Point3D characteristicPoint, SurfaceLinePointEntity currentCharacteristicPointEntity,
- Action replaceCharacteristicPointEntity,
+ private static void UpdateCharacteristicPoint(Point3D currentCharacteristicPoint, CharacteristicPointType type,
+ CharacteristicPointEntity[] currentCharacteristicPointEntities,
UpdateConversionCollector collector)
{
- if (characteristicPoint == null && currentCharacteristicPointEntity != null)
+ short typeValue = (short)type;
+ CharacteristicPointEntity characteristicPointEntity = currentCharacteristicPointEntities
+ .FirstOrDefault(cpe => cpe.CharacteristicPointType == typeValue);
+
+ if (currentCharacteristicPoint == null && characteristicPointEntity != null)
{
- replaceCharacteristicPointEntity(null);
+ characteristicPointEntity.SurfaceLinePointEntity = null;
}
- else if (characteristicPoint != null && IsEntityDifferentFromCurrentCharacteristicPoint(characteristicPoint, currentCharacteristicPointEntity))
+ else if (currentCharacteristicPoint != null)
{
- replaceCharacteristicPointEntity(collector.GetSurfaceLinePoint(characteristicPoint));
+ SurfaceLinePointEntity geometryPointEntity = collector.GetSurfaceLinePoint(currentCharacteristicPoint);
+ if (characteristicPointEntity == null)
+ {
+ geometryPointEntity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = typeValue
+ });
+ }
+ else if (characteristicPointEntity.SurfaceLinePointEntity != geometryPointEntity)
+ {
+ characteristicPointEntity.SurfaceLinePointEntity = geometryPointEntity;
+ }
}
}
- private static bool IsEntityDifferentFromCurrentCharacteristicPoint(Point3D characteristicPoint, SurfaceLinePointEntity currentCharacteristicPointEntity)
- {
- return currentCharacteristicPointEntity == null ||
- characteristicPoint.StorageId != currentCharacteristicPointEntity.SurfaceLinePointEntityId;
- }
-
///
/// Gets the from a
/// corresponding to an already saved instance.
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs
===================================================================
diff -u -r8a2d2653ceff765beecfcedab41a6be91df7d16e -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineCreateExtensionsTest.cs) (revision 8a2d2653ceff765beecfcedab41a6be91df7d16e)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLineCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineCreateExtensionsTest.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -133,12 +133,18 @@
Name = "Test"
};
surfaceLine.SetGeometry(geometry);
- surfaceLine.SetBottomDitchDikeSideAt(geometry[1]);
- surfaceLine.SetBottomDitchPolderSideAt(geometry[2]);
- surfaceLine.SetDikeToeAtPolderAt(geometry[3]);
- surfaceLine.SetDikeToeAtRiverAt(geometry[4]);
- surfaceLine.SetDitchDikeSideAt(geometry[5]);
- surfaceLine.SetDitchPolderSideAt(geometry[6]);
+ const int bottomDitchDikeIndex = 1;
+ surfaceLine.SetBottomDitchDikeSideAt(geometry[bottomDitchDikeIndex]);
+ const int bottomDitchPolderIndex = 2;
+ surfaceLine.SetBottomDitchPolderSideAt(geometry[bottomDitchPolderIndex]);
+ const int toePolderIndex = 3;
+ surfaceLine.SetDikeToeAtPolderAt(geometry[toePolderIndex]);
+ const int toeDikeIndex = 4;
+ surfaceLine.SetDikeToeAtRiverAt(geometry[toeDikeIndex]);
+ const int ditchDikeIndex = 5;
+ surfaceLine.SetDitchDikeSideAt(geometry[ditchDikeIndex]);
+ const int ditchPolderIndex = 6;
+ surfaceLine.SetDitchPolderSideAt(geometry[ditchPolderIndex]);
// Call
SurfaceLineEntity entity = surfaceLine.Create(collector);
@@ -159,29 +165,29 @@
Assert.AreEqual(expectedMatchingGeometryPoint.Z, pointEntity.Z);
}
- Assert.AreEqual(geometry[1].X, entity.BottomDitchDikeSidePointEntity.X);
- Assert.AreEqual(geometry[1].Y, entity.BottomDitchDikeSidePointEntity.Y);
- Assert.AreEqual(geometry[1].Z, entity.BottomDitchDikeSidePointEntity.Z);
+ SurfaceLinePointEntity bottomDitchDikeEntity = pointEntities[bottomDitchDikeIndex];
+ Assert.AreEqual(1, bottomDitchDikeEntity.CharacteristicPointEntities.Count);
+ Assert.AreEqual((short)CharacteristicPointType.BottomDitchDikeSide, bottomDitchDikeEntity.CharacteristicPointEntities.First().CharacteristicPointType);
- Assert.AreEqual(geometry[2].X, entity.BottomDitchPolderSidePointEntity.X);
- Assert.AreEqual(geometry[2].Y, entity.BottomDitchPolderSidePointEntity.Y);
- Assert.AreEqual(geometry[2].Z, entity.BottomDitchPolderSidePointEntity.Z);
+ SurfaceLinePointEntity bottomDitchPolderEntity = pointEntities[bottomDitchPolderIndex];
+ Assert.AreEqual(1, bottomDitchPolderEntity.CharacteristicPointEntities.Count);
+ Assert.AreEqual((short)CharacteristicPointType.BottomDitchPolderSide, bottomDitchPolderEntity.CharacteristicPointEntities.First().CharacteristicPointType);
- Assert.AreEqual(geometry[3].X, entity.DikeToeAtPolderPointEntity.X);
- Assert.AreEqual(geometry[3].Y, entity.DikeToeAtPolderPointEntity.Y);
- Assert.AreEqual(geometry[3].Z, entity.DikeToeAtPolderPointEntity.Z);
+ SurfaceLinePointEntity dikeToePolderEntity = pointEntities[toePolderIndex];
+ Assert.AreEqual(1, dikeToePolderEntity.CharacteristicPointEntities.Count);
+ Assert.AreEqual((short)CharacteristicPointType.DikeToeAtPolder, dikeToePolderEntity.CharacteristicPointEntities.First().CharacteristicPointType);
- Assert.AreEqual(geometry[4].X, entity.DikeToeAtRiverPointEntity.X);
- Assert.AreEqual(geometry[4].Y, entity.DikeToeAtRiverPointEntity.Y);
- Assert.AreEqual(geometry[4].Z, entity.DikeToeAtRiverPointEntity.Z);
+ SurfaceLinePointEntity dikeToeRiverEntity = pointEntities[toeDikeIndex];
+ Assert.AreEqual(1, dikeToeRiverEntity.CharacteristicPointEntities.Count);
+ Assert.AreEqual((short)CharacteristicPointType.DikeToeAtRiver, dikeToeRiverEntity.CharacteristicPointEntities.First().CharacteristicPointType);
- Assert.AreEqual(geometry[5].X, entity.DitchDikeSidePointEntity.X);
- Assert.AreEqual(geometry[5].Y, entity.DitchDikeSidePointEntity.Y);
- Assert.AreEqual(geometry[5].Z, entity.DitchDikeSidePointEntity.Z);
+ SurfaceLinePointEntity ditchDikeEntity = pointEntities[ditchDikeIndex];
+ Assert.AreEqual(1, ditchDikeEntity.CharacteristicPointEntities.Count);
+ Assert.AreEqual((short)CharacteristicPointType.DitchDikeSide, ditchDikeEntity.CharacteristicPointEntities.First().CharacteristicPointType);
- Assert.AreEqual(geometry[6].X, entity.DitchPolderSidePointEntity.X);
- Assert.AreEqual(geometry[6].Y, entity.DitchPolderSidePointEntity.Y);
- Assert.AreEqual(geometry[6].Z, entity.DitchPolderSidePointEntity.Z);
+ SurfaceLinePointEntity ditchPolderEntity = pointEntities[ditchPolderIndex];
+ Assert.AreEqual(1, ditchPolderEntity.CharacteristicPointEntities.Count);
+ Assert.AreEqual((short)CharacteristicPointType.DitchPolderSide, ditchPolderEntity.CharacteristicPointEntities.First().CharacteristicPointType);
Assert.AreEqual(0, entity.SurfaceLineEntityId);
Assert.AreEqual(0, entity.FailureMechanismEntityId);
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs
===================================================================
diff -u -r8a2d2653ceff765beecfcedab41a6be91df7d16e -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs) (revision 8a2d2653ceff765beecfcedab41a6be91df7d16e)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs (.../RingtoetsPipingSurfaceLinePointCreateExtensionsTest.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -65,12 +65,7 @@
Assert.AreEqual(0, entity.SurfaceLinePointEntityId);
- CollectionAssert.IsEmpty(entity.BottomDitchDikeSidePointParentEntity);
- CollectionAssert.IsEmpty(entity.BottomDitchPolderSidePointParentEntity);
- CollectionAssert.IsEmpty(entity.DikeToeAtPolderPointParentEntity);
- CollectionAssert.IsEmpty(entity.DikeToeAtRiverPointParentEntity);
- CollectionAssert.IsEmpty(entity.DitchDikeSidePointParentEntity);
- CollectionAssert.IsEmpty(entity.DitchPolderSidePointParentEntity);
+ CollectionAssert.IsEmpty(entity.CharacteristicPointEntities);
Assert.IsNull(entity.SurfaceLineEntity);
Assert.AreEqual(0, entity.SurfaceLineEntityId);
}
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/RingtoetsPipingSurfaceLineReadExtensionsTest.cs
===================================================================
diff -u -r54e6baff4fab535777949f737314f052853e818a -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/RingtoetsPipingSurfaceLineReadExtensionsTest.cs (.../RingtoetsPipingSurfaceLineReadExtensionsTest.cs) (revision 54e6baff4fab535777949f737314f052853e818a)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/RingtoetsPipingSurfaceLineReadExtensionsTest.cs (.../RingtoetsPipingSurfaceLineReadExtensionsTest.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -269,12 +269,36 @@
{
entity.SurfaceLinePointEntities.Add(pointEntity);
}
- entity.BottomDitchDikeSidePointEntity = point2Entity;
- entity.BottomDitchPolderSidePointEntity = point3Entity;
- entity.DikeToeAtPolderPointEntity = point4Entity;
- entity.DikeToeAtRiverPointEntity = point5Entity;
- entity.DitchDikeSidePointEntity = point6Entity;
- entity.DitchPolderSidePointEntity = point7Entity;
+ point2Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.BottomDitchDikeSide,
+ SurfaceLinePointEntity = point2Entity
+ });
+ point3Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.BottomDitchPolderSide,
+ SurfaceLinePointEntity = point3Entity
+ });
+ point4Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtPolder,
+ SurfaceLinePointEntity = point4Entity
+ });
+ point5Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DikeToeAtRiver,
+ SurfaceLinePointEntity = point5Entity
+ });
+ point6Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DitchDikeSide,
+ SurfaceLinePointEntity = point6Entity
+ });
+ point7Entity.CharacteristicPointEntities.Add(new CharacteristicPointEntity
+ {
+ CharacteristicPointType = (short)CharacteristicPointType.DitchPolderSide,
+ SurfaceLinePointEntity = point7Entity
+ });
// Call
RingtoetsPipingSurfaceLine surfaceLine = entity.Read(collector);
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs
===================================================================
diff -u -r845d2b0230eca6b2e9e94a2aec3fa36bd3c916b6 -r9e1b97e9540df6cbd635120135c83de0260aa6d1
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs) (revision 845d2b0230eca6b2e9e94a2aec3fa36bd3c916b6)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs (.../RingtoetsPipingSurfaceLineUpdateExtensionsTest.cs) (revision 9e1b97e9540df6cbd635120135c83de0260aa6d1)
@@ -252,40 +252,73 @@
// Assert
Assert.AreEqual(surfaceLine.Points.Length, entity.SurfaceLinePointEntities.Count);
+
+ int dikeToeRiverIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DikeToeAtRiver);
+ int dikeToePolderIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DikeToeAtPolder);
+ int ditchDikeSideIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DitchDikeSide);
+ int bottomDitchDikeSideIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.BottomDitchDikeSide);
+ int buttomDitchPolderSideIndex = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.BottomDitchPolderSide);
+ int ditchPolderSide = GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DitchPolderSide);
+
+ var surfaceLinePointEntities = entity.SurfaceLinePointEntities.OrderBy(pe => pe.Order).ToArray();
for (int i = 0; i < surfaceLine.Points.Length; i++)
{
Point3D geometryPoint = surfaceLine.Points[i];
- SurfaceLinePointEntity pointEntity = entity.SurfaceLinePointEntities.ElementAt(i);
+ SurfaceLinePointEntity pointEntity = surfaceLinePointEntities[i];
Assert.AreEqual(geometryPoint.X, pointEntity.X);
Assert.AreEqual(geometryPoint.Y, pointEntity.Y);
Assert.AreEqual(geometryPoint.Z, pointEntity.Z);
- }
- Assert.AreEqual(surfaceLine.BottomDitchDikeSide.X, entity.BottomDitchDikeSidePointEntity.X);
- Assert.AreEqual(surfaceLine.BottomDitchDikeSide.Y, entity.BottomDitchDikeSidePointEntity.Y);
- Assert.AreEqual(surfaceLine.BottomDitchDikeSide.Z, entity.BottomDitchDikeSidePointEntity.Z);
- Assert.AreEqual(GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.BottomDitchDikeSide), entity.BottomDitchDikeSidePointEntity.Order);
- Assert.AreEqual(surfaceLine.BottomDitchPolderSide.X, entity.BottomDitchPolderSidePointEntity.X);
- Assert.AreEqual(surfaceLine.BottomDitchPolderSide.Y, entity.BottomDitchPolderSidePointEntity.Y);
- Assert.AreEqual(surfaceLine.BottomDitchPolderSide.Z, entity.BottomDitchPolderSidePointEntity.Z);
- Assert.AreEqual(GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.BottomDitchPolderSide), entity.BottomDitchPolderSidePointEntity.Order);
- Assert.AreEqual(surfaceLine.DikeToeAtPolder.X, entity.DikeToeAtPolderPointEntity.X);
- Assert.AreEqual(surfaceLine.DikeToeAtPolder.Y, entity.DikeToeAtPolderPointEntity.Y);
- Assert.AreEqual(surfaceLine.DikeToeAtPolder.Z, entity.DikeToeAtPolderPointEntity.Z);
- Assert.AreEqual(GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DikeToeAtPolder), entity.DikeToeAtPolderPointEntity.Order);
- Assert.AreEqual(surfaceLine.DikeToeAtRiver.X, entity.DikeToeAtRiverPointEntity.X);
- Assert.AreEqual(surfaceLine.DikeToeAtRiver.Y, entity.DikeToeAtRiverPointEntity.Y);
- Assert.AreEqual(surfaceLine.DikeToeAtRiver.Z, entity.DikeToeAtRiverPointEntity.Z);
- Assert.AreEqual(GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DikeToeAtRiver), entity.DikeToeAtRiverPointEntity.Order);
- Assert.AreEqual(surfaceLine.DitchDikeSide.X, entity.DitchDikeSidePointEntity.X);
- Assert.AreEqual(surfaceLine.DitchDikeSide.Y, entity.DitchDikeSidePointEntity.Y);
- Assert.AreEqual(surfaceLine.DitchDikeSide.Z, entity.DitchDikeSidePointEntity.Z);
- Assert.AreEqual(GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DitchDikeSide), entity.DitchDikeSidePointEntity.Order);
- Assert.AreEqual(surfaceLine.DitchPolderSide.X, entity.DitchPolderSidePointEntity.X);
- Assert.AreEqual(surfaceLine.DitchPolderSide.Y, entity.DitchPolderSidePointEntity.Y);
- Assert.AreEqual(surfaceLine.DitchPolderSide.Z, entity.DitchPolderSidePointEntity.Z);
- Assert.AreEqual(GetGeometryPointIndexForCharacteristicPoint(surfaceLine, surfaceLine.DitchPolderSide), entity.DitchPolderSidePointEntity.Order);
+ if (i == dikeToeRiverIndex)
+ {
+ Assert.AreEqual(surfaceLine.DikeToeAtRiver.X, pointEntity.X);
+ Assert.AreEqual(surfaceLine.DikeToeAtRiver.Y, pointEntity.Y);
+ Assert.AreEqual(surfaceLine.DikeToeAtRiver.Z, pointEntity.Z);
+ CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType),
+ (short)CharacteristicPointType.DikeToeAtRiver);
+ }
+ if (i == dikeToePolderIndex)
+ {
+ Assert.AreEqual(surfaceLine.DikeToeAtPolder.X, pointEntity.X);
+ Assert.AreEqual(surfaceLine.DikeToeAtPolder.Y, pointEntity.Y);
+ Assert.AreEqual(surfaceLine.DikeToeAtPolder.Z, pointEntity.Z);
+ CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType),
+ (short)CharacteristicPointType.DikeToeAtPolder);
+ }
+ if (i == ditchDikeSideIndex)
+ {
+ Assert.AreEqual(surfaceLine.DitchDikeSide.X, pointEntity.X);
+ Assert.AreEqual(surfaceLine.DitchDikeSide.Y, pointEntity.Y);
+ Assert.AreEqual(surfaceLine.DitchDikeSide.Z, pointEntity.Z);
+ CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType),
+ (short)CharacteristicPointType.DitchDikeSide);
+ }
+ if (i == bottomDitchDikeSideIndex)
+ {
+ Assert.AreEqual(surfaceLine.BottomDitchDikeSide.X, pointEntity.X);
+ Assert.AreEqual(surfaceLine.BottomDitchDikeSide.Y, pointEntity.Y);
+ Assert.AreEqual(surfaceLine.BottomDitchDikeSide.Z, pointEntity.Z);
+ CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType),
+ (short)CharacteristicPointType.BottomDitchDikeSide);
+ }
+ if (i == buttomDitchPolderSideIndex)
+ {
+ Assert.AreEqual(surfaceLine.BottomDitchPolderSide.X, pointEntity.X);
+ Assert.AreEqual(surfaceLine.BottomDitchPolderSide.Y, pointEntity.Y);
+ Assert.AreEqual(surfaceLine.BottomDitchPolderSide.Z, pointEntity.Z);
+ CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType),
+ (short)CharacteristicPointType.BottomDitchPolderSide);
+ }
+ if (i == ditchPolderSide)
+ {
+ Assert.AreEqual(surfaceLine.DitchPolderSide.X, pointEntity.X);
+ Assert.AreEqual(surfaceLine.DitchPolderSide.Y, pointEntity.Y);
+ Assert.AreEqual(surfaceLine.DitchPolderSide.Z, pointEntity.Z);
+ CollectionAssert.Contains(pointEntity.CharacteristicPointEntities.Select(cpe => cpe.CharacteristicPointType),
+ (short)CharacteristicPointType.DitchPolderSide);
+ }
+ }
mocks.VerifyAll();
}