// Copyright (C) Stichting Deltares 2017. All rights reserved.
//
// This file is part of Ringtoets.
//
// Ringtoets is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
//
// All names, logos, and references to "Deltares" are registered trademarks of
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using Core.Common.Controls.DataGrid;
using Core.Common.Util;
using Ringtoets.AssemblyTool.Data;
using Ringtoets.Common.Forms.Properties;
using Ringtoets.Common.Primitives;
namespace Ringtoets.Common.Forms.Builders
{
///
/// Builder class for adding various columns to a .
///
public static class FailureMechanismSectionResultColumnBuilder
{
///
/// Adds a column to the showing the section name.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddSectionNameColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.Section_DisplayName,
true);
}
private static IEnumerable> CreateEnumDisplayWrappers()
{
return Enum.GetValues(typeof(T))
.OfType()
.Select(e => new EnumDisplayWrapper(e))
.ToArray();
}
#region Assessment
///
/// Adds a column to the showing a
/// .
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddSimpleAssessmentResultColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
IEnumerable> dataSource = CreateEnumDisplayWrappers();
dataGridViewControl.AddComboBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_SimpleAssessmentResult_DisplayName,
dataSource,
nameof(EnumDisplayWrapper.Value),
nameof(EnumDisplayWrapper.DisplayName));
}
///
/// Adds a column to the showing a
/// .
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddSimpleAssessmentResultValidityOnlyColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
IEnumerable> dataSource = CreateEnumDisplayWrappers();
dataGridViewControl.AddComboBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_SimpleAssessmentResult_DisplayName,
dataSource,
nameof(EnumDisplayWrapper.Value),
nameof(EnumDisplayWrapper.DisplayName));
}
///
/// Adds a column to the showing a
/// .
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddDetailedAssessmentResultColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
IEnumerable> dataSource = CreateEnumDisplayWrappers();
dataGridViewControl.AddComboBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_DetailedAssessmentResult_DisplayName,
dataSource,
nameof(EnumDisplayWrapper.Value),
nameof(EnumDisplayWrapper.DisplayName));
}
///
/// Adds a column to the showing the detailed
/// assessment probability.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddDetailedAssessmentProbabilityColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_DetailedAssessmentProbability_DisplayName);
}
///
/// Adds a column to the showing a
/// .
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddTailorMadeAssessmentProbabilityAndDetailedCalculationResultColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
IEnumerable> dataSource =
CreateEnumDisplayWrappers();
dataGridViewControl.AddComboBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_TailorMadeAssessmentResult_DisplayName,
dataSource,
nameof(EnumDisplayWrapper.Value),
nameof(EnumDisplayWrapper.DisplayName));
}
///
/// Adds a column to the showing a
/// .
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddTailorMadeAssessmentProbabilityCalculationResultColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
IEnumerable> dataSource =
CreateEnumDisplayWrappers();
dataGridViewControl.AddComboBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_TailorMadeAssessmentResult_DisplayName,
dataSource,
nameof(EnumDisplayWrapper.Value),
nameof(EnumDisplayWrapper.DisplayName));
}
///
/// Adds a column to the showing the tailor made
/// assessment probability.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddTailorMadeAssessmentProbabilityColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_TailorMadeAssessmentProbability_DisplayName);
}
#endregion
#region Assembly Category Group
///
/// Adds a column to the showing the simple
/// assembly category group.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddSimpleAssemblyCategoryGroupColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_SimpleAssemblyCategoryGroup_DisplayName);
}
///
/// Adds a column to the showing the detailed
/// assembly category group.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddDetailedAssemblyCategoryGroupColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_DetailedAssemblyCategoryGroup_DisplayName);
}
///
/// Adds a column to the showing the tailor made
/// assembly category group.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddTailorMadeAssemblyCategoryGroupColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_TailorMadeAssemblyCategoryGroup_DisplayName);
}
///
/// Adds a column to the showing the combined
/// assembly category group.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddCombinedAssemblyCategoryGroupColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_CombinedAssemblyCategoryGroup_DisplayName);
}
#endregion
#region Override Assembly
///
/// Adds a column to the showing the
/// checkbox for the combined assembly overriding.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddUseManualAssemblyCategoryGroupColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddCheckBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_UseManualAssemblyCategoryGroup_DisplayName);
}
///
/// Adds a column to the showing the
/// overridden combined assembly group.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddManualAssemblyCategoryGroupColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
IEnumerable> dataSource = CreateEnumDisplayWrappers();
dataGridViewControl.AddComboBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_ManualAssembly_DisplayName,
dataSource,
nameof(EnumDisplayWrapper.Value),
nameof(EnumDisplayWrapper.DisplayName));
}
///
/// Adds a column to the showing the
/// overridden combined assembly probability.
///
/// The to add the column to.
/// The data property name of the column.
/// Thrown when any parameter is null.
public static void AddManualAssemblyProbabilityColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
{
if (dataGridViewControl == null)
{
throw new ArgumentNullException(nameof(dataGridViewControl));
}
if (dataPropertyName == null)
{
throw new ArgumentNullException(nameof(dataPropertyName));
}
dataGridViewControl.AddTextBoxColumn(
dataPropertyName,
Resources.FailureMechanismResultView_ManualAssembly_DisplayName);
}
#endregion
}
}