CpuCgMultiDto.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using XdCxRhDW.Dto.Attribute;
  8. namespace XdCxRhDW.Dto
  9. {
  10. public class CpuCgMultiDto
  11. {
  12. /// <summary>
  13. /// 上传后返回的文件名
  14. /// </summary>
  15. [FileMustExist]
  16. public string file1 { get; set; }
  17. /// <summary>
  18. /// 上传后返回的文件名
  19. /// </summary>
  20. [FileMustExist]
  21. public string file2 { get; set; }
  22. /// <summary>
  23. /// 样点位置
  24. /// </summary>
  25. public List<SmpPosition> smpPositions { get; set; }
  26. /// <summary>
  27. /// 采样率(Hz)
  28. /// </summary>
  29. [RangeDouble(0, 100e6)]
  30. public double samplingRate { get; set; }
  31. /// <summary>
  32. /// 时差中心(us)
  33. /// </summary>
  34. public double dtCenter { get; set; }
  35. /// <summary>
  36. /// 时差范围(us)
  37. /// </summary>
  38. [RangeDouble(0, 100000)]
  39. public double dtRange { get; set; }
  40. /// <summary>
  41. /// 频差范围(单位Hz,默认16384)
  42. /// </summary>
  43. [Pow2]
  44. public double dfRange { get; set; } = 16384;
  45. /// <summary>
  46. /// 信噪比门限dB
  47. /// </summary>
  48. [RangeDouble(10, 50, IncludeMin = true)]
  49. public double snrThreshold { get; set; }
  50. /// <summary>
  51. /// 模型参数自定义验证(复杂的验证逻辑在这里面写)
  52. /// </summary>
  53. /// <param name="validationContext"></param>
  54. /// <returns></returns>
  55. public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
  56. {
  57. //if (this.Age<18)
  58. // yield return new ValidationResult("你太年轻了", new[] { nameof(this.Age) });
  59. yield return null;
  60. }
  61. }
  62. public class SmpPosition
  63. {
  64. /// <summary>
  65. /// 开始样点
  66. /// </summary>
  67. [RangeLong(0, IncludeMin = true)]
  68. public long smpStart { get; set; }
  69. /// <summary>
  70. /// 样点数
  71. /// </summary>
  72. [RangeLong(0, IncludeMin = true)]
  73. public long smpCount { get; set; }
  74. }
  75. }