Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensions.cs =================================================================== diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -r3af68bc0c3e12d97181e1799c0b22e7e6ac1e934 --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensions.cs (.../MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensions.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensions.cs (.../MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensions.cs) (revision 3af68bc0c3e12d97181e1799c0b22e7e6ac1e934) @@ -21,7 +21,6 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Linq; using Core.Common.Base.Data; using Core.Common.Base.Geometry; @@ -73,17 +72,12 @@ MacroStabilityInwardsCalculationScenario[] relevantScenarios = sectionResult.GetCalculationScenarios(calculations).ToArray(); bool relevantScenarioAvailable = relevantScenarios.Length != 0; - - if (relevantScenarioAvailable && Math.Abs(sectionResult.GetTotalContribution(relevantScenarios) - 1.0) > 1e-6) + + if (!relevantScenarioAvailable || !relevantScenarios.All(s => s.HasOutput) || Math.Abs(sectionResult.GetTotalContribution(relevantScenarios) - 1.0) > 1e-6) { return double.NaN; } - if (!relevantScenarioAvailable || sectionResult.GetCalculationScenarioStatus(relevantScenarios) != CalculationScenarioStatus.Done) - { - return double.NaN; - } - double totalDetailedAssessmentProbability = 0; foreach (MacroStabilityInwardsCalculationScenario scenario in relevantScenarios) { @@ -148,70 +142,5 @@ return calculationScenarios .Where(pc => pc.IsRelevant && pc.IsSurfaceLineIntersectionWithReferenceLineInSection(lineSegments)); } - - /// - /// Gets the status of the section result depending on the relevant calculation scenarios. - /// - /// The section result to get the calculation status for. - /// The calculation scenarios to get the calculation status for. - /// The calculation scenario status for the section result. - /// Thrown when any parameter is null. - /// Thrown when any of the relevant calculations - /// in has an invalid . - /// Thrown when any of the relevant scenarios has an unsupported - /// value of . - public static CalculationScenarioStatus GetCalculationScenarioStatus( - this MacroStabilityInwardsFailureMechanismSectionResult sectionResult, - IEnumerable calculationScenarios) - { - if (sectionResult == null) - { - throw new ArgumentNullException(nameof(sectionResult)); - } - - if (calculationScenarios == null) - { - throw new ArgumentNullException(nameof(calculationScenarios)); - } - - var failed = false; - var notCalculated = false; - foreach (MacroStabilityInwardsCalculationScenario calculationScenario in sectionResult.GetCalculationScenarios(calculationScenarios).Where(cs => cs.IsRelevant)) - { - CalculationScenarioStatus calculationScenarioStatus = calculationScenario.Status; - if (!Enum.IsDefined(typeof(CalculationScenarioStatus), calculationScenarioStatus)) - { - throw new InvalidEnumArgumentException(nameof(sectionResult), - (int) calculationScenarioStatus, - typeof(CalculationScenarioStatus)); - } - - switch (calculationScenario.Status) - { - case CalculationScenarioStatus.Failed: - failed = true; - break; - case CalculationScenarioStatus.NotCalculated: - notCalculated = true; - break; - case CalculationScenarioStatus.Done: - continue; - default: - throw new NotSupportedException(); - } - } - - if (failed) - { - return CalculationScenarioStatus.Failed; - } - - if (notCalculated) - { - return CalculationScenarioStatus.NotCalculated; - } - - return CalculationScenarioStatus.Done; - } } } \ No newline at end of file Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismSectionResultRow.cs =================================================================== diff -u -r77f595651b934a75a5625828a9027d7c48e8e5f9 -r3af68bc0c3e12d97181e1799c0b22e7e6ac1e934 --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismSectionResultRow.cs (.../MacroStabilityInwardsFailureMechanismSectionResultRow.cs) (revision 77f595651b934a75a5625828a9027d7c48e8e5f9) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismSectionResultRow.cs (.../MacroStabilityInwardsFailureMechanismSectionResultRow.cs) (revision 3af68bc0c3e12d97181e1799c0b22e7e6ac1e934) @@ -26,7 +26,6 @@ using Core.Common.Controls.DataGrid; using Riskeer.AssemblyTool.Data; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.Calculation; using Riskeer.Common.Data.Exceptions; using Riskeer.Common.Forms.Helpers; using Riskeer.Common.Forms.TypeConverters; @@ -337,8 +336,7 @@ return RiskeerCommonFormsResources.FailureMechanismResultView_DataGridViewCellFormatting_Scenario_contribution_for_this_section_not_100; } - CalculationScenarioStatus calculationScenarioStatus = SectionResult.GetCalculationScenarioStatus(relevantScenarios); - if (calculationScenarioStatus == CalculationScenarioStatus.NotCalculated) + if (!relevantScenarios.All(s => s.HasOutput)) { return RiskeerCommonFormsResources.FailureMechanismResultView_DataGridViewCellFormatting_Not_all_calculations_have_been_executed; }