Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneLocationCalculationActivityFactory.cs
===================================================================
diff -u -r540bd460b8ff18e15862544116c1fd9dea3d2dae -r777a1ac52a04aa5b46ae4d43feecb97ada899bb3
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneLocationCalculationActivityFactory.cs (.../DuneLocationCalculationActivityFactory.cs) (revision 540bd460b8ff18e15862544116c1fd9dea3d2dae)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneLocationCalculationActivityFactory.cs (.../DuneLocationCalculationActivityFactory.cs) (revision 777a1ac52a04aa5b46ae4d43feecb97ada899bb3)
@@ -23,9 +23,11 @@
using System.Collections.Generic;
using System.Linq;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.Common.Service;
using Ringtoets.DuneErosion.Data;
+using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources;
namespace Ringtoets.DuneErosion.Service
{
@@ -67,5 +69,61 @@
norm,
categoryBoundaryName)).ToArray();
}
+
+ ///
+ /// Creates a collection of based on .
+ ///
+ /// The failure mechanism to create activities for.
+ /// The assessment section the failure mechanism belongs to.
+ /// A collection of .
+ /// Thrown when or
+ /// is null.
+ public static IEnumerable CreateCalculationActivities(DuneErosionFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ {
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ var activities = new List();
+
+ activities.AddRange(CreateCalculationActivities(
+ failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm,
+ assessmentSection,
+ failureMechanism.GetNorm(assessmentSection, FailureMechanismCategoryType.MechanismSpecificFactorizedSignalingNorm),
+ RingtoetsCommonDataResources.FailureMechanismCategoryType_MechanismSpecificFactorizedSignalingNorm_DisplayName));
+
+ activities.AddRange(CreateCalculationActivities(
+ failureMechanism.CalculationsForMechanismSpecificSignalingNorm,
+ assessmentSection,
+ failureMechanism.GetNorm(assessmentSection, FailureMechanismCategoryType.MechanismSpecificSignalingNorm),
+ RingtoetsCommonDataResources.FailureMechanismCategoryType_MechanismSpecificSignalingNorm_DisplayName));
+
+ activities.AddRange(CreateCalculationActivities(
+ failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm,
+ assessmentSection,
+ failureMechanism.GetNorm(assessmentSection, FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm),
+ RingtoetsCommonDataResources.FailureMechanismCategoryType_MechanismSpecificLowerLimitNorm_DisplayName));
+
+ activities.AddRange(CreateCalculationActivities(
+ failureMechanism.CalculationsForLowerLimitNorm,
+ assessmentSection,
+ failureMechanism.GetNorm(assessmentSection, FailureMechanismCategoryType.LowerLimitNorm),
+ RingtoetsCommonDataResources.FailureMechanismCategoryType_LowerLimitNorm_DisplayName));
+
+ activities.AddRange(CreateCalculationActivities(
+ failureMechanism.CalculationsForFactorizedLowerLimitNorm,
+ assessmentSection,
+ failureMechanism.GetNorm(assessmentSection, FailureMechanismCategoryType.FactorizedLowerLimitNorm),
+ RingtoetsCommonDataResources.FailureMechanismCategoryType_FactorizedLowerLimitNorm_DisplayName));
+
+ return activities;
+ }
}
}
\ No newline at end of file