CpuCgDto.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Runtime.Serialization;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Markup;
  11. namespace DW5S.DTO
  12. {
  13. /// <summary>
  14. /// CPU参估参数模型
  15. /// </summary>
  16. public class CpuCgDto : IValidatableObject//有复杂验证需要实现IValidatableObject接口,没有则不用
  17. {
  18. /// <summary>
  19. /// 上传后返回的文件名
  20. /// </summary>
  21. public string file1 { get; set; }
  22. /// <summary>
  23. /// 上传后返回的文件名
  24. /// </summary>
  25. public string file2 { get; set; }
  26. /// <summary>
  27. /// 开始样点
  28. /// </summary>
  29. [Range(0,double.MaxValue)]
  30. public long smpStart { get; set; }
  31. /// <summary>
  32. /// 样点数(0表示文件末尾,0-1之间的小数表示样点百分比)
  33. /// </summary>
  34. [Range(0, double.MaxValue)]
  35. public double smpCount { get; set; }
  36. /// <summary>
  37. /// 采样率(Hz)
  38. /// </summary>
  39. [Range(0, 100e6)]
  40. public double samplingRate { get; set; }
  41. /// <summary>
  42. /// 信号带宽(Hz)
  43. /// </summary>
  44. [Range(0, 100e6)]
  45. public double BandHz { get; set; } = 0;
  46. /// <summary>
  47. /// 时差中心(us)
  48. /// </summary>
  49. public double dtCenter { get; set; }
  50. /// <summary>
  51. /// 时差范围(us)
  52. /// </summary>
  53. [Range(0, 100000)]
  54. public double dtRange { get; set; }
  55. /// <summary>
  56. /// 频差范围(单位Hz,默认16384)
  57. /// </summary>
  58. public double dfRange { get; set; } = 16384;
  59. /// <summary>
  60. /// 信噪比门限dB
  61. /// </summary>
  62. [Range(10, 50)]
  63. public double snrThreshold { get; set; }
  64. /// <summary>
  65. /// 模型参数自定义验证(复杂的验证逻辑在这里面写)
  66. /// </summary>
  67. /// <param name="validationContext"></param>
  68. /// <returns></returns>
  69. public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
  70. {
  71. //if (this.Age < 18)
  72. // yield return new ValidationResult("你太年轻了", new[] { nameof(this.Age) });
  73. yield return null;
  74. }
  75. }
  76. }