Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismSectionResultAssemblyFactory.cs
===================================================================
diff -u -r25b2443d5da71ae1adf430992a702cadf8b3492d -re9147b9d6a0e7aef3163f3156ab6bcda03a13b2d
--- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismSectionResultAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismSectionResultAssemblyFactory.cs) (revision 25b2443d5da71ae1adf430992a702cadf8b3492d)
+++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Data/StabilityStoneCoverFailureMechanismSectionResultAssemblyFactory.cs (.../StabilityStoneCoverFailureMechanismSectionResultAssemblyFactory.cs) (revision e9147b9d6a0e7aef3163f3156ab6bcda03a13b2d)
@@ -132,5 +132,41 @@
throw new AssemblyException(e.Message, e);
}
}
+
+ ///
+ /// Assembles the combined assessment results.
+ ///
+ /// The failure mechanism section result to assemble the
+ /// combined assembly results for.
+ /// A based on the .
+ /// Thrown when
+ /// is null.
+ /// Thrown when the
+ /// could not be created.
+ public static FailureMechanismSectionAssemblyCategoryGroup AssembleCombinedAssessment(
+ StabilityStoneCoverFailureMechanismSectionResult failureMechanismSectionResult)
+ {
+ if (failureMechanismSectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanismSectionResult));
+ }
+
+ FailureMechanismSectionAssemblyCategoryGroup simpleAssembly = AssembleSimpleAssessment(failureMechanismSectionResult);
+ FailureMechanismSectionAssemblyCategoryGroup detailedAssembly = AssembleDetailedAssessment(failureMechanismSectionResult);
+ FailureMechanismSectionAssemblyCategoryGroup tailorMadeAssembly = AssembleTailorMadeAssessment(failureMechanismSectionResult);
+
+ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance;
+ IFailureMechanismSectionAssemblyCalculator calculator =
+ calculatorFactory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance);
+
+ try
+ {
+ return calculator.AssembleCombined(simpleAssembly, detailedAssembly, tailorMadeAssembly);
+ }
+ catch (FailureMechanismSectionAssemblyCalculatorException e)
+ {
+ throw new AssemblyException(e.Message, e);
+ }
+ }
}
}
\ No newline at end of file