Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r91129a62863d9c89359649c3bc59f76b220ab34b -raf42240385db3d3f04bca830513c7464e6f74668 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 91129a62863d9c89359649c3bc59f76b220ab34b) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision af42240385db3d3f04bca830513c7464e6f74668) @@ -24,6 +24,7 @@ using System.Drawing; using System.Linq; using System.Windows.Forms; +using Core.Common.Base.IO; using Core.Common.Controls.TreeView; using Core.Common.Gui.ContextMenu; using Core.Common.Gui.Forms; @@ -40,6 +41,7 @@ using Ringtoets.Piping.Forms.PresentationObjects; using Ringtoets.Piping.Forms.PropertyClasses; using Ringtoets.Piping.Forms.Views; +using Ringtoets.Piping.Plugin.FileImporter; using Ringtoets.Piping.Primitives; using Ringtoets.Piping.Service; using PipingDataResources = Ringtoets.Piping.Data.Properties.Resources; @@ -73,6 +75,12 @@ yield return new PropertyInfo(); } + public override IEnumerable GetFileImporters() + { + yield return new PipingSurfaceLinesCsvImporter(); + yield return new PipingSoilProfilesImporter(); + } + public override IEnumerable GetViewInfos() { yield return new ViewInfo @@ -125,10 +133,7 @@ Image = RingtoetsCommonFormsResources.ScenariosIcon, AdditionalDataCheck = context => context.WrappedData == context.ParentFailureMechanism.CalculationsGroup, CloseForData = ClosePipingScenariosViewForData, - AfterCreate = (view, context) => - { - view.PipingFailureMechanism = context.ParentFailureMechanism; - } + AfterCreate = (view, context) => { view.PipingFailureMechanism = context.ParentFailureMechanism; } }; } @@ -400,6 +405,46 @@ #endregion + private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) + { + var calculations = GetAllPipingCalculations(failureMechanismContext.WrappedData); + var assessmentInput = failureMechanismContext.WrappedData.PipingProbabilityAssessmentInput; + var norm = failureMechanismContext.Parent.FailureMechanismContribution.Norm; + var contribution = failureMechanismContext.WrappedData.Contribution; + + CalculateAll(calculations, assessmentInput, norm, contribution); + } + + private void CalculateAll(CalculationGroup group, PipingCalculationGroupContext context) + { + var calculations = group.GetCalculations().OfType().ToArray(); + var assessmentInput = context.FailureMechanism.PipingProbabilityAssessmentInput; + var norm = context.AssessmentSection.FailureMechanismContribution.Norm; + var contribution = context.FailureMechanism.Contribution; + + CalculateAll(calculations, assessmentInput, norm, contribution); + } + + private static void ValidateAll(IEnumerable pipingCalculations) + { + foreach (PipingCalculation calculation in pipingCalculations) + { + PipingCalculationService.Validate(calculation); + } + } + + private void CalculateAll(IEnumerable calculations, PipingProbabilityAssessmentInput assessmentInput, int norm, double contribution) + { + ActivityProgressDialogRunner.Run( + Gui.MainWindow, + calculations + .Select(pc => new PipingCalculationActivity(pc, + assessmentInput, + norm, + contribution)) + .ToList()); + } + # region Piping TreeNodeInfo private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) @@ -411,8 +456,8 @@ .AddToggleRelevancyOfFailureMechanismItem(pipingFailureMechanismContext, RemoveAllViewsForItem) .AddSeparator() .AddValidateAllCalculationsInFailureMechanismItem( - pipingFailureMechanismContext, - fm => ValidateAll(fm.WrappedData.Calculations.OfType())) + pipingFailureMechanismContext, + fm => ValidateAll(fm.WrappedData.Calculations.OfType())) .AddPerformAllCalculationsInFailureMechanismItem(pipingFailureMechanismContext, CalculateAll) .AddClearAllCalculationOutputInFailureMechanismItem(pipingFailureMechanismContext.WrappedData) .AddSeparator() @@ -425,7 +470,7 @@ .AddPropertiesItem() .Build(); } - + private void RemoveAllViewsForItem(PipingFailureMechanismContext failureMechanismContext) { Gui.ViewCommands.RemoveAllViewsForItem(failureMechanismContext); @@ -654,9 +699,9 @@ { bool surfaceLineAvailable = nodeData.AvailablePipingSurfaceLines.Any() && nodeData.AvailableStochasticSoilModels.Any(); - string pipingCalculationGroupGeneratePipingCalculationsToolTip = surfaceLineAvailable - ? PipingFormsResources.PipingCalculationGroup_Generate_PipingCalculations_ToolTip - : PipingFormsResources.PipingCalculationGroup_Generate_PipingCalculations_NoSurfaceLinesOrSoilModels_ToolTip; + string pipingCalculationGroupGeneratePipingCalculationsToolTip = surfaceLineAvailable + ? PipingFormsResources.PipingCalculationGroup_Generate_PipingCalculations_ToolTip + : PipingFormsResources.PipingCalculationGroup_Generate_PipingCalculations_NoSurfaceLinesOrSoilModels_ToolTip; var generateCalculationsItem = new StrictContextMenuItem( RingtoetsCommonFormsResources.CalculationGroup_Generate_Scenarios, @@ -696,45 +741,5 @@ } #endregion - - private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) - { - var calculations = GetAllPipingCalculations(failureMechanismContext.WrappedData); - var assessmentInput = failureMechanismContext.WrappedData.PipingProbabilityAssessmentInput; - var norm = failureMechanismContext.Parent.FailureMechanismContribution.Norm; - var contribution = failureMechanismContext.WrappedData.Contribution; - - CalculateAll(calculations, assessmentInput, norm, contribution); - } - - private void CalculateAll(CalculationGroup group, PipingCalculationGroupContext context) - { - var calculations = group.GetCalculations().OfType().ToArray(); - var assessmentInput = context.FailureMechanism.PipingProbabilityAssessmentInput; - var norm = context.AssessmentSection.FailureMechanismContribution.Norm; - var contribution = context.FailureMechanism.Contribution; - - CalculateAll(calculations, assessmentInput, norm, contribution); - } - - private static void ValidateAll(IEnumerable pipingCalculations) - { - foreach (PipingCalculation calculation in pipingCalculations) - { - PipingCalculationService.Validate(calculation); - } - } - - private void CalculateAll(IEnumerable calculations, PipingProbabilityAssessmentInput assessmentInput, int norm, double contribution) - { - ActivityProgressDialogRunner.Run( - Gui.MainWindow, - calculations - .Select(pc => new PipingCalculationActivity(pc, - assessmentInput, - norm, - contribution)) - .ToList()); - } } } \ No newline at end of file