Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/PipingStructureResultView.cs =================================================================== diff -u -r80e09f002643af4dbacc7e99574ce0c784c7e873 -rf5da4dd6fa50a6e74e1861162028cc8692bbc562 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/PipingStructureResultView.cs (.../PipingStructureResultView.cs) (revision 80e09f002643af4dbacc7e99574ce0c784c7e873) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/SectionResultViews/PipingStructureResultView.cs (.../PipingStructureResultView.cs) (revision f5da4dd6fa50a6e74e1861162028cc8692bbc562) @@ -19,19 +19,12 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; -using System.Linq; -using System.Windows.Forms; using Core.Common.Base; -using Core.Common.Util; -using Ringtoets.Common.Data.FailureMechanism; -using Ringtoets.Common.Forms.Helpers; +using Ringtoets.Common.Forms.Builders; using Ringtoets.Common.Forms.Views; -using Ringtoets.Common.Primitives; using Ringtoets.Integration.Data.StandAlone; using Ringtoets.Integration.Data.StandAlone.SectionResults; using Ringtoets.Integration.Forms.Views.SectionResultRows; -using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Integration.Forms.Views.SectionResultViews { @@ -41,6 +34,15 @@ public class PipingStructureResultView : FailureMechanismResultView { + private const int simpleAssessmentResultIndex = 1; + private const int detailedAssessmentResultIndex = 2; + private const int tailorMadeAssessmentResultIndex = 3; + private const int simpleAssemblyCategoryGroupIndex = 4; + private const int detailedAssemblyCategoryGroupIndex = 5; + private const int tailorMadeAssemblyCategoryGroupIndex = 6; + private const int combinedAssemblyCategoryGroupIndex = 7; + private const int manualAssemblyCategoryGroupIndex = 9; + /// /// /// Creates a new instance of . @@ -51,58 +53,62 @@ protected override PipingStructureSectionResultRow CreateFailureMechanismSectionResultRow(PipingStructureFailureMechanismSectionResult sectionResult) { - return new PipingStructureSectionResultRow(sectionResult); + return new PipingStructureSectionResultRow( + sectionResult, + new PipingStructureSectionResultRow.ConstructionProperties + { + SimpleAssessmentResultIndex = simpleAssessmentResultIndex, + DetailedAssessmentResultIndex = detailedAssessmentResultIndex, + TailorMadeAssessmentResultIndex = tailorMadeAssessmentResultIndex, + SimpleAssemblyCategoryGroupIndex = simpleAssemblyCategoryGroupIndex, + DetailedAssemblyCategoryGroupIndex = detailedAssemblyCategoryGroupIndex, + TailorMadeAssemblyCategoryGroupIndex = tailorMadeAssemblyCategoryGroupIndex, + CombinedAssemblyCategoryGroupIndex = combinedAssemblyCategoryGroupIndex, + ManualAssemblyCategoryGroupIndex = manualAssemblyCategoryGroupIndex + }); } - protected override void Dispose(bool disposing) + protected override void AddDataGridColumns() { - DataGridViewControl.CellFormatting -= OnCellFormatting; + FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.Name)); - base.Dispose(disposing); - } + FailureMechanismSectionResultViewColumnBuilder.AddSimpleAssessmentResultColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.SimpleAssessmentResult)); - protected override void AddDataGridColumns() - { - DataGridViewControl.AddTextBoxColumn( - nameof(PipingStructureSectionResultRow.Name), - RingtoetsCommonFormsResources.Section_DisplayName, - true); + FailureMechanismSectionResultViewColumnBuilder.AddDetailedAssessmentResultColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.DetailedAssessmentResult)); - EnumDisplayWrapper[] simpleAssessmentDataSource = - Enum.GetValues(typeof(SimpleAssessmentResultType)) - .OfType() - .Select(sa => new EnumDisplayWrapper(sa)) - .ToArray(); + FailureMechanismSectionResultViewColumnBuilder.AddTailorMadeAssessmentResultColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.TailorMadeAssessmentResult)); - DataGridViewControl.AddComboBoxColumn( - nameof(PipingStructureSectionResultRow.SimpleAssessmentResult), - RingtoetsCommonFormsResources.FailureMechanismResultView_SimpleAssessmentResult_DisplayName, - simpleAssessmentDataSource, - nameof(EnumDisplayWrapper.Value), - nameof(EnumDisplayWrapper.DisplayName)); - } + FailureMechanismSectionResultViewColumnBuilder.AddSimpleAssemblyCategoryGroupColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.SimpleAssemblyCategoryGroup)); - protected override void BindEvents() - { - base.BindEvents(); + FailureMechanismSectionResultViewColumnBuilder.AddDetailedAssemblyCategoryGroupColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.DetailedAssemblyCategoryGroup)); - DataGridViewControl.CellFormatting += OnCellFormatting; - } + FailureMechanismSectionResultViewColumnBuilder.AddTailorMadeAssemblyCategoryGroupColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.TailorMadeAssemblyCategoryGroup)); - private void OnCellFormatting(object sender, DataGridViewCellFormattingEventArgs eventArgs) - { - if (eventArgs.ColumnIndex > SimpleAssessmentColumnIndex) - { - SimpleAssessmentResultType simpleAssessmentResult = GetDataAtRow(eventArgs.RowIndex).SimpleAssessmentResult; - if (FailureMechanismSectionResultRowHelper.SimpleAssessmentIsSufficient(simpleAssessmentResult)) - { - DataGridViewControl.DisableCell(eventArgs.RowIndex, eventArgs.ColumnIndex); - } - else - { - DataGridViewControl.RestoreCell(eventArgs.RowIndex, eventArgs.ColumnIndex); - } - } + FailureMechanismSectionResultViewColumnBuilder.AddCombinedAssemblyCategoryGroupColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.CombinedAssemblyCategoryGroup)); + + FailureMechanismSectionResultViewColumnBuilder.AddUseManualAssemblyCategoryGroupColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.UseManualAssemblyCategoryGroup)); + + FailureMechanismSectionResultViewColumnBuilder.AddManualAssemblyCategoryGroupColumn( + DataGridViewControl, + nameof(PipingStructureSectionResultRow.ManualAssemblyCategoryGroup)); } } } \ No newline at end of file