namespace Yw.Application
{
///
///
///
public class BindingHealthMultiEvaluationModelInput : IValidatableObject
{
///
/// 模型 id
///
[Required, Range(1, long.MaxValue, ErrorMessage = "ModelID 必须大于0")]
public long ModelID { get; set; }
///
/// 设备id
///
[Required, Range(1, long.MaxValue, ErrorMessage = "EquipmentID 必须大于0")]
public long EquipmentID { get; set; }
///
/// 计划类型
///
[Required]
public eCronType CronType { get; set; }
///
/// 计划参数
///
[Required]
public string CronParas { get; set; }
///
/// 验证
///
public IEnumerable Validate(ValidationContext validationContext)
{
switch (this.CronType)
{
case eCronType.Real:
{
if (!int.TryParse(this.CronParas, out int intCronParas))
{
yield return new ValidationResult(
"CronParas 参数错误"
, new[] { nameof(CronParas) }
);
}
}
break;
case eCronType.Fixed:
{
if (!Quartz.CronExpression.IsValidExpression(this.CronParas))
{
yield return new ValidationResult(
"CronParas 参数错误"
, new[] { nameof(CronParas) }
);
}
}
break;
default: break;
}
}
}
}