SearchFormViewModel.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. namespace WeApp.Views.Shared.SearchForm
  4. {
  5. public class SearchFormViewModel
  6. {
  7. public SearchFormViewModel(List<SearchItem> searchItems, string formId = "search-form", bool isSingle = false)
  8. {
  9. FormId = formId;
  10. SearchItems = searchItems.Select(SetDefault).ToList();
  11. IsSingle = isSingle;
  12. }
  13. public bool IsSingle { get; set; }
  14. public string FormId { get; set; }
  15. public string Field { get; set; }
  16. public int FType { get; set; }
  17. public int EType { get; set; }
  18. public List<SearchItem> SearchItems { get; set; }
  19. private SearchItem SetDefault(SearchItem item)
  20. {
  21. if (string.IsNullOrEmpty(item.FormId))
  22. item.FormId = FormId;
  23. return item;
  24. }
  25. public SearchFormViewModel SetSearchOption(string field, FieldType fieldType = FieldType.I, ExpType expType = ExpType.Equal)
  26. {
  27. Field = field;
  28. FType = (int)fieldType;
  29. EType = (int)expType;
  30. return this;
  31. }
  32. }
  33. public enum FieldType
  34. {
  35. /// <summary>
  36. /// STRING
  37. /// </summary>
  38. S = 0,
  39. /// <summary>
  40. /// INT
  41. /// </summary>
  42. I = 1,
  43. /// <summary>
  44. /// INT
  45. /// </summary>
  46. In = 2,
  47. /// <summary>
  48. /// BOOL
  49. /// </summary>
  50. B = 3,
  51. /// <summary>
  52. /// BOOL
  53. /// </summary>
  54. Bn = 4,
  55. /// <summary>
  56. /// DATETIME
  57. /// </summary>
  58. D = 5,
  59. /// <summary>
  60. /// DATETIME?
  61. /// </summary>
  62. Dn = 6,
  63. /// <summary>
  64. /// long
  65. /// </summary>
  66. L = 7,
  67. /// <summary>
  68. /// long?
  69. /// </summary>
  70. Ln = 8,
  71. /// <summary>
  72. /// short
  73. /// </summary>
  74. Short = 9,
  75. /// <summary>
  76. /// Short?
  77. /// </summary>
  78. Sn = 10,
  79. /// <summary>
  80. /// float
  81. /// </summary>
  82. F = 11,
  83. /// <summary>
  84. /// float
  85. /// </summary>
  86. Fn = 12,
  87. /// <summary>
  88. /// Decimal
  89. /// </summary>
  90. Decimal = 13,
  91. /// <summary>
  92. /// Decimal
  93. /// </summary>
  94. DecimalNull = 14,
  95. /// <summary>
  96. /// Double
  97. /// </summary>
  98. Double = 15,
  99. /// <summary>
  100. /// Double
  101. /// </summary>
  102. DoubleNull = 16
  103. }
  104. public enum ExpType
  105. {
  106. Equal
  107. , NotEqual
  108. , Greater
  109. , Less
  110. , GreaterOrEqual
  111. , LessOrEqual
  112. , Contains
  113. , NotContains
  114. }
  115. }