CountryFeeCostDto.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. using OASystem.Domain.ViewModels.Resource;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.Text.RegularExpressions;
  4. namespace OASystem.Domain.Dtos.Resource
  5. {
  6. public class OperationCountryFeeCostDto
  7. {
  8. /// <summary>
  9. /// 操作状态
  10. /// 1 添加
  11. /// 2 修改
  12. /// </summary>
  13. public int Status { get; set; }
  14. /// <summary>
  15. /// 编号
  16. /// </summary>
  17. public int Id { get; set; }
  18. /// <summary>
  19. /// 洲名
  20. /// </summary>
  21. public string VisaContinent { get; set; }
  22. /// <summary>
  23. /// 国家名
  24. /// </summary>
  25. public string VisaCountry { get; set; }
  26. /// <summary>
  27. /// 是否免签 0:是 1:否
  28. /// </summary>
  29. public int IsVisaExemption { get; set; }
  30. /// <summary>
  31. /// 是否落地签 0:是 1:否
  32. /// </summary>
  33. public int IsVisaOnArrival { get; set; }
  34. /// <summary>
  35. /// 是否电子签 0:是 1:否
  36. /// </summary>
  37. public int IsElectronicSignature { get; set; }
  38. private decimal visaPrice;
  39. /// <summary>
  40. /// 签证费用
  41. /// </summary>
  42. public decimal VisaPrice
  43. {
  44. get { return visaPrice; }
  45. set
  46. {
  47. var reg = new Regex(@"[^0-9]{1,17}([.]{1}[^0-9]{1,4})?$");
  48. if (!reg.IsMatch(value.ToString()))
  49. {
  50. visaPrice = Convert.ToDecimal(value);
  51. }
  52. else
  53. {
  54. visaPrice = 0;
  55. }
  56. }
  57. }
  58. /// <summary>
  59. /// 签证费用描述
  60. /// </summary>
  61. public string VisaPriceDesc { get; set; }
  62. /// <summary>
  63. /// 签证类型 大公务/小公务/大小公务同时免签
  64. /// </summary>
  65. public string VisaType { get; set; }
  66. /// <summary>
  67. /// 大公务费用
  68. /// 新增参数
  69. /// 雷怡 2024-05-07 15:45:09
  70. /// </summary>
  71. public decimal GrandBusinessAgencyFee { get; set; }
  72. /// <summary>
  73. /// 小公务费用
  74. /// 新增参数
  75. /// 雷怡 2024-05-07 15:45:09
  76. /// </summary>
  77. public decimal PettyBusinessAgencyFee { get; set; }
  78. private string visaTime;
  79. /// <summary>
  80. /// 一般签证时间
  81. /// </summary>
  82. public string VisaTime
  83. {
  84. get { return visaTime; }
  85. set
  86. {
  87. if (int.TryParse(value, out _))
  88. {
  89. visaTime = value;
  90. }
  91. else
  92. {
  93. ugentTime = "1";
  94. }
  95. }
  96. }
  97. /// <summary>
  98. /// 签证是否加急 0:加急 1: 不加急
  99. /// </summary>
  100. public int IsUrgent { get; set; }
  101. private string ugentTime;
  102. /// <summary>
  103. /// 加急时间
  104. /// </summary>
  105. public string UrgentTime
  106. {
  107. get { return ugentTime; }
  108. set
  109. {
  110. if (int.TryParse(value, out _))
  111. {
  112. ugentTime = value;
  113. }
  114. else
  115. {
  116. ugentTime = "1";
  117. }
  118. }
  119. }
  120. private decimal urgentPrice;
  121. /// <summary>
  122. /// 加急费用
  123. /// </summary>
  124. public decimal UrgentPrice
  125. {
  126. get { return urgentPrice; }
  127. set
  128. {
  129. var reg = new Regex(@"[^0-9]{1,17}([.]{1}[^0-9]{1,4})?$");
  130. if (!reg.IsMatch(value.ToString()))
  131. {
  132. urgentPrice = Convert.ToDecimal(value);
  133. }
  134. else
  135. {
  136. urgentPrice = 0;
  137. }
  138. }
  139. }
  140. /// <summary>
  141. /// 加急费用描述
  142. /// </summary>
  143. public string UrgentPriceDesc { get; set; }
  144. /// <summary>
  145. /// 签证地址
  146. /// </summary>
  147. public string VisaAddress { get; set; }
  148. /// <summary>
  149. /// 创建者Id
  150. /// </summary>
  151. public int CreateUserId { get; set; }
  152. /// <summary>
  153. /// 备注
  154. /// </summary>
  155. public string Remark { get; set; }
  156. #region 2025-06-12 新增字段
  157. /// <summary>
  158. /// 签证费用类型 0 因公 1 因私
  159. /// </summary>
  160. public int VisaFeeType { get; set; } = 0;
  161. /// <summary>
  162. /// 云南代办费
  163. /// </summary>
  164. public decimal YunNanAgencyFee { get; set; } = 0.00m;
  165. /// <summary>
  166. /// 贵州代办费
  167. /// </summary>
  168. public decimal GuiZhouAgencyFee { get; set; } = 0.00m;
  169. /// <summary>
  170. /// 重庆代办费
  171. /// </summary>
  172. public decimal ChongQingAgencyFee { get; set; } = 0.00m;
  173. /// <summary>
  174. /// 重庆外办出入境证明费用 - 普通
  175. /// </summary>
  176. public decimal ChongQingNormalFee { get; set; } = 0.00m;
  177. /// <summary>
  178. /// 重庆外办出入境证明费用 - 加急
  179. /// </summary>
  180. public decimal ChongQingUrgentFee { get; set; } = 0.00m;
  181. #endregion
  182. }
  183. public class DelCountryFeeCostDto
  184. {
  185. public int Id { get; set; }
  186. public int DeleteUserId { get; set; }
  187. }
  188. public class QueryVisaCountryFeeCostsDto : DtoBase
  189. {
  190. [Range(-1, 1, ErrorMessage = $"请选择正确的签证费用类型,-1:全部 0:因公 1:因私 ")]
  191. public int VisaFeeType { get; set; }
  192. public string CountryName { get; set; }
  193. }
  194. public class VisaFeeStandardInfoDto : PortDtoBase
  195. {
  196. /// <summary>
  197. /// Id
  198. /// </summary>
  199. [Range(1, int.MaxValue, ErrorMessage = "请传入有效的Id!")]
  200. public int Id { get; set; }
  201. }
  202. public class VisaFeeStandardListDto : DtoBase
  203. {
  204. [Range(-1, 1, ErrorMessage = $"请选择正确的签证费用类型,-1:全部 0:因公 1:因私 ")]
  205. public int VisaFeeType { get; set; }
  206. public string CountryName { get; set; }
  207. }
  208. public class VisaFeeStandardSaveDto : VisaFeeStandardInfoView
  209. {
  210. public int CurrUserId { get; set; }
  211. }
  212. public class VisaFeeStandardSoftDelDto
  213. {
  214. /// <summary>
  215. /// Id
  216. /// </summary>
  217. [Range(1, int.MaxValue, ErrorMessage = "请传入有效的Id!")]
  218. public int Id { get; set; }
  219. /// <summary>
  220. /// 当前操作人
  221. /// </summary>
  222. [Range(1, int.MaxValue, ErrorMessage = "请传入有效的CurrUserId!")]
  223. public int CurrUserId { get; set; }
  224. }
  225. public class VisaFeesByProvinceDto : DtoBase
  226. {
  227. /// <summary>
  228. /// 省份Id
  229. /// </summary>
  230. public int ProvinceId { get; set; }
  231. /// <summary>
  232. /// 国家名称
  233. /// </summary>
  234. [Required(ErrorMessage = "国家名称不能为空!")]
  235. public string CountryName { get; set; }
  236. }
  237. }