OrderPreInfoView.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using OASystem.Domain.Entities.Groups;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Text.Json;
  9. using System.Text.RegularExpressions;
  10. using System.Threading.Tasks;
  11. namespace OASystem.Domain.ViewModels.Groups
  12. {
  13. public class OrderPreInfoView : Grp_OrderPreInfo
  14. {
  15. }
  16. public class GrpOrderPreInfoView
  17. {
  18. public int Id { get; set; }
  19. //public int TempId { get; set; }
  20. public string Name { get; set; }
  21. public int GroupId { get; set; }
  22. public GrpOrderPreItemView[] Items { get; set; }
  23. }
  24. public class GrpOrderPreItemView
  25. {
  26. public int Id { get; set; }
  27. public int ParentId { get; set; }
  28. public int FieldTempId { get; set; }
  29. public string FieldName { get; set; }
  30. public string FieldTypeName { get; set; }
  31. public string OriginVal { get; set; }
  32. private object _newValue;
  33. public object NewValue
  34. {
  35. get
  36. {
  37. if (string.IsNullOrEmpty(OriginVal)) return _newValue;
  38. if (FieldTypeName.Equals("文本"))
  39. {
  40. return OriginVal;
  41. }
  42. else if (FieldTypeName.Equals("搜索框"))
  43. {
  44. var val = Array.Empty<string>();
  45. string regexPattern = @"^\s*\{[\s\S]*\}\s*$";
  46. bool isValid = Regex.IsMatch(OriginVal, regexPattern);
  47. try
  48. {
  49. if (isValid)
  50. {
  51. val = JsonConvert.DeserializeObject<string[]>(OriginVal);
  52. }
  53. return val;
  54. }
  55. catch (Exception)
  56. {
  57. return val;
  58. }
  59. }
  60. else if (FieldTypeName.Equals("下拉选择框") || FieldTypeName.Equals("复选框") || FieldTypeName.Equals("数字"))
  61. {
  62. int.TryParse(OriginVal, out int val);
  63. OriginVal = val.ToString();
  64. return val;
  65. }
  66. else if (FieldTypeName.Equals("单选按钮"))
  67. {
  68. var val = "无";
  69. if (OriginVal.ToUpper().Equals("TRUE") || OriginVal.Equals("有")) val = "有";
  70. OriginVal = val;
  71. return val;
  72. }
  73. return null;
  74. }
  75. set { _newValue = value; }
  76. }
  77. public string Remark { get; set; }
  78. public bool IsRequired { get; set; }
  79. public bool IsRemark { get; set; }
  80. public int Index { get; set; }
  81. }
  82. }