Index: Riskeer/Integration/src/Riskeer.Integration.Service/AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory.cs =================================================================== diff -u -rc36b47c2e1e8cf948767cca33f80ad735f370ad0 -r061fbb6d0021df8a0a63b9cd2e38cccb7842ce9c --- Riskeer/Integration/src/Riskeer.Integration.Service/AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory.cs (.../AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory.cs) (revision c36b47c2e1e8cf948767cca33f80ad735f370ad0) +++ Riskeer/Integration/src/Riskeer.Integration.Service/AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory.cs (.../AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory.cs) (revision 061fbb6d0021df8a0a63b9cd2e38cccb7842ce9c) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Forms.TypeConverters; using Riskeer.Common.Service; using RiskeerCommonDataResources = Riskeer.Common.Data.Properties.Resources; @@ -33,6 +34,8 @@ /// public static class AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory { + private static readonly NoProbabilityValueDoubleConverter noProbabilityValueDoubleConverter = new NoProbabilityValueDoubleConverter(); + /// /// Creates a collection of for all hydraulic boundary location calculations /// in the given . @@ -54,6 +57,39 @@ } /// + /// Creates a collection of for all norm target probability based water level calculations + /// within the given . + /// + /// The assessment section to create the activities for. + /// A collection of . + /// Thrown when is null. + public static IEnumerable CreateWaterLevelCalculationActivitiesForNormTargetProbabilities(IAssessmentSection assessmentSection) + { + if (assessmentSection == null) + { + throw new ArgumentNullException(nameof(assessmentSection)); + } + + var activities = new List(); + + double signalingNorm = assessmentSection.FailureMechanismContribution.SignalingNorm; + activities.AddRange(HydraulicBoundaryLocationCalculationActivityFactory.CreateDesignWaterLevelCalculationActivities( + assessmentSection.WaterLevelCalculationsForSignalingNorm, + assessmentSection, + signalingNorm, + noProbabilityValueDoubleConverter.ConvertToString(signalingNorm))); + + double lowerLimitNorm = assessmentSection.FailureMechanismContribution.LowerLimitNorm; + activities.AddRange(HydraulicBoundaryLocationCalculationActivityFactory.CreateDesignWaterLevelCalculationActivities( + assessmentSection.WaterLevelCalculationsForLowerLimitNorm, + assessmentSection, + lowerLimitNorm, + noProbabilityValueDoubleConverter.ConvertToString(lowerLimitNorm))); + + return activities; + } + + /// /// Creates a collection of for wave height calculations /// based on the given . ///