Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs =================================================================== diff -u -r72384c81007af620f5ffe1ff845fde748917253c -r2081c1cf7ddfc58b47d48739629c330503bdab24 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs) (revision 72384c81007af620f5ffe1ff845fde748917253c) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs (.../GrassCoverErosionInwardsFailureMechanismAssemblyFactory.cs) (revision 2081c1cf7ddfc58b47d48739629c330503bdab24) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.Linq; using Ringtoets.AssemblyTool.Data; using Ringtoets.AssemblyTool.KernelWrapper.Calculators; using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly; @@ -244,20 +245,7 @@ throw new ArgumentNullException(nameof(assessmentSection)); } - FailureMechanismSectionAssembly sectionAssembly; - if (failureMechanismSectionResult.UseManualAssemblyProbability) - { - sectionAssembly = AssembleManualAssessment(failureMechanismSectionResult, - CreateAssemblyCategoriesInput(failureMechanism, assessmentSection)); - } - else - { - sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult, - failureMechanism, - assessmentSection); - } - - return sectionAssembly.Group; + return GetSectionAssembly(failureMechanismSectionResult, failureMechanism, assessmentSection).Group; } /// @@ -290,9 +278,9 @@ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance; AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection); - IEnumerable sectionAssemblies = AssembleSections(failureMechanism, - assessmentSection, - assemblyCategoriesInput); + IEnumerable sectionAssemblies = failureMechanism.SectionResults + .Select(sr => GetSectionAssembly(sr, failureMechanism, assessmentSection)) + .ToArray(); try { @@ -308,38 +296,32 @@ } /// - /// Assembles the combined assembly for all sections in the . + /// Gets the assembly of the given . /// + /// The failure mechanism section result to get the assembly for. /// The failure mechanism to assemble for. /// The the failure mechanism belongs to. - /// The input parameters used to determine the assembly categories. /// A collection of all section assembly results. /// Thrown when a /// could not be created. - private static IEnumerable AssembleSections(GrassCoverErosionInwardsFailureMechanism failureMechanism, - IAssessmentSection assessmentSection, - AssemblyCategoriesInput assemblyCategoriesInput) + private static FailureMechanismSectionAssembly GetSectionAssembly(GrassCoverErosionInwardsFailureMechanismSectionResult failureMechanismSectionResult, + GrassCoverErosionInwardsFailureMechanism failureMechanism, + IAssessmentSection assessmentSection) { - var sectionAssemblies = new List(); - - foreach (GrassCoverErosionInwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults) + FailureMechanismSectionAssembly sectionAssembly; + if (failureMechanismSectionResult.UseManualAssemblyProbability) { - FailureMechanismSectionAssembly sectionAssembly; - if (sectionResult.UseManualAssemblyProbability) - { - sectionAssembly = AssembleManualAssessment(sectionResult, assemblyCategoriesInput); - } - else - { - sectionAssembly = AssembleCombinedAssessment(sectionResult, - failureMechanism, - assessmentSection); - } - - sectionAssemblies.Add(sectionAssembly); + sectionAssembly = AssembleManualAssessment(failureMechanismSectionResult, + CreateAssemblyCategoriesInput(failureMechanism, assessmentSection)); } + else + { + sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult, + failureMechanism, + assessmentSection); + } - return sectionAssemblies; + return sectionAssembly; } /// Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs =================================================================== diff -u -r1ccc4cae6b203b1f7791833ab1ad0bcba0a9757f -r2081c1cf7ddfc58b47d48739629c330503bdab24 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactory.cs) (revision 1ccc4cae6b203b1f7791833ab1ad0bcba0a9757f) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismAssemblyFactory.cs (.../MacroStabilityInwardsFailureMechanismAssemblyFactory.cs) (revision 2081c1cf7ddfc58b47d48739629c330503bdab24) @@ -262,22 +262,7 @@ throw new ArgumentNullException(nameof(assessmentSection)); } - FailureMechanismSectionAssembly sectionAssembly; - if (failureMechanismSectionResult.UseManualAssemblyProbability) - { - sectionAssembly = AssembleManualAssessment(failureMechanismSectionResult, - failureMechanism, - CreateAssemblyCategoriesInput(failureMechanism, assessmentSection)); - } - else - { - sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult, - failureMechanism.Calculations.Cast(), - failureMechanism, - assessmentSection); - } - - return sectionAssembly.Group; + return GetSectionAssembly(failureMechanismSectionResult, failureMechanism, assessmentSection).Group; } /// @@ -310,9 +295,9 @@ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance; AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection); - IEnumerable sectionAssemblies = AssembleSections(failureMechanism, - assessmentSection, - assemblyCategoriesInput); + IEnumerable sectionAssemblies = failureMechanism.SectionResults + .Select(sr => GetSectionAssembly(sr, failureMechanism, assessmentSection)) + .ToArray(); try { @@ -328,41 +313,34 @@ } /// - /// Assembles the combined assembly for all sections in the . + /// Gets the assembly of the given . /// + /// The failure mechanism section result to get the assembly for. /// The failure mechanism to assemble for. /// The the failure mechanism belongs to. - /// The input parameters used to determine the assembly categories. /// A collection of all section assembly results. /// Thrown when a /// could not be created. - private static IEnumerable AssembleSections(MacroStabilityInwardsFailureMechanism failureMechanism, - IAssessmentSection assessmentSection, - AssemblyCategoriesInput assemblyCategoriesInput) + private static FailureMechanismSectionAssembly GetSectionAssembly(MacroStabilityInwardsFailureMechanismSectionResult failureMechanismSectionResult, + MacroStabilityInwardsFailureMechanism failureMechanism, + IAssessmentSection assessmentSection) { - var sectionAssemblies = new List(); - - foreach (MacroStabilityInwardsFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults) + FailureMechanismSectionAssembly sectionAssembly; + if (failureMechanismSectionResult.UseManualAssemblyProbability) { - FailureMechanismSectionAssembly sectionAssembly; - if (sectionResult.UseManualAssemblyProbability) - { - sectionAssembly = AssembleManualAssessment(sectionResult, - failureMechanism, - assemblyCategoriesInput); - } - else - { - sectionAssembly = AssembleCombinedAssessment(sectionResult, - failureMechanism.Calculations.Cast(), - failureMechanism, - assessmentSection); - } - - sectionAssemblies.Add(sectionAssembly); + sectionAssembly = AssembleManualAssessment(failureMechanismSectionResult, + failureMechanism, + CreateAssemblyCategoriesInput(failureMechanism, assessmentSection)); } + else + { + sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult, + failureMechanism.Calculations.Cast(), + failureMechanism, + assessmentSection); + } - return sectionAssemblies; + return sectionAssembly; } /// Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismAssemblyFactory.cs =================================================================== diff -u -rf46044c35fc51ae32a4f2258c378a1926528a559 -r2081c1cf7ddfc58b47d48739629c330503bdab24 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismAssemblyFactory.cs (.../PipingFailureMechanismAssemblyFactory.cs) (revision f46044c35fc51ae32a4f2258c378a1926528a559) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanismAssemblyFactory.cs (.../PipingFailureMechanismAssemblyFactory.cs) (revision 2081c1cf7ddfc58b47d48739629c330503bdab24) @@ -262,22 +262,7 @@ throw new ArgumentNullException(nameof(assessmentSection)); } - FailureMechanismSectionAssembly sectionAssembly; - if (failureMechanismSectionResult.UseManualAssemblyProbability) - { - sectionAssembly = AssembleManualAssessment(failureMechanismSectionResult, - failureMechanism, - CreateAssemblyCategoriesInput(failureMechanism, assessmentSection)); - } - else - { - sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult, - failureMechanism.Calculations.Cast(), - failureMechanism, - assessmentSection); - } - - return sectionAssembly.Group; + return GetSectionAssembly(failureMechanismSectionResult, failureMechanism, assessmentSection).Group; } /// @@ -310,9 +295,9 @@ IAssemblyToolCalculatorFactory calculatorFactory = AssemblyToolCalculatorFactory.Instance; AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(failureMechanism, assessmentSection); - IEnumerable sectionAssemblies = AssembleSections(failureMechanism, - assessmentSection, - assemblyCategoriesInput); + IEnumerable sectionAssemblies = failureMechanism.SectionResults + .Select(sr => GetSectionAssembly(sr, failureMechanism, assessmentSection)) + .ToArray(); try { @@ -328,41 +313,34 @@ } /// - /// Assembles the combined assembly for all sections in the . + /// Gets the assembly of the given . /// + /// The failure mechanism section result to get the assembly for. /// The failure mechanism to assemble for. /// The the failure mechanism belongs to. - /// The input parameters used to determine the assembly categories. /// A collection of all section assembly results. /// Thrown when a /// could not be created. - private static IEnumerable AssembleSections(PipingFailureMechanism failureMechanism, - IAssessmentSection assessmentSection, - AssemblyCategoriesInput assemblyCategoriesInput) + private static FailureMechanismSectionAssembly GetSectionAssembly(PipingFailureMechanismSectionResult failureMechanismSectionResult, + PipingFailureMechanism failureMechanism, + IAssessmentSection assessmentSection) { - var sectionAssemblies = new List(); - - foreach (PipingFailureMechanismSectionResult sectionResult in failureMechanism.SectionResults) + FailureMechanismSectionAssembly sectionAssembly; + if (failureMechanismSectionResult.UseManualAssemblyProbability) { - FailureMechanismSectionAssembly sectionAssembly; - if (sectionResult.UseManualAssemblyProbability) - { - sectionAssembly = AssembleManualAssessment(sectionResult, - failureMechanism, - assemblyCategoriesInput); - } - else - { - sectionAssembly = AssembleCombinedAssessment(sectionResult, - failureMechanism.Calculations.Cast(), - failureMechanism, - assessmentSection); - } - - sectionAssemblies.Add(sectionAssembly); + sectionAssembly = AssembleManualAssessment(failureMechanismSectionResult, + failureMechanism, + CreateAssemblyCategoriesInput(failureMechanism, assessmentSection)); } + else + { + sectionAssembly = AssembleCombinedAssessment(failureMechanismSectionResult, + failureMechanism.Calculations.Cast(), + failureMechanism, + assessmentSection); + } - return sectionAssemblies; + return sectionAssembly; } ///