namespace Yw.Dto
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class PumpCurveExpressToolInput : IValidatableObject
|
{
|
/// <summary>
|
/// 流量扬程拟合类型
|
/// </summary>
|
public eFitType FitTypeQH { get; set; }
|
|
/// <summary>
|
/// 流量功率拟合类型
|
/// </summary>
|
public eFitType FitTypeQP { get; set; }
|
|
/// <summary>
|
/// 流量效率拟合类型
|
/// </summary>
|
public eFitType FitTypeQE { get; set; }
|
|
/// <summary>
|
/// 流量扬程点数量
|
/// </summary>
|
public int? PointNumberQH { get; set; }
|
|
/// <summary>
|
/// 流量功率点数量
|
/// </summary>
|
public int? PointNumberQP { get; set; }
|
|
/// <summary>
|
/// 流量效率点数量
|
/// </summary>
|
public int? PointNumberQE { get; set; }
|
|
/// <summary>
|
/// 定义点列表
|
/// </summary>
|
public List<PumpCurvePointToolDto> DefinePoints { get; set; }
|
|
|
/// <summary>
|
///
|
/// </summary>
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
{
|
if (this.DefinePoints == null || this.DefinePoints.Count < 4)
|
{
|
yield return new ValidationResult("DefinePoints 数量不足,至少4个点", new string[] { nameof(DefinePoints) });
|
}
|
|
var fitPowQH = FitHelper.GetFitPow(this.FitTypeQH);
|
if (this.DefinePoints.Count < fitPowQH + 1)
|
{
|
yield return new ValidationResult($"DefinePoints 数量不足,至少{fitPowQH + 1}个点", new string[] { nameof(DefinePoints) });
|
}
|
|
if (this.PointNumberQH.HasValue)
|
{
|
if (this.PointNumberQH.Value < 6)
|
{
|
yield return new ValidationResult($"PointNumberQH 不能小于6", new string[] { nameof(PointNumberQH) });
|
}
|
}
|
|
var fitPowQP = FitHelper.GetFitPow(this.FitTypeQP);
|
if (this.DefinePoints.Count < fitPowQP + 1)
|
{
|
yield return new ValidationResult($"DefinePoints 数量不足,至少{fitPowQP + 1}个点", new string[] { nameof(DefinePoints) });
|
}
|
if (this.PointNumberQP.HasValue)
|
{
|
if (this.PointNumberQP.Value < 6)
|
{
|
yield return new ValidationResult($"PointNumberQP 不能小于6", new string[] { nameof(PointNumberQP) });
|
}
|
}
|
|
var fitPowQE = FitHelper.GetFitPow(this.FitTypeQE);
|
if (this.DefinePoints.Count < fitPowQE + 1)
|
{
|
yield return new ValidationResult($"DefinePoints 数量不足,至少{fitPowQE + 1}个点", new string[] { nameof(DefinePoints) });
|
}
|
if (this.PointNumberQE.HasValue)
|
{
|
if (this.PointNumberQE.Value < 6)
|
{
|
yield return new ValidationResult($"PointNumberQE 不能小于6", new string[] { nameof(PointNumberQE) });
|
}
|
}
|
|
|
|
|
|
}
|
|
|
}
|
}
|