Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs =================================================================== diff -u -r5bbbdab924d1cc6c4959ac892903120acdbc82fb -rd6e6041931d39b07ebb06bd0919a5d338736704e --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision 5bbbdab924d1cc6c4959ac892903120acdbc82fb) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision d6e6041931d39b07ebb06bd0919a5d338736704e) @@ -36,6 +36,7 @@ using Ringtoets.Common.Data.Structures; using Ringtoets.Common.Forms; using Ringtoets.Common.Forms.ChangeHandlers; +using Ringtoets.Common.Forms.ExportInfos; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.TreeNodeInfos; @@ -45,6 +46,7 @@ using Ringtoets.StabilityPointStructures.Forms.PresentationObjects; using Ringtoets.StabilityPointStructures.Forms.PropertyClasses; using Ringtoets.StabilityPointStructures.Forms.Views; +using Ringtoets.StabilityPointStructures.IO.Exporters; using Ringtoets.StabilityPointStructures.IO.Importers; using Ringtoets.StabilityPointStructures.Service; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; @@ -84,16 +86,16 @@ }; yield return new ViewInfo< - FailureMechanismSectionResultContext, - IEnumerable, - StabilityPointStructuresFailureMechanismResultView> - { - GetViewName = (view, context) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, - Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, - CloseForData = CloseFailureMechanismResultViewForData, - GetViewData = context => context.WrappedData, - AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism - }; + FailureMechanismSectionResultContext, + IEnumerable, + StabilityPointStructuresFailureMechanismResultView> + { + GetViewName = (view, context) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName, + Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, + CloseForData = CloseFailureMechanismResultViewForData, + GetViewData = context => context.WrappedData, + AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism + }; yield return new ViewInfo { @@ -191,11 +193,24 @@ Category = RingtoetsCommonFormsResources.Ringtoets_Category, Image = RingtoetsCommonFormsResources.StructuresIcon, FileFilterGenerator = new FileFilterGenerator(RingtoetsCommonIOResources.Shape_file_filter_Extension, - RingtoetsCommonIOResources.Shape_file_filter_Description), + RingtoetsCommonIOResources.Shape_file_filter_Description), IsEnabled = context => context.AssessmentSection.ReferenceLine != null }; } + public override IEnumerable GetExportInfos() + { + yield return RingtoetsExportInfoFactory.CreateCalculationGroupConfigurationExportInfo( + (context, filePath) => new StabilityPointStructuresCalculationConfigurationExporter(context.WrappedData.Children, filePath), + context => context.WrappedData.Children.Any()); + + yield return RingtoetsExportInfoFactory.CreateCalculationConfigurationExportInfo( + (context, filePath) => new StabilityPointStructuresCalculationConfigurationExporter(new[] + { + context.WrappedData + }, filePath)); + } + #region ViewInfo #region StabilityPointStructuresFailureMechanismView ViewInfo @@ -206,7 +221,7 @@ var failureMechanism = o as StabilityPointStructuresFailureMechanism; var viewFailureMechanismContext = (StabilityPointStructuresFailureMechanismContext) view.Data; - var viewFailureMechanism = viewFailureMechanismContext.WrappedData; + StabilityPointStructuresFailureMechanism viewFailureMechanism = viewFailureMechanismContext.WrappedData; return assessmentSection != null ? ReferenceEquals(viewFailureMechanismContext.Parent, assessmentSection) @@ -279,7 +294,7 @@ private static void ValidateAll(IEnumerable> calculations, IAssessmentSection assessmentSection) { - foreach (var calculation in calculations) + foreach (StructuresCalculation calculation in calculations) { StabilityPointStructuresCalculationService.Validate(calculation, assessmentSection); } @@ -294,7 +309,8 @@ calc, assessmentSection.HydraulicBoundaryDatabase.FilePath, failureMechanism, - assessmentSection)).ToArray()); + assessmentSection)) + .ToArray()); } #endregion @@ -556,7 +572,7 @@ private static void GenerateStabilityPointStructuresCalculations(IEnumerable sectionResults, IEnumerable structures, IList calculations) { - foreach (var structure in structures) + foreach (StabilityPointStructure structure in structures) { var calculation = new StructuresCalculation { @@ -578,7 +594,7 @@ var parentGroupContext = (StabilityPointStructuresCalculationGroupContext) parentNodeData; parentGroupContext.WrappedData.Children.Remove(context.WrappedData); - var stabilityPointStructuresCalculations = context.FailureMechanism.Calculations.Cast>().ToArray(); + StructuresCalculation[] stabilityPointStructuresCalculations = context.FailureMechanism.Calculations.Cast>().ToArray(); StructuresHelper.UpdateCalculationToSectionResultAssignments(context.FailureMechanism.SectionResults, stabilityPointStructuresCalculations);