Regions_info.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  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 Regions
  10. public class Regions_info : ITableInfo
  11. {
  12. #region Regions表 字段信息
  13. /// <summary>
  14. /// 为关键字段: N ;
  15. /// 自动增长: N;
  16. /// 数据类型: int;
  17. /// 数据长度: 4;
  18. /// 是否允许为空: N;
  19. /// 默认值: (0);
  20. /// 描述: Depth;
  21. /// </summary>
  22. public const string cDepth = "Depth";
  23. /// <summary>
  24. /// 为关键字段: N ;
  25. /// 自动增长: N;
  26. /// 数据类型: char;
  27. /// 数据长度: 10;
  28. /// 是否允许为空: N;
  29. /// 默认值: ;
  30. /// 描述: FatherRegionID;
  31. /// </summary>
  32. public const string cFatherRegionID = "FatherRegionID";
  33. /// <summary>
  34. /// 为关键字段: N ;
  35. /// 自动增长: N;
  36. /// 数据类型: int;
  37. /// 数据长度: 4;
  38. /// 是否允许为空: N;
  39. /// 默认值: ;
  40. /// 描述: IsLeaf;
  41. /// </summary>
  42. public const string cIsLeaf = "IsLeaf";
  43. /// <summary>
  44. /// 为关键字段: N ;
  45. /// 自动增长: N;
  46. /// 数据类型: int;
  47. /// 数据长度: 4;
  48. /// 是否允许为空: N;
  49. /// 默认值: (0);
  50. /// 描述: IsLock;
  51. /// </summary>
  52. public const string cIsLock = "IsLock";
  53. /// <summary>
  54. /// 为关键字段: N ;
  55. /// 自动增长: N;
  56. /// 数据类型: varchar;
  57. /// 数据长度: 30;
  58. /// 是否允许为空: N;
  59. /// 默认值: ;
  60. /// 描述: Names;
  61. /// </summary>
  62. public const string cNames = "Names";
  63. /// <summary>
  64. /// 为关键字段: N ;
  65. /// 自动增长: N;
  66. /// 数据类型: varchar;
  67. /// 数据长度: 220;
  68. /// 是否允许为空: N;
  69. /// 默认值: ;
  70. /// 描述: Path;
  71. /// </summary>
  72. public const string cPath = "Path";
  73. /// <summary>
  74. /// 为关键字段: Y --- PrimaryKey;
  75. /// 自动增长: N;
  76. /// 数据类型: char;
  77. /// 数据长度: 10;
  78. /// 是否允许为空: N;
  79. /// 默认值: ;
  80. /// 描述: RegionID;
  81. /// </summary>
  82. public const string cRegionID = "RegionID";
  83. /// <summary>
  84. /// 为关键字段: N ;
  85. /// 自动增长: N;
  86. /// 数据类型: int;
  87. /// 数据长度: 4;
  88. /// 是否允许为空: N;
  89. /// 默认值: (0);
  90. /// 描述: Sort;
  91. /// </summary>
  92. public const string cSort = "Sort";
  93. /// <summary>
  94. /// 为关键字段: N ;
  95. /// 自动增长: N;
  96. /// 数据类型: varchar;
  97. /// 数据长度: 80;
  98. /// 是否允许为空: Y;
  99. /// 默认值: ;
  100. /// 描述: URL;
  101. /// </summary>
  102. public const string cURL = "URL";
  103. #endregion
  104. public Regions_info() { }
  105. public Regions_info(DataRow poRow)
  106. {
  107. CreateTableInfo(poRow);
  108. }
  109. public void CreateTableInfo(DataRow poRow)
  110. {
  111. _Depth = UtilStr.StrFromObj(poRow[cDepth]);
  112. _FatherRegionID = UtilStr.StrFromObj(poRow[cFatherRegionID]);
  113. _IsLeaf = UtilStr.StrFromObj(poRow[cIsLeaf]);
  114. _IsLock = UtilStr.StrFromObj(poRow[cIsLock]);
  115. _Names = UtilStr.StrFromObj(poRow[cNames]);
  116. _Path = UtilStr.StrFromObj(poRow[cPath]);
  117. _RegionID = UtilStr.StrFromObj(poRow[cRegionID]);
  118. _Sort = UtilStr.StrFromObj(poRow[cSort]);
  119. _URL = UtilStr.StrFromObj(poRow[cURL]);
  120. }
  121. public Regions_info(string pcRegionID, DBConnSql poDBConn)
  122. {
  123. if (pcRegionID.Trim().Length > 0 && poDBConn != null)
  124. {
  125. string lcSql = "select * from " + Tn.Regions + " where RegionID='" + pcRegionID + "'";
  126. rsQuery loQuery = poDBConn.OpenQuery(lcSql);
  127. if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1)
  128. {
  129. loQuery.MoveFirst();
  130. CreateTableInfo(loQuery.CurrentRow);
  131. }
  132. }
  133. }
  134. private string _Depth = "";
  135. public string Depth
  136. {
  137. get { return _Depth; }
  138. set { _Depth = value; }
  139. }
  140. private string _FatherRegionID = "";
  141. public string FatherRegionID
  142. {
  143. get { return _FatherRegionID; }
  144. set { _FatherRegionID = value; }
  145. }
  146. private string _IsLeaf = "";
  147. public string IsLeaf
  148. {
  149. get { return _IsLeaf; }
  150. set { _IsLeaf = value; }
  151. }
  152. private string _IsLock = "";
  153. public string IsLock
  154. {
  155. get { return _IsLock; }
  156. set { _IsLock = value; }
  157. }
  158. private string _Names = "";
  159. public string Names
  160. {
  161. get { return _Names; }
  162. set { _Names = value; }
  163. }
  164. private string _Path = "";
  165. public string Path
  166. {
  167. get { return _Path; }
  168. set { _Path = value; }
  169. }
  170. private string _RegionID = "";
  171. public string RegionID
  172. {
  173. get { return _RegionID; }
  174. set { _RegionID = value; }
  175. }
  176. private string _Sort = "";
  177. public string Sort
  178. {
  179. get { return _Sort; }
  180. set { _Sort = value; }
  181. }
  182. private string _URL = "";
  183. public string URL
  184. {
  185. get { return _URL; }
  186. set { _URL = value; }
  187. }
  188. [ScriptIgnore]
  189. public rsXmlNode DataXMLNode
  190. {
  191. get
  192. {
  193. rsXmlNode loMainNode = new rsXmlNode("RegionsRecord", "");
  194. rsXmlNode loNode = null;
  195. loNode = new rsXmlNode(cDepth, Depth);
  196. loMainNode.AddChild(loNode);
  197. loNode = new rsXmlNode(cFatherRegionID, FatherRegionID);
  198. loMainNode.AddChild(loNode);
  199. loNode = new rsXmlNode(cIsLeaf, IsLeaf);
  200. loMainNode.AddChild(loNode);
  201. loNode = new rsXmlNode(cIsLock, IsLock);
  202. loMainNode.AddChild(loNode);
  203. loNode = new rsXmlNode(cNames, Names);
  204. loMainNode.AddChild(loNode);
  205. loNode = new rsXmlNode(cPath, Path);
  206. loMainNode.AddChild(loNode);
  207. loNode = new rsXmlNode(cRegionID, RegionID);
  208. loMainNode.AddChild(loNode);
  209. loNode = new rsXmlNode(cSort, Sort);
  210. loMainNode.AddChild(loNode);
  211. loNode = new rsXmlNode(cURL, URL);
  212. loMainNode.AddChild(loNode);
  213. return loMainNode;
  214. }
  215. }
  216. public string InsertSql()
  217. {
  218. return " insert into " + Tn.Regions + " " +
  219. " (" + cDepth + "," + cFatherRegionID + "," + cIsLeaf + "," + cIsLock + "," + cNames + "," + cPath + "," + cRegionID + "," + cSort + "," + cURL + ") " +
  220. " values (" + _Depth + ",'" + _FatherRegionID + "'," + _IsLeaf + "," + _IsLock + ",'" + _Names + "','" + _Path + "','" + _RegionID + "'," + _Sort + ",'" + _URL + "') ";
  221. }
  222. public string UpdateSql()
  223. {
  224. return " update " + Tn.Regions + " " +
  225. " set " + cNames + "='" + _Names + "'," + cURL + "='" + _URL + "' " +
  226. " where " + cRegionID + "='" + _RegionID + "'";
  227. }
  228. public string DeleteSql()
  229. {
  230. return "Delete " + Tn.Regions + " where " + cRegionID + "='" + _RegionID + "'";
  231. }
  232. public static rsXmlNode GetRegionXmlNode(UserSession poSession)
  233. {
  234. rsXmlNode loRetVal = new rsXmlNode("Regions", "");
  235. rsXmlNode loMainNode = GetRegionXmlNode(poSession.DBConn);
  236. rsXmlNode loChildNode = MyUtils.GetChildNode(loMainNode, poSession.UserInfo.RegionID);
  237. loRetVal.AddChild(loChildNode);
  238. return loRetVal;
  239. }
  240. public static rsXmlNode GetRegionXmlNode(DBConnSql poDBConn, string pcRegionID)
  241. {
  242. rsXmlNode loRetVal = new rsXmlNode("Regions", "");
  243. rsXmlNode loMainNode = GetRegionXmlNode(poDBConn);
  244. rsXmlNode loChildNode = MyUtils.GetChildNode(loMainNode, pcRegionID);
  245. loRetVal.AddChild(loChildNode);
  246. return loRetVal;
  247. }
  248. public static rsXmlNode GetRegionXmlNode(DBConnSql poDBConn)
  249. {
  250. rsXmlNode loRetVal = null;
  251. if (poDBConn != null && poDBConn.IsOpened)
  252. {
  253. string lcSql = " select * from Regions where IsLock=0 order By depth,Sort ";
  254. rsQuery loQuery = poDBConn.OpenQuery(lcSql);
  255. if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
  256. {
  257. loRetVal = new rsXmlNode("Regions", "");
  258. //loQuery.FilterBy("Depth=0");
  259. loQuery.MoveFirst();
  260. for (int i = 0; i < loQuery.RecCount; i++)
  261. {
  262. rsXmlNode loNode = new rsXmlNode(loQuery.GetString("RegionID"), loQuery.GetString("Names"));
  263. loNode.Depth = loQuery.GetInt("Depth");
  264. string lcFather = loQuery.GetString("FatherRegionID");
  265. rsXmlNode loFather = MyUtils.GetChildNode(loRetVal, lcFather);
  266. if (loFather != null)
  267. {
  268. loFather.AddChild(loNode);
  269. }
  270. else
  271. {
  272. loRetVal.AddChild(loNode);
  273. }
  274. loQuery.MoveNext();
  275. }
  276. }
  277. }
  278. return loRetVal;
  279. }
  280. public static string GetAllRegion(UserSession poSession, string pcRegionId)
  281. {
  282. return GetAllRegion(poSession.DBConn, pcRegionId);
  283. }
  284. public static string GetAllRegion(DBConnSql poDBConn, string pcRegionId)
  285. {
  286. if (string.IsNullOrEmpty(pcRegionId))
  287. {
  288. return "";
  289. }
  290. string lcRetVal = "'" + pcRegionId + "'";
  291. rsXmlNode loMainXml = GetRegionXmlNode(poDBConn);
  292. if (loMainXml != null && loMainXml.Nodes.Count > 0)
  293. {
  294. rsXmlNode loXMLNode = MyUtils.GetChildNode(loMainXml, pcRegionId);
  295. List<rsXmlNode> loList = MyUtils.GetAllChildNode(loXMLNode);
  296. if (loList != null && loList.Count > 0)
  297. {
  298. foreach (rsXmlNode loNode in loList)
  299. {
  300. if (loNode != null)
  301. lcRetVal += ",'" + loNode.Name.Trim() + "'";
  302. }
  303. }
  304. }
  305. return lcRetVal;
  306. }
  307. }
  308. #endregion
  309. #region
  310. public class Regions_Qry : rsQuery
  311. {
  312. public Int64 Depth
  313. {
  314. get { return GetInt(Regions_info.cDepth); }
  315. // set { SetField(Regions_info.cDepth, value); }
  316. }
  317. public String FatherRegionID
  318. {
  319. get { return GetString(Regions_info.cFatherRegionID); }
  320. // set { SetField(Regions_info.cFatherRegionID, value); }
  321. }
  322. public Int64 IsLeaf
  323. {
  324. get { return GetInt(Regions_info.cIsLeaf); }
  325. // set { SetField(Regions_info.cIsLeaf, value); }
  326. }
  327. public Int64 IsLock
  328. {
  329. get { return GetInt(Regions_info.cIsLock); }
  330. // set { SetField(Regions_info.cIsLock, value); }
  331. }
  332. public String Names
  333. {
  334. get { return GetString(Regions_info.cNames); }
  335. // set { SetField(Regions_info.cNames, value); }
  336. }
  337. public String Path
  338. {
  339. get { return GetString(Regions_info.cPath); }
  340. // set { SetField(Regions_info.cPath, value); }
  341. }
  342. public String RegionID
  343. {
  344. get { return GetString(Regions_info.cRegionID); }
  345. // set { SetField(Regions_info.cRegionID, value); }
  346. }
  347. public Int64 Sort
  348. {
  349. get { return GetInt(Regions_info.cSort); }
  350. // set { SetField(Regions_info.cSort, value); }
  351. }
  352. public String URL
  353. {
  354. get { return GetString(Regions_info.cURL); }
  355. // set { SetField(Regions_info.cURL, value); }
  356. }
  357. }
  358. #endregion
  359. }