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);
}
}
}
}