using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DW5S.DTO
{
    /// 
    /// 参估结果时间范围查询参数模型
    /// 
    public class CgResQueryDto : IValidatableObject
    {
        /// 
        /// 任务编号
        /// 
        [Range(0,double.MaxValue)]
        public int TaskInfoID { get; set; }
        /// 
        /// 目标上行频点(Hz),为空值时查询所有频点的结果
        /// 
        [Range(0,long.MaxValue)]
        public long? TarFrequpHz { get; set; }
        /// 
        /// 开始时间
        /// 
        public DateTime BeginTime { get; set; }
        /// 
        /// 结束时间
        /// 
        public DateTime EndTime { get; set; }
        /// 
        /// 是否包含无效结果(无定位结果的参估结果)
        /// 
        public bool IncludeInvalidate { get; set; } = false;
        /// 
        /// 
        /// 
        /// 
        /// 
        public IEnumerable Validate(ValidationContext validationContext)
        {
            if (BeginTime > EndTime)
                yield return new ValidationResult("开始时间不能大于结束时间!", new[] { nameof(BeginTime), nameof(EndTime) });
        }
    }
    
}