Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -r133c9a406ae0fe1d3084fd3cef818070d95b666f --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsFailureMechanismResultView.cs (.../GrassCoverErosionInwardsFailureMechanismResultView.cs) (revision 133c9a406ae0fe1d3084fd3cef818070d95b666f) @@ -25,7 +25,6 @@ using Core.Common.Base; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; -using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.Views; using Ringtoets.GrassCoverErosionInwards.Data; @@ -48,10 +47,12 @@ /// Creates a new instance of . /// /// The assessment section the failure mechanism section results belongs to. + /// The failure mechanism this view belongs to. /// The collection failure mechanism section results. /// Thrown when any input parameter is null. public GrassCoverErosionInwardsFailureMechanismResultView( IAssessmentSection assessmentSection, + GrassCoverErosionInwardsFailureMechanism failureMechanism, IObservableEnumerable failureMechanismSectionResults) : base(failureMechanismSectionResults) { @@ -60,6 +61,13 @@ throw new ArgumentNullException(nameof(assessmentSection)); } + if (failureMechanism == null) + { + throw new ArgumentNullException(nameof(failureMechanism)); + } + + FailureMechanism = failureMechanism; + this.assessmentSection = assessmentSection; DataGridViewControl.CellFormatting += ShowAssessmentLayerErrors; @@ -79,23 +87,20 @@ 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 grass cover erosion inwards failure mechanism. + /// + public GrassCoverErosionInwardsFailureMechanism FailureMechanism { get; } + protected override void Dispose(bool disposing) { DataGridViewControl.CellFormatting -= ShowAssessmentLayerErrors; @@ -115,7 +120,7 @@ return null; } - return new GrassCoverErosionInwardsFailureMechanismSectionResultRow(sectionResult, (GrassCoverErosionInwardsFailureMechanism) FailureMechanism, + return new GrassCoverErosionInwardsFailureMechanismSectionResultRow(sectionResult, FailureMechanism, assessmentSection); }