Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/Views/ClosingStructuresFailureMechanismResultView.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -r94bb7cee8b66f48b37c36b16ab6b885559554909 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/Views/ClosingStructuresFailureMechanismResultView.cs (.../ClosingStructuresFailureMechanismResultView.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/Views/ClosingStructuresFailureMechanismResultView.cs (.../ClosingStructuresFailureMechanismResultView.cs) (revision 94bb7cee8b66f48b37c36b16ab6b885559554909) @@ -26,7 +26,6 @@ using Ringtoets.ClosingStructures.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; -using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Structures; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.Views; @@ -49,10 +48,12 @@ /// Creates a new instance of . /// /// The assessment section the failure mechanism result belongs to. + /// The failure mechanism this view belongs to. /// The collection of failure mechanism section results. /// Thrown when any input parameter is null. public ClosingStructuresFailureMechanismResultView( IAssessmentSection assessmentSection, + ClosingStructuresFailureMechanism failureMechanism, IObservableEnumerable> failureMechanismSectionResults) : base(failureMechanismSectionResults) { @@ -61,7 +62,13 @@ throw new ArgumentNullException(nameof(assessmentSection)); } + if (failureMechanism == null) + { + throw new ArgumentNullException(nameof(failureMechanism)); + } + this.assessmentSection = assessmentSection; + FailureMechanism = failureMechanism; DataGridViewControl.CellFormatting += ShowAssessmentLayerErrors; DataGridViewControl.CellFormatting += OnCellFormatting; @@ -79,31 +86,28 @@ calculationGroupObserver = new RecursiveObserver( UpdateDataGridViewDataSource, c => c.Children); - } - public override IFailureMechanism FailureMechanism - { - set - { - base.FailureMechanism = value; + CalculationGroup observableGroup = failureMechanism.CalculationsGroup; + calculationInputObserver.Observable = observableGroup; + calculationOutputObserver.Observable = observableGroup; + calculationGroupObserver.Observable = observableGroup; - var calculatableFailureMechanism = value as ICalculatableFailureMechanism; - CalculationGroup observableGroup = calculatableFailureMechanism?.CalculationsGroup; - - calculationInputObserver.Observable = observableGroup; - calculationOutputObserver.Observable = observableGroup; - calculationGroupObserver.Observable = observableGroup; - } + UpdateDataGridViewDataSource(); } + /// + /// Gets the closing structures failure mechanism. + /// + public ClosingStructuresFailureMechanism FailureMechanism { get; } + protected override object CreateFailureMechanismSectionResultRow(StructuresFailureMechanismSectionResult sectionResult) { if (FailureMechanism == null) { return null; } - return new ClosingStructuresFailureMechanismSectionResultRow(sectionResult, (ClosingStructuresFailureMechanism) FailureMechanism, assessmentSection); + return new ClosingStructuresFailureMechanismSectionResultRow(sectionResult, FailureMechanism, assessmentSection); } protected override void Dispose(bool disposing)