Index: Ringtoets/Common/src/Ringtoets.Common.Data/FailureMechanism/FailureMechanismSectionResult.cs =================================================================== diff -u -rfff12e249602fb700b2854c14a3b7cdd0b73c023 -rb1c2f3f896147de67d46fde3bce9098d94054037 --- Ringtoets/Common/src/Ringtoets.Common.Data/FailureMechanism/FailureMechanismSectionResult.cs (.../FailureMechanismSectionResult.cs) (revision fff12e249602fb700b2854c14a3b7cdd0b73c023) +++ Ringtoets/Common/src/Ringtoets.Common.Data/FailureMechanism/FailureMechanismSectionResult.cs (.../FailureMechanismSectionResult.cs) (revision b1c2f3f896147de67d46fde3bce9098d94054037) @@ -112,22 +112,42 @@ { get { - foreach (var calculationScenario in CalculationScenarios.Where(cs => cs.IsRelevant)) + return GetCalculationStatus(); + } + } + + private CalculationScenarioStatus GetCalculationStatus() + { + bool failed = false; + bool notCalculated = false; + foreach (var calculationScenario in CalculationScenarios.Where(cs => cs.IsRelevant)) + { + switch (calculationScenario.CalculationScenarioStatus) { - switch (calculationScenario.CalculationScenarioStatus) - { - case CalculationScenarioStatus.Failed: - return CalculationScenarioStatus.Failed; - case CalculationScenarioStatus.NotCalculated: - return CalculationScenarioStatus.NotCalculated; - case CalculationScenarioStatus.Done: - continue; - default: - throw new ArgumentOutOfRangeException(); - } + case CalculationScenarioStatus.Failed: + failed = true; + break; + case CalculationScenarioStatus.NotCalculated: + notCalculated = true; + break; + case CalculationScenarioStatus.Done: + continue; + default: + throw new ArgumentOutOfRangeException(); } - return CalculationScenarioStatus.Done; } + + if (failed) + { + return CalculationScenarioStatus.Failed; + } + + if (notCalculated) + { + return CalculationScenarioStatus.NotCalculated; + } + + return CalculationScenarioStatus.Done; } } } \ No newline at end of file