Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismView.cs =================================================================== diff -u -r649ed9247c8dfe31cace4cf41095c0befa7de517 -r13bb96f19dd9b1c5667ac5de42539b47ff7ae9a8 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismView.cs (.../PipingFailureMechanismView.cs) (revision 649ed9247c8dfe31cace4cf41095c0befa7de517) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingFailureMechanismView.cs (.../PipingFailureMechanismView.cs) (revision 13bb96f19dd9b1c5667ac5de42539b47ff7ae9a8) @@ -45,19 +45,6 @@ /// public partial class PipingFailureMechanismView : UserControl, IMapView { - private readonly Observer failureMechanismObserver; - private readonly Observer hydraulicBoundaryLocationsObserver; - private readonly Observer assessmentSectionObserver; - private readonly Observer surfaceLinesObserver; - private readonly Observer stochasticSoilModelsObserver; - - private readonly RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; - private readonly RecursiveObserver calculationInputObserver; - private readonly RecursiveObserver calculationGroupObserver; - private readonly RecursiveObserver calculationObserver; - private readonly RecursiveObserver surfaceLineObserver; - - private readonly MapDataCollection mapDataCollection; private readonly MapLineData referenceLineMapData; private readonly MapLineData sectionsMapData; private readonly MapLineData stochasticSoilModelsMapData; @@ -66,7 +53,18 @@ private readonly MapPointData sectionsEndPointMapData; private readonly MapPointData hydraulicBoundaryLocationsMapData; private readonly MapLineData calculationsMapData; + private Observer failureMechanismObserver; + private Observer hydraulicBoundaryLocationsObserver; + private Observer assessmentSectionObserver; + private Observer surfaceLinesObserver; + private Observer stochasticSoilModelsObserver; + private RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver; + private RecursiveObserver calculationInputObserver; + private RecursiveObserver calculationGroupObserver; + private RecursiveObserver calculationObserver; + private RecursiveObserver surfaceLineObserver; + private PipingFailureMechanismContext data; /// @@ -92,51 +90,9 @@ FailureMechanism = failureMechanism; AssessmentSection = assessmentSection; - failureMechanismObserver = new Observer(UpdateMapData) - { - Observable = failureMechanism - }; - assessmentSectionObserver = new Observer(UpdateMapData) - { - Observable = assessmentSection - }; - hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData) - { - Observable = assessmentSection.HydraulicBoundaryDatabase.Locations - }; - surfaceLinesObserver = new Observer(UpdateSurfaceLinesMapData) - { - Observable = failureMechanism.SurfaceLines - }; - stochasticSoilModelsObserver = new Observer(UpdateStochasticSoilModelsMapData) - { - Observable = failureMechanism.StochasticSoilModels - }; + CreateObservers(); - hydraulicBoundaryLocationObserver = new RecursiveObserver, HydraulicBoundaryLocation>( - UpdateHydraulicBoundaryLocationsMapData, hbl => hbl) - { - Observable = assessmentSection.HydraulicBoundaryDatabase.Locations - }; - calculationInputObserver = new RecursiveObserver( - UpdateCalculationsMapData, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))) - { - Observable = failureMechanism.CalculationsGroup - }; - calculationGroupObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children) - { - Observable = failureMechanism.CalculationsGroup - }; - calculationObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children) - { - Observable = failureMechanism.CalculationsGroup - }; - surfaceLineObserver = new RecursiveObserver(UpdateSurfaceLinesMapData, rpslc => rpslc) - { - Observable = failureMechanism.SurfaceLines - }; - - mapDataCollection = new MapDataCollection(PipingDataResources.PipingFailureMechanism_DisplayName); + var mapDataCollection = new MapDataCollection(PipingDataResources.PipingFailureMechanism_DisplayName); referenceLineMapData = RingtoetsMapDataFactory.CreateReferenceLineMapData(); hydraulicBoundaryLocationsMapData = RingtoetsMapDataFactory.CreateHydraulicBoundaryLocationsMapData(); sectionsMapData = RingtoetsMapDataFactory.CreateFailureMechanismSectionsMapData(); @@ -200,6 +156,53 @@ base.Dispose(disposing); } + private void CreateObservers() + { + failureMechanismObserver = new Observer(UpdateMapData) + { + Observable = FailureMechanism + }; + assessmentSectionObserver = new Observer(UpdateMapData) + { + Observable = AssessmentSection + }; + hydraulicBoundaryLocationsObserver = new Observer(UpdateHydraulicBoundaryLocationsMapData) + { + Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations + }; + surfaceLinesObserver = new Observer(UpdateSurfaceLinesMapData) + { + Observable = FailureMechanism.SurfaceLines + }; + stochasticSoilModelsObserver = new Observer(UpdateStochasticSoilModelsMapData) + { + Observable = FailureMechanism.StochasticSoilModels + }; + + hydraulicBoundaryLocationObserver = new RecursiveObserver, HydraulicBoundaryLocation>( + UpdateHydraulicBoundaryLocationsMapData, hbl => hbl) + { + Observable = AssessmentSection.HydraulicBoundaryDatabase.Locations + }; + calculationInputObserver = new RecursiveObserver( + UpdateCalculationsMapData, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))) + { + Observable = FailureMechanism.CalculationsGroup + }; + calculationGroupObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children) + { + Observable = FailureMechanism.CalculationsGroup + }; + calculationObserver = new RecursiveObserver(UpdateCalculationsMapData, pcg => pcg.Children) + { + Observable = FailureMechanism.CalculationsGroup + }; + surfaceLineObserver = new RecursiveObserver(UpdateSurfaceLinesMapData, rpslc => rpslc) + { + Observable = FailureMechanism.SurfaceLines + }; + } + private void UpdateMapData() { UpdateCalculationsMapData();