SysRegisters_info.cs 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using SysBaseLibs;
  6. using System.Web.Script.Serialization;
  7. namespace SysDataLibs.TableClass
  8. {
  9. #region SysRegisters
  10. public class SysRegisters_info : ITableInfo
  11. {
  12. #region SysRegisters表 字段信息
  13. /// <summary>
  14. /// 为关键字段: N ;
  15. /// 自动增长: N;
  16. /// 数据类型: nchar;
  17. /// 数据长度: 2;
  18. /// 是否允许为空: N;
  19. /// 默认值: (N'N');
  20. /// 描述: 是否审核;
  21. /// </summary>
  22. public const string cIsAudit = "IsAudit";
  23. /// <summary>
  24. /// 为关键字段: N ;
  25. /// 自动增长: N;
  26. /// 数据类型: varchar;
  27. /// 数据长度: 50;
  28. /// 是否允许为空: Y;
  29. /// 默认值: ;
  30. /// 描述: 联系电话;
  31. /// </summary>
  32. public const string cLinkTel = "LinkTel";
  33. /// <summary>
  34. /// 为关键字段: N ;
  35. /// 自动增长: N;
  36. /// 数据类型: varchar;
  37. /// 数据长度: 15;
  38. /// 是否允许为空: N;
  39. /// 默认值: ;
  40. /// 描述: 编号;
  41. /// </summary>
  42. public const string cMarketID = "MarketID";
  43. /// <summary>
  44. /// 为关键字段: N ;
  45. /// 自动增长: N;
  46. /// 数据类型: nvarchar;
  47. /// 数据长度: 400;
  48. /// 是否允许为空: N;
  49. /// 默认值: ;
  50. /// 描述: 名称;
  51. /// </summary>
  52. public const string cMarketName = "MarketName";
  53. /// <summary>
  54. /// 为关键字段: N ;
  55. /// 自动增长: N;
  56. /// 数据类型: varchar;
  57. /// 数据长度: 260;
  58. /// 是否允许为空: N;
  59. /// 默认值: ;
  60. /// 描述: Password;
  61. /// </summary>
  62. public const string cPassword = "Password";
  63. /// <summary>
  64. /// 为关键字段: N ;
  65. /// 自动增长: N;
  66. /// 数据类型: varchar;
  67. /// 数据长度: 20;
  68. /// 是否允许为空: N;
  69. /// 默认值: ;
  70. /// 描述: 区域;
  71. /// </summary>
  72. public const string cRegionID = "RegionID";
  73. /// <summary>
  74. /// 为关键字段: N ;
  75. /// 自动增长: N;
  76. /// 数据类型: varchar;
  77. /// 数据长度: 30;
  78. /// 是否允许为空: N;
  79. /// 默认值: ;
  80. /// 描述: 区域名;
  81. /// </summary>
  82. public const string cRegionName = "RegionName";
  83. /// <summary>
  84. /// 为关键字段: N ;
  85. /// 自动增长: N;
  86. /// 数据类型: smalldatetime;
  87. /// 数据长度: 4;
  88. /// 是否允许为空: N;
  89. /// 默认值: ;
  90. /// 描述: RegisterDate;
  91. /// </summary>
  92. public const string cRegisterDate = "RegisterDate";
  93. /// <summary>
  94. /// 为关键字段: Y --- PrimaryKey;
  95. /// 自动增长: N;
  96. /// 数据类型: varchar;
  97. /// 数据长度: 50;
  98. /// 是否允许为空: N;
  99. /// 默认值: ;
  100. /// 描述: RegisterID;
  101. /// </summary>
  102. public const string cRegisterID = "RegisterID";
  103. /// <summary>
  104. /// 为关键字段: N ;
  105. /// 自动增长: N;
  106. /// 数据类型: varchar;
  107. /// 数据长度: 50;
  108. /// 是否允许为空: N;
  109. /// 默认值: ;
  110. /// 描述: 注册者IP;
  111. /// </summary>
  112. public const string cRegisterIP = "RegisterIP";
  113. /// <summary>
  114. /// 为关键字段: N ;
  115. /// 自动增长: N;
  116. /// 数据类型: varchar;
  117. /// 数据长度: 50;
  118. /// 是否允许为空: N;
  119. /// 默认值: ;
  120. /// 描述: 系统名;
  121. /// </summary>
  122. public const string cSystemID = "SystemID";
  123. /// <summary>
  124. /// 为关键字段: N ;
  125. /// 自动增长: N;
  126. /// 数据类型: varchar;
  127. /// 数据长度: 19;
  128. /// 是否允许为空: N;
  129. /// 默认值: ;
  130. /// 描述: 用户编号;
  131. /// </summary>
  132. public const string cUserCode = "UserCode";
  133. /// <summary>
  134. /// 为关键字段: N ;
  135. /// 自动增长: N;
  136. /// 数据类型: varchar;
  137. /// 数据长度: 20;
  138. /// 是否允许为空: N;
  139. /// 默认值: ;
  140. /// 描述: 用户名;
  141. /// </summary>
  142. public const string cUserName = "UserName";
  143. /// <summary>
  144. /// 为关键字段: N ;
  145. /// 自动增长: N;
  146. /// 数据类型: smalldatetime;
  147. /// 数据长度: 4;
  148. /// 是否允许为空: N;
  149. /// 默认值: ;
  150. /// 描述: 截止时间;
  151. /// </summary>
  152. public const string cValidEndTime = "ValidEndTime";
  153. /// <summary>
  154. /// 为关键字段: N ;
  155. /// 自动增长: N;
  156. /// 数据类型: smalldatetime;
  157. /// 数据长度: 4;
  158. /// 是否允许为空: N;
  159. /// 默认值: ;
  160. /// 描述: 发证时间;
  161. /// </summary>
  162. public const string cValidStartTime = "ValidStartTime";
  163. /// <summary>
  164. /// 为关键字段: N ;
  165. /// 自动增长: N;
  166. /// 数据类型: nvarchar;
  167. /// 数据长度: 200;
  168. /// 是否允许为空: N;
  169. /// 默认值: ;
  170. /// 描述: 工商注册号;
  171. /// </summary>
  172. public const string cWarrantNumber = "WarrantNumber";
  173. #endregion
  174. public SysRegisters_info() { }
  175. public SysRegisters_info(DataRow poRow)
  176. {
  177. CreateTableInfo(poRow);
  178. }
  179. public void CreateTableInfo(DataRow poRow)
  180. {
  181. _IsAudit = UtilStr.StrFromObj(poRow[cIsAudit]);
  182. _LinkTel = UtilStr.StrFromObj(poRow[cLinkTel]);
  183. _MarketID = UtilStr.StrFromObj(poRow[cMarketID]);
  184. _MarketName = UtilStr.StrFromObj(poRow[cMarketName]);
  185. _Password = UtilStr.StrFromObj(poRow[cPassword]);
  186. _RegionID = UtilStr.StrFromObj(poRow[cRegionID]);
  187. _RegionName = UtilStr.StrFromObj(poRow[cRegionName]);
  188. _RegisterDate = UtilStr.StrFromObj(poRow[cRegisterDate]);
  189. _RegisterID = UtilStr.StrFromObj(poRow[cRegisterID]);
  190. _RegisterIP = UtilStr.StrFromObj(poRow[cRegisterIP]);
  191. _SystemID = UtilStr.StrFromObj(poRow[cSystemID]);
  192. _UserCode = UtilStr.StrFromObj(poRow[cUserCode]);
  193. _UserName = UtilStr.StrFromObj(poRow[cUserName]);
  194. _ValidEndTime = UtilStr.StrFromObj(poRow[cValidEndTime]);
  195. _ValidStartTime = UtilStr.StrFromObj(poRow[cValidStartTime]);
  196. _WarrantNumber = UtilStr.StrFromObj(poRow[cWarrantNumber]);
  197. }
  198. public SysRegisters_info(string pcRegisterID, DBConnSql poDBConn)
  199. {
  200. if (pcRegisterID.Trim().Length > 0 && poDBConn != null)
  201. {
  202. string lcSql = "select * from " + Tn.SysRegisters + " where RegisterID='" + pcRegisterID + "'";
  203. rsQuery loQuery = poDBConn.OpenQuery(lcSql);
  204. if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1)
  205. {
  206. loQuery.MoveFirst();
  207. CreateTableInfo(loQuery.CurrentRow);
  208. }
  209. }
  210. }
  211. private string _IsAudit = "";
  212. public string IsAudit
  213. {
  214. get { return _IsAudit; }
  215. set { _IsAudit = value; }
  216. }
  217. private string _LinkTel = "";
  218. public string LinkTel
  219. {
  220. get { return _LinkTel; }
  221. set { _LinkTel = value; }
  222. }
  223. private string _MarketID = "";
  224. public string MarketID
  225. {
  226. get { return _MarketID; }
  227. set { _MarketID = value; }
  228. }
  229. private string _MarketName = "";
  230. public string MarketName
  231. {
  232. get { return _MarketName; }
  233. set { _MarketName = value; }
  234. }
  235. private string _Password = "";
  236. public string Password
  237. {
  238. get { return SysSecLibs.SysSecurity.Decrypt(_Password); }
  239. set { _Password = SysSecLibs.SysSecurity.Encrypt(value); }
  240. }
  241. private string _RegionID = "";
  242. public string RegionID
  243. {
  244. get { return _RegionID; }
  245. set { _RegionID = value; }
  246. }
  247. private string _RegionName = "";
  248. public string RegionName
  249. {
  250. get { return _RegionName; }
  251. set { _RegionName = value; }
  252. }
  253. private string _RegisterDate = "";
  254. public string RegisterDate
  255. {
  256. get { return _RegisterDate; }
  257. set { _RegisterDate = value; }
  258. }
  259. private string _RegisterID = "";
  260. public string RegisterID
  261. {
  262. get { return _RegisterID; }
  263. set { _RegisterID = value; }
  264. }
  265. private string _RegisterIP = "";
  266. public string RegisterIP
  267. {
  268. get { return _RegisterIP; }
  269. set { _RegisterIP = value; }
  270. }
  271. private string _SystemID = "";
  272. public string SystemID
  273. {
  274. get { return _SystemID; }
  275. set { _SystemID = value; }
  276. }
  277. public string GroupID
  278. {
  279. get
  280. {
  281. string lcRetVal = "ViewG";
  282. if (!string.IsNullOrEmpty(SystemID))
  283. {
  284. if (SystemID == "Farmer")
  285. {
  286. lcRetVal = "FarmerG";
  287. }
  288. else if (SystemID == "GSSys")
  289. {
  290. lcRetVal = "GSSysG";
  291. }
  292. else if (SystemID == "Industry")
  293. {
  294. lcRetVal = "IndustryG";
  295. }
  296. else if (SystemID == "SuperMark")
  297. {
  298. lcRetVal = "SuperMarkG";
  299. }
  300. }
  301. return lcRetVal;
  302. }
  303. }
  304. private string _UserCode = "";
  305. public string UserCode
  306. {
  307. get { return _UserCode; }
  308. set { _UserCode = value; }
  309. }
  310. private string _UserName = "";
  311. public string UserName
  312. {
  313. get { return _UserName; }
  314. set { _UserName = value; }
  315. }
  316. private string _ValidEndTime = "";
  317. public string ValidEndTime
  318. {
  319. get { return _ValidEndTime; }
  320. set { _ValidEndTime = value; }
  321. }
  322. private string _ValidStartTime = "";
  323. public string ValidStartTime
  324. {
  325. get { return _ValidStartTime; }
  326. set { _ValidStartTime = value; }
  327. }
  328. private string _WarrantNumber = "";
  329. public string WarrantNumber
  330. {
  331. get { return _WarrantNumber; }
  332. set { _WarrantNumber = value; }
  333. }
  334. [ScriptIgnore]
  335. public rsXmlNode DataXMLNode
  336. {
  337. get
  338. {
  339. rsXmlNode loMainNode = new rsXmlNode("SysRegistersRecord", "");
  340. rsXmlNode loNode = null;
  341. loNode = new rsXmlNode(cIsAudit, IsAudit);
  342. loMainNode.AddChild(loNode);
  343. loNode = new rsXmlNode(cLinkTel, LinkTel);
  344. loMainNode.AddChild(loNode);
  345. loNode = new rsXmlNode(cMarketID, MarketID);
  346. loMainNode.AddChild(loNode);
  347. loNode = new rsXmlNode(cMarketName, MarketName);
  348. loMainNode.AddChild(loNode);
  349. loNode = new rsXmlNode(cPassword, Password);
  350. loMainNode.AddChild(loNode);
  351. loNode = new rsXmlNode(cRegionID, RegionID);
  352. loMainNode.AddChild(loNode);
  353. loNode = new rsXmlNode(cRegionName, RegionName);
  354. loMainNode.AddChild(loNode);
  355. loNode = new rsXmlNode(cRegisterDate, RegisterDate);
  356. loMainNode.AddChild(loNode);
  357. loNode = new rsXmlNode(cRegisterID, RegisterID);
  358. loMainNode.AddChild(loNode);
  359. loNode = new rsXmlNode(cRegisterIP, RegisterIP);
  360. loMainNode.AddChild(loNode);
  361. loNode = new rsXmlNode(cSystemID, SystemID);
  362. loMainNode.AddChild(loNode);
  363. loNode = new rsXmlNode(cUserCode, UserCode);
  364. loMainNode.AddChild(loNode);
  365. loNode = new rsXmlNode(cUserName, UserName);
  366. loMainNode.AddChild(loNode);
  367. loNode = new rsXmlNode(cValidEndTime, ValidEndTime);
  368. loMainNode.AddChild(loNode);
  369. loNode = new rsXmlNode(cValidStartTime, ValidStartTime);
  370. loMainNode.AddChild(loNode);
  371. loNode = new rsXmlNode(cWarrantNumber, WarrantNumber);
  372. loMainNode.AddChild(loNode);
  373. return loMainNode;
  374. }
  375. }
  376. public string InsertSql()
  377. {
  378. return " insert into " + Tn.SysRegisters + " " +
  379. " (" + cIsAudit + "," + cLinkTel + "," + cMarketID + "," + cMarketName + "," + cPassword + "," + cRegionID + "," + cRegionName + "," + cRegisterDate + "," + cRegisterID + "," + cRegisterIP + "," + cSystemID + "," + cUserCode + "," + cUserName + "," + cValidEndTime + "," + cValidStartTime + "," + cWarrantNumber + ") " +
  380. " values ('" + _IsAudit + "','" + _LinkTel + "','" + _MarketID + "','" + _MarketName + "','" + _Password + "','" + _RegionID + "','" + _RegionName + "','" + _RegisterDate + "','" + _RegisterID + "','" + _RegisterIP + "','" + _SystemID + "','" + _UserCode + "','" + _UserName + "','" + _ValidEndTime + "','" + _ValidStartTime + "','" + _WarrantNumber + "') ";
  381. }
  382. public string UpdateSql()
  383. {
  384. return " update " + Tn.SysRegisters + " " +
  385. " set " + cIsAudit + "='" + _IsAudit + "'," + cLinkTel + "='" + _LinkTel + "'," + cMarketID + "='" + _MarketID + "'," + cMarketName + "='" + _MarketName + "'," + cPassword + "='" + _Password + "'," + cRegionID + "='" + _RegionID + "'," + cRegionName + "='" + _RegionName + "'," + cRegisterDate + "='" + _RegisterDate + "'," + cRegisterIP + "='" + _RegisterIP + "'," + cSystemID + "='" + _SystemID + "'," + cUserCode + "='" + _UserCode + "'," + cUserName + "='" + _UserName + "'," + cValidEndTime + "='" + _ValidEndTime + "'," + cValidStartTime + "='" + _ValidStartTime + "'," + cWarrantNumber + "='" + _WarrantNumber + "' " +
  386. " where " + cRegisterID + "='" + _RegisterID + "'";
  387. }
  388. public string DeleteSql()
  389. {
  390. return "Delete " + Tn.SysRegisters + " where " + cRegisterID + "='" + _RegisterID + "'";
  391. }
  392. public bool AuditThisInfo(UserSession poSession)
  393. {
  394. //
  395. if (poSession.DBConn.BeginTrans())
  396. {
  397. string lcSql = " Update " + Tn.SysRegisters + " set " + SysRegisters_info.cIsAudit + "='Y' where " + SysRegisters_info.cRegisterID + "='" + _RegisterID + "'";
  398. if (poSession.DBConn.ExecuteSql(lcSql))
  399. {
  400. Sys_Users_info loUserInfo = new Sys_Users_info();
  401. loUserInfo.UserCode = this.UserCode;
  402. loUserInfo.Names = this.UserName;
  403. loUserInfo.SystemID = this.SystemID;
  404. loUserInfo.RegionID = this.RegionID;
  405. loUserInfo.Password = this.Password;
  406. loUserInfo.Telephone = this.LinkTel;
  407. loUserInfo.IsSystem = "N";
  408. loUserInfo.IsAdvance = "Y";
  409. loUserInfo.IsAudit = "Y";
  410. loUserInfo.IsLock = "N";
  411. loUserInfo.UserID = loUserInfo.SystemID + "_" + loUserInfo.UserCode;
  412. loUserInfo.FarmID = SysDataLibs.AppEnv.SysSetObj.GetString("DEFULTFARMID");
  413. loUserInfo.DepartmentID = SysDataLibs.AppEnv.SysSetObj.GetString("DEFAULTDEPARTMENTID");
  414. loUserInfo.DutyID = SysDataLibs.AppEnv.SysSetObj.GetString("DEFAULTDUTYID");
  415. loUserInfo.CreateDate = DateTime.Now.ToShortDateString();
  416. loUserInfo.CreateUser = poSession.UserInfo.UserID;
  417. Markets_info loMarket = new Markets_info();
  418. loMarket.MarketID = this.MarketID;
  419. loMarket.Names = this.MarketName;
  420. loMarket.RegionID = this.RegionID;
  421. loMarket.MarketTypeID = SysDataLibs.AppEnv.SysSetObj.GetString("DEFAULTMARKETTYPEID");//
  422. loMarket.IsLock = "0";
  423. loMarket.AuditFlag = "0";
  424. loMarket.MarketSellerNum = "0";
  425. loMarket.Area = "0";
  426. loMarket.Turnover = "0";
  427. loMarket.PractiseTime = DateTime.Now.ToShortDateString();
  428. MarketHasWarrant_info loWarrant = new MarketHasWarrant_info();
  429. loWarrant.WarrantNumber = this.WarrantNumber;
  430. loWarrant.ValidStartTime = this.ValidStartTime;
  431. loWarrant.ValidEndTime = this.ValidEndTime;
  432. loWarrant.MarketID = this.MarketID;
  433. loWarrant.WarrantStyle = "1";
  434. loWarrant.WarrantTypeID = "1";
  435. UserHasMarket_info loUserMarket = new UserHasMarket_info();
  436. loUserMarket.MarketID = this.MarketID;
  437. loUserMarket.UserID = loUserInfo.UserID;
  438. Sys_GroupHasUser_info loGroupHasUser = new Sys_GroupHasUser_info();
  439. loGroupHasUser.UserID = loUserInfo.UserID;
  440. loGroupHasUser.GroupID = this.GroupID;
  441. lcSql = loUserInfo.InsertSql() + " \r\n ";
  442. lcSql += loMarket.InsertSql() + " \r\n ";
  443. lcSql += loWarrant.InsertSql() + " \r\n ";
  444. if (poSession.DBConn.ExecuteSql(lcSql))
  445. {
  446. if (poSession.DBConn.CommitTrans())
  447. {
  448. //poSession.DBConn.ExcuteSqlTran(loGroupHasUser.InsertSql());
  449. Sys_GroupHasUser_info.UpdateUserToGroup(loGroupHasUser.UserID, loGroupHasUser.GroupID, poSession.DBConn);
  450. return poSession.DBConn.ExcuteSqlTran(loUserMarket.InsertSql());
  451. }
  452. else
  453. poSession.DBConn.RollbackTrans();
  454. }
  455. else
  456. poSession.DBConn.RollbackTrans();
  457. }
  458. else
  459. poSession.DBConn.RollbackTrans();
  460. }
  461. return false;
  462. }
  463. }
  464. #endregion
  465. #region
  466. public class SysRegisters_Qry : rsQuery
  467. {
  468. public Boolean IsAudit
  469. {
  470. get { return GetBool(SysRegisters_info.cIsAudit); }
  471. // set { SetField(SysRegisters_info.cIsAudit, value); }
  472. }
  473. public String LinkTel
  474. {
  475. get { return GetString(SysRegisters_info.cLinkTel); }
  476. // set { SetField(SysRegisters_info.cLinkTel, value); }
  477. }
  478. public String MarketID
  479. {
  480. get { return GetString(SysRegisters_info.cMarketID); }
  481. // set { SetField(SysRegisters_info.cMarketID, value); }
  482. }
  483. public String MarketName
  484. {
  485. get { return GetString(SysRegisters_info.cMarketName); }
  486. // set { SetField(SysRegisters_info.cMarketName, value); }
  487. }
  488. public String Password
  489. {
  490. get { return GetString(SysRegisters_info.cPassword); }
  491. // set { SetField(SysRegisters_info.cPassword, value); }
  492. }
  493. public String RegionID
  494. {
  495. get { return GetString(SysRegisters_info.cRegionID); }
  496. // set { SetField(SysRegisters_info.cRegionID, value); }
  497. }
  498. public String RegionName
  499. {
  500. get { return GetString(SysRegisters_info.cRegionName); }
  501. // set { SetField(SysRegisters_info.cRegionName, value); }
  502. }
  503. public DateTime RegisterDate
  504. {
  505. get { return GetDateTime(SysRegisters_info.cRegisterDate); }
  506. // set { SetField(SysRegisters_info.cRegisterDate, value); }
  507. }
  508. public String RegisterID
  509. {
  510. get { return GetString(SysRegisters_info.cRegisterID); }
  511. // set { SetField(SysRegisters_info.cRegisterID, value); }
  512. }
  513. public String RegisterIP
  514. {
  515. get { return GetString(SysRegisters_info.cRegisterIP); }
  516. // set { SetField(SysRegisters_info.cRegisterIP, value); }
  517. }
  518. public String SystemID
  519. {
  520. get { return GetString(SysRegisters_info.cSystemID); }
  521. // set { SetField(SysRegisters_info.cSystemID, value); }
  522. }
  523. public String UserCode
  524. {
  525. get { return GetString(SysRegisters_info.cUserCode); }
  526. // set { SetField(SysRegisters_info.cUserCode, value); }
  527. }
  528. public String UserName
  529. {
  530. get { return GetString(SysRegisters_info.cUserName); }
  531. // set { SetField(SysRegisters_info.cUserName, value); }
  532. }
  533. public DateTime ValidEndTime
  534. {
  535. get { return GetDateTime(SysRegisters_info.cValidEndTime); }
  536. // set { SetField(SysRegisters_info.cValidEndTime, value); }
  537. }
  538. public DateTime ValidStartTime
  539. {
  540. get { return GetDateTime(SysRegisters_info.cValidStartTime); }
  541. // set { SetField(SysRegisters_info.cValidStartTime, value); }
  542. }
  543. public String WarrantNumber
  544. {
  545. get { return GetString(SysRegisters_info.cWarrantNumber); }
  546. // set { SetField(SysRegisters_info.cWarrantNumber, value); }
  547. }
  548. }
  549. #endregion
  550. }