RequestParameters.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace HPSocketCS.Extended
  6. {
  7. /// <summary>
  8. /// 请求参数处理对象
  9. /// </summary>
  10. [Serializable]
  11. public class RequestParameters
  12. {
  13. public RequestParameters()
  14. {
  15. }
  16. List<Parameter> _ParameterList = new List<Parameter>();
  17. /// <summary>
  18. /// 请求参数集合
  19. /// </summary>
  20. public List<Parameter> ParameterList
  21. {
  22. get { return _ParameterList; }
  23. set { _ParameterList = value; }
  24. }
  25. /// <summary>
  26. /// 获取指定参数名的参数值
  27. /// </summary>
  28. /// <param name="name"></param>
  29. /// <returns></returns>
  30. public T GetRequestParameter<T>(string name)
  31. {
  32. try
  33. {
  34. if (this.ParameterList.Any(s => s.Name.ToLower() == name.ToLower()))
  35. {
  36. return (T)this.ParameterList.Find(s => s.Name.ToLower() == name.ToLower()).Value;
  37. }
  38. else
  39. {
  40. return default(T);
  41. }
  42. }
  43. catch
  44. {
  45. return default(T);
  46. }
  47. }
  48. /// <summary>
  49. /// 设置参数
  50. /// </summary>
  51. /// <typeparam name="T"></typeparam>
  52. /// <param name="name"></param>
  53. /// <param name="value"></param>
  54. public void SetRequestParameter<T>(string name, T value)
  55. {
  56. if (this.ParameterList.Any(s => s.Name.ToLower() == name.ToLower()))
  57. {
  58. this.ParameterList.Find(s => s.Name.ToLower() == name.ToLower()).Value = value;
  59. }
  60. else
  61. {
  62. this.ParameterList.Add(new Parameter(name, value));
  63. }
  64. }
  65. #region 固定参数
  66. string fixed_Parameter = "Fixed_KeyName_Request_Parameter_Fixed";
  67. /// <summary>
  68. /// 获取参数KeyName为固定的“Fixed_KeyName_Request_Parameter”参数
  69. /// </summary>
  70. /// <typeparam name="T"></typeparam>
  71. /// <returns></returns>
  72. public T GetRequestParameter<T>()
  73. {
  74. return this.GetRequestParameter<T>(fixed_Parameter);
  75. }
  76. /// <summary>
  77. /// 设置参数KeyName为固定的“Fixed_KeyName_Request_Parameter”参数
  78. /// </summary>
  79. /// <typeparam name="T"></typeparam>
  80. /// <param name="value"></param>
  81. public void SetRequestParameter<T>(T value)
  82. {
  83. this.SetRequestParameter<T>(fixed_Parameter, value);
  84. }
  85. #endregion
  86. #region 分页处理参数
  87. string currentPageKeyName = "Fixed_KeyName_Request_UCPagerPaging_CurrentPage_Parameter_Fixed";
  88. /// <summary>
  89. /// 设置分页查询时的当前页数 参数KeyName为固定的“Fixed_KeyName_Request_UCPagerPaging_CurrentPage_Parameter_Fixed”参数
  90. /// </summary>
  91. /// <param name="currentPage"></param>
  92. public void SetRequsetCurrentPageParameter(int currentPage)
  93. {
  94. this.SetRequestParameter<int>(currentPageKeyName, currentPage);
  95. }
  96. /// <summary>
  97. /// 获取分页查询时的当前页数
  98. /// </summary>
  99. /// <returns></returns>
  100. public int GetRequsetCurrentPageParameter()
  101. {
  102. return this.GetRequestParameter<int>(currentPageKeyName);
  103. }
  104. string currentPageSizeKeyName = "Fixed_KeyName_Request_UCPagerPaging_CurrentPageSize_Parameter_Fixed";
  105. /// <summary>
  106. /// 设置分页查询时的当前每页的页数 参数KeyName为固定的“Fixed_KeyName_Request_UCPagerPaging_CurrentPageSize_Parameter_Fixed”参数
  107. /// </summary>
  108. /// <param name="currentPage"></param>
  109. public void SetRequsetCurrentPageSizeParameter(int currentPageSize)
  110. {
  111. this.SetRequestParameter<int>(currentPageSizeKeyName, currentPageSize);
  112. }
  113. /// <summary>
  114. /// 获取分页查询时的当前每页的页数
  115. /// </summary>
  116. /// <returns></returns>
  117. public int GetRequsetCurrentPageSizeParameter()
  118. {
  119. return this.GetRequestParameter<int>(currentPageSizeKeyName);
  120. }
  121. string TotalRecordKeyName_TotalCount = "Fixed_KeyName_Request_UCPagerPaging_CurrentPage_TotalCount_Parameter_Fixed";
  122. /// <summary>
  123. /// 设置分页查询时返回的总记录数
  124. /// </summary>
  125. /// <param name="currentPage"></param>
  126. public void SetRequsetCurrentPageTotalCountParameter(int _TotalCount)
  127. {
  128. this.SetRequestParameter<int>(TotalRecordKeyName_TotalCount, _TotalCount);
  129. }
  130. /// <summary>
  131. /// 获取分页查询时返回的总记录数
  132. /// </summary>
  133. /// <returns></returns>
  134. public int GetRequsetCurrentPageTotalCountParameter()
  135. {
  136. return this.GetRequestParameter<int>(TotalRecordKeyName_TotalCount);
  137. }
  138. #endregion
  139. #region 铂金版与云服务器通信参数处理
  140. string bjbEnterpriseIDName = "Fixed_KeyName_Request_bjbErp_tb_Enterprise_EnterpriseID_Parameter_Fixed";
  141. /// <summary>
  142. /// 设置企业ID参数
  143. /// </summary>
  144. /// <param name="currentPage"></param>
  145. public void SetRequsetEnterpriseIDParameter(string enterpriseID)
  146. {
  147. this.SetRequestParameter<string>(bjbEnterpriseIDName, enterpriseID);
  148. }
  149. /// <summary>
  150. /// 获取企业ID参数
  151. /// </summary>
  152. /// <returns></returns>
  153. public string GetRequsetEnterpriseIDParameter()
  154. {
  155. return this.GetRequestParameter<string>(bjbEnterpriseIDName);
  156. }
  157. string bjbErpVersion = "Fixed_KeyName_Request_bjbErp_tb_Version_ErpVersion_Parameter_Fixed";
  158. /// <summary>
  159. /// 设置软件版本号参数
  160. /// </summary>
  161. /// <param name="currentPage"></param>
  162. public void SetRequsetErpVersionParameter(string version)
  163. {
  164. this.SetRequestParameter<string>(bjbErpVersion, version);
  165. }
  166. /// <summary>
  167. /// 获取软件版本号
  168. /// </summary>
  169. /// <returns></returns>
  170. public string GetRequsetErpVersionParameter()
  171. {
  172. return this.GetRequestParameter<string>(bjbErpVersion);
  173. }
  174. string bjbErpInstallationVerificationCode = "Fixed_KeyName_Request_bjbErp_Install_InstallationVerificationCode_Parameter_Fixed";
  175. /// <summary>
  176. /// 设置软件安装验证码参数
  177. /// </summary>
  178. /// <param name="currentPage"></param>
  179. public void SetRequsetErpInstallationVerificationCodeParameter(string verificationCode)
  180. {
  181. this.SetRequestParameter<string>(bjbErpInstallationVerificationCode, verificationCode);
  182. }
  183. /// <summary>
  184. /// 获取软件安装验证码
  185. /// </summary>
  186. /// <returns></returns>
  187. public string GetRequsetErpInstallationVerificationCodeCodeParameter()
  188. {
  189. return this.GetRequestParameter<string>(bjbErpInstallationVerificationCode);
  190. }
  191. string bjbErpDongleDomain = "Fixed_KeyName_Request_bjbErp_Install_DongleDomain_Parameter_Fixed";
  192. /// <summary>
  193. /// 设置软件加密锁域名参数
  194. /// </summary>
  195. /// <param name="dongleDomain"></param>
  196. public void SetRequsetErpDongleDomainParameter(string dongleDomain)
  197. {
  198. this.SetRequestParameter<string>(bjbErpDongleDomain, dongleDomain);
  199. }
  200. /// <summary>
  201. /// 获取软件加密锁域名
  202. /// </summary>
  203. /// <returns></returns>
  204. public string GetRequsetErpDongleDomainParameter()
  205. {
  206. return this.GetRequestParameter<string>(bjbErpDongleDomain);
  207. }
  208. string bjbErpServerAddress = "Fixed_KeyName_Request_bjbErp_Install_ServerAddress_Parameter_Fixed";
  209. /// <summary>
  210. /// 设置软件服务器IP地址参数
  211. /// </summary>
  212. /// <param name="serverAddress"></param>
  213. public void SetRequsetErpServerAddressParameter(string serverAddress)
  214. {
  215. this.SetRequestParameter<string>(bjbErpServerAddress, serverAddress);
  216. }
  217. /// <summary>
  218. /// 获取软件服务器IP地址
  219. /// </summary>
  220. /// <returns></returns>
  221. public string GetRequsetErpServerAddressParameter()
  222. {
  223. return this.GetRequestParameter<string>(bjbErpServerAddress);
  224. }
  225. string bjbErpServerPort = "Fixed_KeyName_Request_bjbErp_Install_ServerPort_Parameter_Fixed";
  226. /// <summary>
  227. /// 设置软件服务器端口参数
  228. /// </summary>
  229. /// <param name="serverPort"></param>
  230. public void SetRequsetErpServerPortParameter(int serverPort)
  231. {
  232. this.SetRequestParameter<int>(bjbErpServerPort, serverPort);
  233. }
  234. /// <summary>
  235. /// 获取软件服务器端口
  236. /// </summary>
  237. /// <returns></returns>
  238. public int GetRequsetErpServerPortParameter()
  239. {
  240. return this.GetRequestParameter<int>(bjbErpServerAddress);
  241. }
  242. #endregion
  243. /// <summary>
  244. /// 将当前对象转为 字节数组
  245. /// </summary>
  246. /// <returns></returns>
  247. public byte[] ToBytes()
  248. {
  249. return HPSocketCS.Extended.DataSetSerializerDeserialize.ObjectSerializerRetBytes(this);
  250. }
  251. }
  252. /// <summary>
  253. /// 参数
  254. /// </summary>
  255. [Serializable]
  256. public class Parameter
  257. {
  258. public Parameter() {
  259. }
  260. public Parameter(string name,object value)
  261. {
  262. this._name = name;
  263. this._value = value;
  264. }
  265. string _name;
  266. /// <summary>
  267. /// 参数名
  268. /// </summary>
  269. public string Name
  270. {
  271. get { return _name; }
  272. set { _name = value; }
  273. }
  274. object _value;
  275. /// <summary>
  276. /// 参数值
  277. /// </summary>
  278. public object Value
  279. {
  280. get { return _value; }
  281. set { _value = value; }
  282. }
  283. }
  284. }