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;
}