Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs =================================================================== diff -u -r8a84e69fe9834dc4bb5e3dd84240fb1de3a4280e -r06fb60ddea9ab682a621776b41b4695e17c25fc4 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision 8a84e69fe9834dc4bb5e3dd84240fb1de3a4280e) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Data/HeightStructuresFailureMechanismAssemblyFactory.cs (.../HeightStructuresFailureMechanismAssemblyFactory.cs) (revision 06fb60ddea9ab682a621776b41b4695e17c25fc4) @@ -29,6 +29,7 @@ using Ringtoets.Common.Data.AssemblyTool; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Exceptions; +using Ringtoets.Common.Primitives; namespace Ringtoets.HeightStructures.Data { @@ -196,19 +197,24 @@ throw new ArgumentNullException(nameof(assessmentSection)); } - FailureMechanismSectionAssembly simpleAssembly = AssembleSimpleAssessment(failureMechanismSectionResult); - FailureMechanismSectionAssembly detailedAssembly = AssembleDetailedAssessment( - failureMechanismSectionResult, failureMechanism, assessmentSection); - FailureMechanismSectionAssembly tailorMadeAssembly = AssembleTailorMadeAssessment( - failureMechanismSectionResult, failureMechanism, assessmentSection); - IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance; IFailureMechanismSectionAssemblyCalculator calculator = calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance); try { - return calculator.AssembleCombined(simpleAssembly, detailedAssembly, tailorMadeAssembly); + FailureMechanismSectionAssembly simpleAssembly = AssembleSimpleAssessment(failureMechanismSectionResult); + + if (failureMechanismSectionResult.SimpleAssessmentResult == SimpleAssessmentResultType.ProbabilityNegligible || + failureMechanismSectionResult.SimpleAssessmentResult == SimpleAssessmentResultType.NotApplicable) + { + return calculator.AssembleCombined(simpleAssembly); + } + + return calculator.AssembleCombined( + simpleAssembly, + AssembleDetailedAssessment(failureMechanismSectionResult, failureMechanism, assessmentSection), + AssembleTailorMadeAssessment(failureMechanismSectionResult, failureMechanism, assessmentSection)); } catch (FailureMechanismSectionAssemblyCalculatorException e) {