OrderPreInfoView.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. using Newtonsoft.Json;
  2. using OASystem.Domain.Entities.Groups;
  3. using System.Collections;
  4. namespace OASystem.Domain.ViewModels.Groups
  5. {
  6. public class OrderPreInfoView : Grp_OrderPreInfo
  7. {
  8. }
  9. public class GroupOrderPreInfoListView
  10. {
  11. public int Id { get; set; }
  12. public string Name { get; set; }
  13. public string UnitName { get; set; }
  14. public string VisitCountryVal { get; set; }
  15. public string VisitCountrys
  16. {
  17. get
  18. {
  19. var val = "-";
  20. try
  21. {
  22. var countryArr = JsonConvert.DeserializeObject<string[]>(VisitCountryVal);
  23. if (countryArr.Any()) val = string.Join("、", countryArr);
  24. }
  25. catch (Exception) { }
  26. return val;
  27. }
  28. }
  29. public string VisitDays { get; set; } = "0";
  30. public string VisiPpNum { get; set; } = "0";
  31. public object[] VersionDetails { get; set; }
  32. public string Operator { get; set; }
  33. public DateTime OperationTime { get; set; }
  34. }
  35. public class GrpOrderPreInfoBasicView
  36. {
  37. public int Id { get; set; }
  38. //public int TempId { get; set; }
  39. public string Name { get; set; }
  40. public int GroupId { get; set; }
  41. }
  42. public class GrpOrderPreInfoView: GrpOrderPreInfoBasicView
  43. {
  44. public GrpOrderPreItemView[] Items { get; set; }
  45. }
  46. public class GrpOrderPreInfoMobileView : GrpOrderPreInfoBasicView
  47. {
  48. public string GroupName { get; set; } = "";
  49. public GrpOrderPreItemMobileView[] Items { get; set; }
  50. }
  51. public class GrpOrderPreItemBasicView
  52. {
  53. public int Id { get; set; }
  54. public int ParentId { get; set; }
  55. public int FieldTempId { get; set; }
  56. public string FieldName { get; set; }
  57. public string FieldTypeName { get; set; }
  58. public string OriginVal { get; set; }
  59. public string Remark { get; set; }
  60. public bool IsRequired { get; set; }
  61. public bool IsRemark { get; set; }
  62. public int Index { get; set; }
  63. }
  64. public class GrpOrderPreItemView: GrpOrderPreItemBasicView
  65. {
  66. private object _newValue;
  67. public object NewValue
  68. {
  69. get
  70. {
  71. if (string.IsNullOrEmpty(OriginVal)) return _newValue;
  72. if (FieldTypeName.Equals("文本"))
  73. {
  74. if (_newValue != null)
  75. {
  76. OriginVal = _newValue.ToString();
  77. }
  78. if (OriginVal.Equals("-")) return _newValue;
  79. return OriginVal;
  80. }
  81. else if (FieldTypeName.Equals("搜索框"))
  82. {
  83. if (_newValue != null)
  84. {
  85. if (_newValue is Array)
  86. {
  87. return (Array)_newValue;
  88. }
  89. else if (_newValue is string[])
  90. {
  91. return (string[])_newValue;
  92. }
  93. else if (_newValue is IEnumerable)
  94. {
  95. return ((IEnumerable)_newValue).Cast<object>().Select(x => x.ToString()).ToArray();
  96. }
  97. else
  98. {
  99. return _newValue;
  100. }
  101. }
  102. var val = Array.Empty<string>();
  103. try
  104. {
  105. return JsonConvert.DeserializeObject<string[]>(OriginVal);
  106. }
  107. catch (Exception)
  108. {
  109. return val;
  110. }
  111. }
  112. else if (FieldTypeName.Equals("下拉选择框") || FieldTypeName.Equals("复选框") || FieldTypeName.Equals("数字"))
  113. {
  114. var val = 0;
  115. if (_newValue != null)
  116. {
  117. int.TryParse(_newValue.ToString(), out int val1);
  118. OriginVal = val1.ToString();
  119. val = val1;
  120. }
  121. else
  122. {
  123. int.TryParse(OriginVal, out int val2);
  124. OriginVal = val2.ToString();
  125. val = val2;
  126. }
  127. return OriginVal;
  128. }
  129. else if (FieldTypeName.Equals("单选按钮"))
  130. {
  131. var val = "无";
  132. if (OriginVal.Equals("有")) val = "有";
  133. if (_newValue != null)
  134. {
  135. if (_newValue.ToString().Equals("有")) val = "有";
  136. }
  137. OriginVal = val;
  138. return val;
  139. }
  140. return null;
  141. }
  142. set { _newValue = value; }
  143. }
  144. }
  145. public class GrpOrderPreItemMobileView : GrpOrderPreItemBasicView
  146. {
  147. private object _newValue;
  148. public object NewValue
  149. {
  150. get
  151. {
  152. if (string.IsNullOrEmpty(OriginVal)) return _newValue.ToString();
  153. if (FieldTypeName.Equals("文本"))
  154. {
  155. if (_newValue != null)
  156. {
  157. OriginVal = _newValue.ToString();
  158. }
  159. if (OriginVal.Equals("-")) return _newValue == null ? "" : _newValue.ToString();
  160. return OriginVal;
  161. }
  162. else if (FieldTypeName.Equals("搜索框"))
  163. {
  164. if (_newValue != null)
  165. {
  166. if (_newValue is Array)
  167. {
  168. return string.Join(",", (Array)_newValue);
  169. }
  170. else if (_newValue is string[])
  171. {
  172. return string.Join(",", (string[])_newValue);
  173. }
  174. else if (_newValue is IEnumerable)
  175. {
  176. return string.Join(",", ((IEnumerable)_newValue).Cast<object>().Select(x => x.ToString()).ToArray());
  177. }
  178. else
  179. {
  180. return _newValue.ToString();
  181. }
  182. }
  183. var val = Array.Empty<string>();
  184. try
  185. {
  186. return string.Join(",", JsonConvert.DeserializeObject<string[]>(OriginVal));
  187. }
  188. catch (Exception)
  189. {
  190. return "";
  191. }
  192. }
  193. else if (FieldTypeName.Equals("下拉选择框") || FieldTypeName.Equals("复选框") || FieldTypeName.Equals("数字"))
  194. {
  195. if (_newValue != null)
  196. {
  197. int.TryParse(_newValue.ToString(), out int val);
  198. OriginVal = val.ToString();
  199. }
  200. else
  201. {
  202. int.TryParse(OriginVal, out int val);
  203. OriginVal = val.ToString();
  204. }
  205. return OriginVal;
  206. }
  207. else if (FieldTypeName.Equals("单选按钮"))
  208. {
  209. var val = "无";
  210. if (OriginVal.Equals("有")) val = "有";
  211. if (_newValue != null)
  212. {
  213. if (_newValue.ToString().Equals("有")) val = "有";
  214. }
  215. OriginVal = val;
  216. return OriginVal;
  217. }
  218. return "";
  219. }
  220. set { _newValue = value; }
  221. }
  222. }
  223. }