using System; using System.ComponentModel; using Core.Common.Base.Data; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.TypeConverters; using Ringtoets.Piping.Data; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.Views { /// /// This class represents a row of in the . /// internal class PipingScenarioRow { private readonly PipingCalculationScenario pipingCalculation; /// /// Creates a new instance of . /// /// The this row contains. /// Thrown when is null. public PipingScenarioRow(PipingCalculationScenario pipingCalculation) { if (pipingCalculation == null) { throw new ArgumentNullException("pipingCalculation"); } this.pipingCalculation = pipingCalculation; } /// /// Gets the this row contains. /// public PipingCalculationScenario PipingCalculation { get { return pipingCalculation; } } /// /// Gets and sets the is relevant. /// public bool IsRelevant { get { return pipingCalculation.IsRelevant; } set { pipingCalculation.IsRelevant = value; pipingCalculation.NotifyObservers(); } } /// /// Gets and sets the contribution of the . /// public RoundedDouble Contribution { get { return new RoundedDouble(0, pipingCalculation.Contribution * 100); } set { pipingCalculation.Contribution = (RoundedDouble)(value / 100); pipingCalculation.NotifyObservers(); } } /// /// Gets the name of the . /// public string Name { get { return pipingCalculation.Name; } } /// /// Gets failure probabilty of piping of the . /// [TypeConverter(typeof(FailureMechanismSectionResultNoProbabilityValueDoubleConverter))] public string FailureProbabilityPiping { get { if (pipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.FailureMechanismSectionResult_No_result_dash; } return ProbabilityFormattingHelper.Format(pipingCalculation.SemiProbabilisticOutput.PipingProbability); } } /// /// Gets failure probabilty of uplift sub failure mechanism of the . /// [TypeConverter(typeof(FailureMechanismSectionResultNoProbabilityValueDoubleConverter))] public string FailureProbabilityUplift { get { if (pipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.FailureMechanismSectionResult_No_result_dash; } return ProbabilityFormattingHelper.Format(pipingCalculation.SemiProbabilisticOutput.UpliftProbability); } } /// /// Gets failure probabilty of heave sub failure mechanism of the . /// [TypeConverter(typeof(FailureMechanismSectionResultNoProbabilityValueDoubleConverter))] public string FailureProbabilityHeave { get { if (pipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.FailureMechanismSectionResult_No_result_dash; } return ProbabilityFormattingHelper.Format(pipingCalculation.SemiProbabilisticOutput.HeaveProbability); } } /// /// Gets failure probabilty of sellmeijer sub failure mechanism of the . /// [TypeConverter(typeof(FailureMechanismSectionResultNoProbabilityValueDoubleConverter))] public string FailureProbabilitySellmeijer { get { if (pipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.FailureMechanismSectionResult_No_result_dash; } return ProbabilityFormattingHelper.Format(pipingCalculation.SemiProbabilisticOutput.SellmeijerProbability); } } } }