Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs =================================================================== diff -u -r94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4 -rd831947ee7defd3a0b22ef43a3a41490f7e87ac7 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 94f68f51cd9b8fd8c0c162cf874ef7e4580b0ee4) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision d831947ee7defd3a0b22ef43a3a41490f7e87ac7) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Common.Base; @@ -39,12 +38,9 @@ public abstract partial class FailureMechanismResultView : UserControl, IView where T : FailureMechanismSectionResult { protected const int AssessmentLayerOneColumnIndex = 1; - private readonly List failureMechanismSectionResultObservers; - private readonly Observer failureMechanismObserver; + private readonly Observer failureMechanismSectionResultObserver; + private readonly IObservableEnumerable failureMechanismSectionResults; - private IObservableEnumerable failureMechanismSectionResults; - private IFailureMechanism failureMechanism; - /// /// Creates a new instance of . /// @@ -62,52 +58,19 @@ InitializeComponent(); this.failureMechanismSectionResults = failureMechanismSectionResults; - - failureMechanismObserver = new Observer(UpdateDataGridViewDataSource); - failureMechanismSectionResultObservers = new List(); + failureMechanismSectionResultObserver = new Observer(UpdateDataGridViewDataSource) + { + Observable = failureMechanismSectionResults + }; } /// /// Sets the failure mechanism. /// - public virtual IFailureMechanism FailureMechanism - { - protected get - { - return failureMechanism; - } - set - { - failureMechanism = value; - failureMechanismObserver.Observable = failureMechanism; - if (failureMechanism != null) - { - UpdateDataGridViewDataSource(); - } - } - } + public virtual IFailureMechanism FailureMechanism { protected get; set; } - public object Data - { - get - { - return failureMechanismSectionResults; - } - set - { - FailureMechanismSectionResult = value as IObservableEnumerable; + public object Data { get; set; } - if (failureMechanismSectionResults != null) - { - UpdateDataGridViewDataSource(); - } - else - { - DataGridViewControl.SetDataSource(null); - } - } - } - protected DataGridViewControl DataGridViewControl { get; private set; } protected override void OnLoad(EventArgs e) @@ -127,9 +90,7 @@ protected override void Dispose(bool disposing) { - FailureMechanism = null; - FailureMechanismSectionResult = null; - failureMechanismObserver?.Dispose(); + failureMechanismSectionResultObserver?.Dispose(); if (disposing) { @@ -156,7 +117,6 @@ /// protected void UpdateDataGridViewDataSource() { - UpdateFailureMechanismSectionResultsObservers(); DataGridViewControl.EndEdit(); DataGridViewControl.SetDataSource( failureMechanismSectionResults @@ -199,45 +159,5 @@ nameof(EnumDisplayWrapper.Value), nameof(EnumDisplayWrapper.DisplayName)); } - - private IObservableEnumerable FailureMechanismSectionResult - { - set - { - failureMechanismSectionResults = value; - - UpdateFailureMechanismSectionResultsObservers(); - } - } - - private void UpdateFailureMechanismSectionResultsObservers() - { - ClearSectionResultObservers(); - if (failureMechanismSectionResults != null) - { - AddSectionResultObservers(); - } - } - - private void AddSectionResultObservers() - { - foreach (T sectionResult in failureMechanismSectionResults) - { - failureMechanismSectionResultObservers.Add(new Observer(DataGridViewControl.RefreshDataGridView) - { - Observable = sectionResult - }); - } - } - - private void ClearSectionResultObservers() - { - foreach (Observer observer in failureMechanismSectionResultObservers) - { - observer.Dispose(); - } - - failureMechanismSectionResultObservers.Clear(); - } } } \ No newline at end of file