Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationService.cs =================================================================== diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationService.cs (.../HeightStructuresCalculationService.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationService.cs (.../HeightStructuresCalculationService.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d) @@ -30,6 +30,7 @@ using Ringtoets.Common.Service; using Ringtoets.HeightStructures.Data; using Ringtoets.HeightStructures.Service.Properties; +using Ringtoets.HeightStructures.Utils; using Ringtoets.HydraRing.Calculation.Calculator; using Ringtoets.HydraRing.Calculation.Calculator.Factory; using Ringtoets.HydraRing.Calculation.Data; @@ -90,21 +91,21 @@ /// /// The that holds all the information required to perform the calculation. /// The that holds information about the norm used in the calculation. - /// The to create input with. - /// The to create the input with for the calculation. - /// The amount of contribution for this failure mechanism in the assessment section. + /// The that holds the information about the contribution + /// and the general inputs used in the calculation. /// The filepath of the HLCD file that should be used for performing the calculation. internal void Calculate(StructuresCalculation calculation, IAssessmentSection assessmentSection, - FailureMechanismSection failureMechanismSection, - GeneralHeightStructuresInput generalInput, - double failureMechanismContribution, + HeightStructuresFailureMechanism failureMechanism, string hlcdFilePath) { var calculationName = calculation.Name; - StructuresOvertoppingCalculationInput input = CreateInput(calculation, failureMechanismSection, generalInput); + FailureMechanismSection failureMechanismSection = HeightStructuresHelper.FailureMechanismSectionForCalculation(failureMechanism.Sections, + calculation); + StructuresOvertoppingCalculationInput input = CreateInput(calculation, failureMechanismSection, failureMechanism.GeneralInput); + string hlcdDirectory = Path.GetDirectoryName(hlcdFilePath); calculator = HydraRingCalculatorFactory.Instance.CreateStructuresOvertoppingCalculator(hlcdDirectory, assessmentSection.Id); @@ -117,8 +118,8 @@ if (!canceled) { calculation.Output = ProbabilityAssessmentService.Calculate(assessmentSection.FailureMechanismContribution.Norm, - failureMechanismContribution, - generalInput.N, + failureMechanism.Contribution, + failureMechanism.GeneralInput.N, calculator.ExceedanceProbabilityBeta); } } @@ -194,35 +195,35 @@ else { validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.StormDuration, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StormDuration_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StormDuration_DisplayName))); if (IsInvalidNumber(inputParameters.DeviationWaveDirection)) { validationResults.Add(string.Format(RingtoetsCommonServiceResources.Validation_ValidateInput_No_value_entered_for_ParameterName_0_, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_DeviationWaveDirection_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_DeviationWaveDirection_DisplayName))); } validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.ModelFactorSuperCriticalFlow, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_ModelFactorSuperCriticalFlow_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_ModelFactorSuperCriticalFlow_DisplayName))); if (IsInvalidNumber(inputParameters.StructureNormalOrientation)) { validationResults.Add(string.Format(RingtoetsCommonServiceResources.Validation_ValidateInput_No_value_entered_for_ParameterName_0_, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Orientation_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Orientation_DisplayName))); } validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.FlowWidthAtBottomProtection, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_FlowWidthAtBottomProtection_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_FlowWidthAtBottomProtection_DisplayName))); validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.WidthFlowApertures, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_WidthFlowApertures_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_WidthFlowApertures_DisplayName))); validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.StorageStructureArea, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StorageStructureArea_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StorageStructureArea_DisplayName))); validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.AllowedLevelIncreaseStorage, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_AllowedLevelIncreaseStorage_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_AllowedLevelIncreaseStorage_DisplayName))); validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.LevelCrestStructure, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_LevelCrestStructure_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_LevelCrestStructure_DisplayName))); validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.CriticalOvertoppingDischarge, - GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_CriticalOvertoppingDischarge_DisplayName))); + GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_CriticalOvertoppingDischarge_DisplayName))); } return validationResults.ToArray();