1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.ComponentModel.DataAnnotations;
- using System.IO;
- using System.Linq;
- using System.Runtime.Serialization;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Markup;
- using XdCxRhDW.Dto.Attribute;
- namespace XdCxRhDW.Dto
- {
- /// <summary>
- /// CPU参估参数模型
- /// </summary>
- public class CpuCgDto : IValidatableObject//有复杂验证需要实现IValidatableObject接口,没有则不用
- {
- /// <summary>
- /// 上传后返回的文件名
- /// </summary>
- [FileMustExist]
- public string file1 { get; set; }
- /// <summary>
- /// 上传后返回的文件名
- /// </summary>
- [FileMustExist]
- public string file2 { get; set; }
- /// <summary>
- /// 开始样点
- /// </summary>
- [RangeLong(0, IncludeMin = true)]
- public long smpStart { get; set; }
- /// <summary>
- /// 样点数(0表示文件末尾,0-1之间的小数表示样点百分比)
- /// </summary>
- [RangeDouble(0, IncludeMin = true)]
- public double smpCount { get; set; }
- /// <summary>
- /// 采样率(Hz)
- /// </summary>
- [RangeDouble(0, 100e6)]
- public double samplingRate { get; set; }
- /// <summary>
- /// 信号带宽(Hz)
- /// </summary>
- [RangeDouble(0, 100e6, IncludeMin = true)]
- public double BandHz { get; set; } = 0;
- /// <summary>
- /// 时差中心(us)
- /// </summary>
- public double dtCenter { get; set; }
- /// <summary>
- /// 时差范围(us)
- /// </summary>
- [RangeDouble(0, 100000)]
- public double dtRange { get; set; }
- /// <summary>
- /// 频差范围(单位Hz,默认16384)
- /// </summary>
- [Pow2]
- public double dfRange { get; set; } = 16384;
- /// <summary>
- /// 信噪比门限dB
- /// </summary>
- [RangeDouble(10, 50, IncludeMin = true)]
- public double snrThreshold { get; set; }
- /// <summary>
- /// 超时时间(单位秒,默认30秒)
- /// </summary>
- [RangeInt(1, 600, IncludeMin = true)]
- public int TimeoutSeconds { get; set; } = 30;
- /// <summary>
- /// 模型参数自定义验证(复杂的验证逻辑在这里面写)
- /// </summary>
- /// <param name="validationContext"></param>
- /// <returns></returns>
- public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
- {
- //if (this.Age<18)
- // yield return new ValidationResult("你太年轻了", new[] { nameof(this.Age) });
- yield return null;
- }
- }
- }
|