Index: Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql =================================================================== diff -u -r99f686f22091051a65ff1ee20abd68ffad713647 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql (.../DatabaseStructure17.2.sql) (revision 99f686f22091051a65ff1ee20abd68ffad713647) +++ Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.2.sql (.../DatabaseStructure17.2.sql) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -1,6 +1,6 @@ /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.0 */ -/* Created On : 17-Aug-2017 1:38:55 PM */ +/* Created On : 01-Sep-2017 3:36:04 PM */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ @@ -300,7 +300,9 @@ 'Id' TEXT, 'Name' VARCHAR (260), 'Comments' TEXT, - 'Norm' REAL NOT NULL, + 'LowerLimitNorm' REAL NOT NULL, + 'SignalingNorm' REAL NOT NULL, + 'NormativeNorm' TINYINT (1) NOT NULL, -- EnumType: 1 = LowerLimit, 2 = Signaling 'HydraulicDatabaseVersion' TEXT, 'HydraulicDatabaseLocation' TEXT, 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune Index: Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql =================================================================== diff -u -r5f5fc9c9799816757fca63a82f5d86aadb262d2f -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql (.../Migration_17.1_17.2.sql) (revision 5f5fc9c9799816757fca63a82f5d86aadb262d2f) +++ Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/Migration_17.1_17.2.sql (.../Migration_17.1_17.2.sql) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -7,7 +7,35 @@ ATTACH DATABASE "{0}" AS SOURCEPROJECT; -INSERT INTO AssessmentSectionEntity SELECT * FROM [SOURCEPROJECT].AssessmentSectionEntity; +INSERT INTO AssessmentSectionEntity ( + [AssessmentSectionEntityId], + [ProjectEntityId], + [Id], + [Name], + [Comments], + [LowerLimitNorm], + [SignalingNorm], + [NormativeNorm], + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + [Composition], + [ReferenceLinePointXml], + [Order]) +SELECT + [AssessmentSectionEntityId], + [ProjectEntityId], + [Id], + [Name], + [Comments], + [Norm], + [Norm], + 1, + [HydraulicDatabaseVersion], + [HydraulicDatabaseLocation], + [Composition], + [ReferenceLinePointXml], + [Order] +FROM [SOURCEPROJECT].AssessmentSectionEntity; INSERT INTO BackgroundDataEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataEntity; INSERT INTO BackgroundDataMetaEntity SELECT * FROM [SOURCEPROJECT].BackgroundDataMetaEntity; INSERT INTO CalculationGroupEntity SELECT * FROM [SOURCEPROJECT].CalculationGroupEntity; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs =================================================================== diff -u -r5d924a3334b0532730e8ea4bd9e97a5d48a72344 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 5d924a3334b0532730e8ea4bd9e97a5d48a72344) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -41,6 +41,7 @@ using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Serializers; using Core.Common.Utils.Extensions; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Integration.Data; @@ -66,13 +67,16 @@ throw new ArgumentNullException(nameof(registry)); } + FailureMechanismContribution contribution = section.FailureMechanismContribution; var entity = new AssessmentSectionEntity { Id = section.Id.DeepClone(), Name = section.Name.DeepClone(), - Composition = (byte) section.Composition, + Composition = Convert.ToByte(section.Composition), Comments = section.Comments.Body.DeepClone(), - Norm = section.FailureMechanismContribution.LowerLimitNorm, + LowerLimitNorm = contribution.LowerLimitNorm, + SignalingNorm = contribution.SignalingNorm, + NormativeNorm = Convert.ToByte(contribution.NormativeNorm), Order = order }; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/AssessmentSectionEntity.cs =================================================================== diff -u -r3fb0df0ed6e64657154700ee7706e035d5bf99f5 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/AssessmentSectionEntity.cs (.../AssessmentSectionEntity.cs) (revision 3fb0df0ed6e64657154700ee7706e035d5bf99f5) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/AssessmentSectionEntity.cs (.../AssessmentSectionEntity.cs) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -48,7 +48,9 @@ public string Id { get; set; } public string Name { get; set; } public string Comments { get; set; } - public double Norm { get; set; } + public double LowerLimitNorm { get; set; } + public double SignalingNorm { get; set; } + public byte NormativeNorm { get; set; } public string HydraulicDatabaseVersion { get; set; } public string HydraulicDatabaseLocation { get; set; } public byte Composition { get; set; } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx =================================================================== diff -u -r5d924a3334b0532730e8ea4bd9e97a5d48a72344 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 5d924a3334b0532730e8ea4bd9e97a5d48a72344) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -14,7 +14,9 @@ - + + + @@ -830,7 +832,7 @@ - + @@ -1116,7 +1118,7 @@ - + @@ -3736,7 +3738,9 @@ - + + + @@ -4694,7 +4698,7 @@ - + @@ -5016,7 +5020,7 @@ - + @@ -6485,7 +6489,9 @@ - + + + Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram =================================================================== diff -u -r5d924a3334b0532730e8ea4bd9e97a5d48a72344 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 5d924a3334b0532730e8ea4bd9e97a5d48a72344) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -5,86 +5,86 @@ - + - - - - - - - - - - - + + + + + + + + + + + - + - - + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs =================================================================== diff -u -r2e265dc8a3c902ebdfdcdf0f1071f9c3c872d822 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 2e265dc8a3c902ebdfdcdf0f1071f9c3c872d822) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -25,6 +25,7 @@ using Application.Ringtoets.Storage.Serializers; using Core.Common.Base.Geometry; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Integration.Data; @@ -60,8 +61,9 @@ }, FailureMechanismContribution = { - LowerLimitNorm = entity.Norm, - SignalingNorm = entity.Norm + LowerLimitNorm = entity.LowerLimitNorm, + SignalingNorm = entity.SignalingNorm, + NormativeNorm = (NormType) entity.NormativeNorm } }; Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs =================================================================== diff -u -r2e265dc8a3c902ebdfdcdf0f1071f9c3c872d822 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 2e265dc8a3c902ebdfdcdf0f1071f9c3c872d822) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -26,8 +26,10 @@ using Application.Ringtoets.Storage.Serializers; using Core.Common.Base.Data; using Core.Common.Base.Geometry; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Integration.Data; @@ -63,13 +65,16 @@ const string testId = "testId"; const string testName = "testName"; const string comments = "Some text"; - const double norm = 0.05; - int order = new Random(65).Next(); + const double lowerLimitNorm = 0.05; + const double signalingNorm = 0.02; + var random = new Random(65); + int order = random.Next(); const string mapDataName = "map data name"; const double transparency = 0.3; const bool isVisible = true; const BackgroundDataType backgroundType = BackgroundDataType.Wmts; + var normativeNorm = random.NextEnumValue(); var assessmentSection = new AssessmentSection(assessmentSectionComposition) { Id = testId, @@ -80,7 +85,9 @@ }, FailureMechanismContribution = { - LowerLimitNorm = norm + LowerLimitNorm = lowerLimitNorm, + SignalingNorm = signalingNorm, + NormativeNorm = normativeNorm }, BackgroundData = { @@ -97,11 +104,13 @@ // Assert Assert.IsNotNull(entity); - Assert.AreEqual((short) assessmentSectionComposition, entity.Composition); + Assert.AreEqual(Convert.ToByte(assessmentSectionComposition), entity.Composition); Assert.AreEqual(testId, entity.Id); Assert.AreEqual(testName, entity.Name); Assert.AreEqual(comments, entity.Comments); - Assert.AreEqual(norm, entity.Norm); + Assert.AreEqual(lowerLimitNorm, entity.LowerLimitNorm); + Assert.AreEqual(signalingNorm, entity.SignalingNorm); + Assert.AreEqual(Convert.ToByte(normativeNorm), entity.NormativeNorm); Assert.AreEqual(18, entity.FailureMechanismEntities.Count); Assert.IsNotNull(entity.FailureMechanismEntities.SingleOrDefault(fme => fme.FailureMechanismType == (short) FailureMechanismType.Piping)); Assert.IsNotNull(entity.FailureMechanismEntities.SingleOrDefault(fme => fme.FailureMechanismType == (short) FailureMechanismType.GrassRevetmentTopErosionAndInwards)); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs =================================================================== diff -u -r9e6869de553715aefe4752478334c3a6a3f83340 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 9e6869de553715aefe4752478334c3a6a3f83340) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -30,6 +30,7 @@ using NUnit.Framework; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Integration.Data; @@ -63,14 +64,18 @@ const string testId = "testId"; const string testName = "testName"; const string comments = "Some text"; - const double norm = 0.05; + const double lowerLimitNorm = 0.05; + const double signalingNorm = 0.02; + var normativeNorm = new Random(9).NextEnumValue(); var entity = new AssessmentSectionEntity { Id = testId, Name = testName, Composition = (byte) assessmentSectionComposition, Comments = comments, - Norm = norm + LowerLimitNorm = lowerLimitNorm, + SignalingNorm = signalingNorm, + NormativeNorm = Convert.ToByte(normativeNorm) }; entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity()); @@ -84,7 +89,11 @@ Assert.AreEqual(testId, section.Id); Assert.AreEqual(testName, section.Name); Assert.AreEqual(comments, section.Comments.Body); - Assert.AreEqual(norm, section.FailureMechanismContribution.Norm); + + double expectedNorm = normativeNorm == NormType.LowerLimit + ? lowerLimitNorm + : signalingNorm; + Assert.AreEqual(expectedNorm, section.FailureMechanismContribution.Norm); Assert.AreEqual(assessmentSectionComposition, section.Composition); Assert.IsNull(section.HydraulicBoundaryDatabase); Assert.IsNull(section.ReferenceLine); @@ -847,7 +856,7 @@ InputComments = inputComments, OutputComments = outputComments, NotRelevantComments = notRelevantComments, - WaveImpactAsphaltCoverFailureMechanismMetaEntities = + WaveImpactAsphaltCoverFailureMechanismMetaEntities = { new WaveImpactAsphaltCoverFailureMechanismMetaEntity() } @@ -1229,7 +1238,9 @@ { return new AssessmentSectionEntity { - Norm = 1.0 / 30000, + LowerLimitNorm = 1.0 / 30000, + SignalingNorm = 1.0 / 300000, + NormativeNorm = Convert.ToByte(NormType.Signaling), Composition = Convert.ToByte(AssessmentSectionComposition.Dike) }; } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ProjectEntityReadExtensionsTest.cs =================================================================== diff -u -r3fb0df0ed6e64657154700ee7706e035d5bf99f5 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ProjectEntityReadExtensionsTest.cs (.../ProjectEntityReadExtensionsTest.cs) (revision 3fb0df0ed6e64657154700ee7706e035d5bf99f5) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/ProjectEntityReadExtensionsTest.cs (.../ProjectEntityReadExtensionsTest.cs) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -25,6 +25,7 @@ using Application.Ringtoets.Storage.Read; using NUnit.Framework; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Integration.Data; namespace Application.Ringtoets.Storage.Test.Read @@ -68,15 +69,19 @@ public void Read_WithAssessmentSection_ReturnsNewProjectWithAssessmentSections() { // Setup - const double norm = 0.0001; + const double lowerLimitNorm = 0.0001; + const double signalingNorm = 0.00001; + var entity = new ProjectEntity { Description = "testName", AssessmentSectionEntities = { new AssessmentSectionEntity { - Norm = norm, + SignalingNorm = signalingNorm, + LowerLimitNorm = lowerLimitNorm, + NormativeNorm = Convert.ToByte(NormType.Signaling), Name = "A", Order = 56, Composition = Convert.ToByte(AssessmentSectionComposition.Dike), @@ -101,7 +106,9 @@ }, new AssessmentSectionEntity { - Norm = norm, + SignalingNorm = signalingNorm, + LowerLimitNorm = lowerLimitNorm, + NormativeNorm = Convert.ToByte(NormType.Signaling), Name = "B", Order = 0, Composition = Convert.ToByte(AssessmentSectionComposition.Dike), Index: build/DatabaseStructure.sql =================================================================== diff -u -r99f686f22091051a65ff1ee20abd68ffad713647 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d --- build/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 99f686f22091051a65ff1ee20abd68ffad713647) +++ build/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 47d274140fe9b5bc9f785219ca809c9d741f4b0d) @@ -1,6 +1,6 @@ /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.0 */ -/* Created On : 17-Aug-2017 1:38:55 PM */ +/* Created On : 01-Sep-2017 3:36:04 PM */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ @@ -300,7 +300,9 @@ 'Id' TEXT, 'Name' VARCHAR (260), 'Comments' TEXT, - 'Norm' REAL NOT NULL, + 'LowerLimitNorm' REAL NOT NULL, + 'SignalingNorm' REAL NOT NULL, + 'NormativeNorm' TINYINT (1) NOT NULL, -- EnumType: 1 = LowerLimit, 2 = Signaling 'HydraulicDatabaseVersion' TEXT, 'HydraulicDatabaseLocation' TEXT, 'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune Index: design/DatabaseDesign.eap =================================================================== diff -u -r1e001e0ba09c231ac09c0f620f9b0999564331c6 -r47d274140fe9b5bc9f785219ca809c9d741f4b0d Binary files differ