// 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.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 { /// /// Creates a new instance of . /// /// The this row contains. /// Thrown when is null. public PipingScenarioRow(PipingCalculationScenario pipingCalculation) { if (pipingCalculation == null) { throw new ArgumentNullException(nameof(pipingCalculation)); } PipingCalculation = pipingCalculation; } /// /// Gets the this row contains. /// public PipingCalculationScenario PipingCalculation { get; } /// /// Gets or sets the is relevant. /// public bool IsRelevant { get { return PipingCalculation.IsRelevant; } set { PipingCalculation.IsRelevant = value; PipingCalculation.NotifyObservers(); } } /// /// Gets or 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 the failure probability of piping of the . /// [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public string FailureProbabilityPiping { get { if (PipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.RoundedRouble_No_result_dash; } return ProbabilityFormattingHelper.Format(PipingCalculation.SemiProbabilisticOutput.PipingProbability); } } /// /// Gets the failure probability of uplift sub failure mechanism of the . /// [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public string FailureProbabilityUplift { get { if (PipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.RoundedRouble_No_result_dash; } return ProbabilityFormattingHelper.Format(PipingCalculation.SemiProbabilisticOutput.UpliftProbability); } } /// /// Gets the failure probability of heave sub failure mechanism of the . /// [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public string FailureProbabilityHeave { get { if (PipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.RoundedRouble_No_result_dash; } return ProbabilityFormattingHelper.Format(PipingCalculation.SemiProbabilisticOutput.HeaveProbability); } } /// /// Gets the failure probability of sellmeijer sub failure mechanism of the . /// [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public string FailureProbabilitySellmeijer { get { if (PipingCalculation.SemiProbabilisticOutput == null) { return RingtoetsCommonFormsResources.RoundedRouble_No_result_dash; } return ProbabilityFormattingHelper.Format(PipingCalculation.SemiProbabilisticOutput.SellmeijerProbability); } } } }