using System; using System.Collections.Generic; using System.Text; using System.Data; using SysBaseLibs; using System.Web.Script.Serialization; namespace SysDataLibs.TableClass { #region Regions public class Regions_info : ITableInfo { #region Regions表 字段信息 /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: int; /// 数据长度: 4; /// 是否允许为空: N; /// 默认值: (0); /// 描述: Depth; /// public const string cDepth = "Depth"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: char; /// 数据长度: 10; /// 是否允许为空: N; /// 默认值: ; /// 描述: FatherRegionID; /// public const string cFatherRegionID = "FatherRegionID"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: int; /// 数据长度: 4; /// 是否允许为空: N; /// 默认值: ; /// 描述: IsLeaf; /// public const string cIsLeaf = "IsLeaf"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: int; /// 数据长度: 4; /// 是否允许为空: N; /// 默认值: (0); /// 描述: IsLock; /// public const string cIsLock = "IsLock"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: varchar; /// 数据长度: 30; /// 是否允许为空: N; /// 默认值: ; /// 描述: Names; /// public const string cNames = "Names"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: varchar; /// 数据长度: 220; /// 是否允许为空: N; /// 默认值: ; /// 描述: Path; /// public const string cPath = "Path"; /// /// 为关键字段: Y --- PrimaryKey; /// 自动增长: N; /// 数据类型: char; /// 数据长度: 10; /// 是否允许为空: N; /// 默认值: ; /// 描述: RegionID; /// public const string cRegionID = "RegionID"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: int; /// 数据长度: 4; /// 是否允许为空: N; /// 默认值: (0); /// 描述: Sort; /// public const string cSort = "Sort"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: varchar; /// 数据长度: 80; /// 是否允许为空: Y; /// 默认值: ; /// 描述: URL; /// public const string cURL = "URL"; #endregion public Regions_info() { } public Regions_info(DataRow poRow) { CreateTableInfo(poRow); } public void CreateTableInfo(DataRow poRow) { _Depth = UtilStr.StrFromObj(poRow[cDepth]); _FatherRegionID = UtilStr.StrFromObj(poRow[cFatherRegionID]); _IsLeaf = UtilStr.StrFromObj(poRow[cIsLeaf]); _IsLock = UtilStr.StrFromObj(poRow[cIsLock]); _Names = UtilStr.StrFromObj(poRow[cNames]); _Path = UtilStr.StrFromObj(poRow[cPath]); _RegionID = UtilStr.StrFromObj(poRow[cRegionID]); _Sort = UtilStr.StrFromObj(poRow[cSort]); _URL = UtilStr.StrFromObj(poRow[cURL]); } public Regions_info(string pcRegionID, DBConnSql poDBConn) { if (pcRegionID.Trim().Length > 0 && poDBConn != null) { string lcSql = "select * from " + Tn.Regions + " where RegionID='" + pcRegionID + "'"; rsQuery loQuery = poDBConn.OpenQuery(lcSql); if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1) { loQuery.MoveFirst(); CreateTableInfo(loQuery.CurrentRow); } } } private string _Depth = ""; public string Depth { get { return _Depth; } set { _Depth = value; } } private string _FatherRegionID = ""; public string FatherRegionID { get { return _FatherRegionID; } set { _FatherRegionID = value; } } private string _IsLeaf = ""; public string IsLeaf { get { return _IsLeaf; } set { _IsLeaf = value; } } private string _IsLock = ""; public string IsLock { get { return _IsLock; } set { _IsLock = value; } } private string _Names = ""; public string Names { get { return _Names; } set { _Names = value; } } private string _Path = ""; public string Path { get { return _Path; } set { _Path = value; } } private string _RegionID = ""; public string RegionID { get { return _RegionID; } set { _RegionID = value; } } private string _Sort = ""; public string Sort { get { return _Sort; } set { _Sort = value; } } private string _URL = ""; public string URL { get { return _URL; } set { _URL = value; } } [ScriptIgnore] public rsXmlNode DataXMLNode { get { rsXmlNode loMainNode = new rsXmlNode("RegionsRecord", ""); rsXmlNode loNode = null; loNode = new rsXmlNode(cDepth, Depth); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cFatherRegionID, FatherRegionID); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cIsLeaf, IsLeaf); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cIsLock, IsLock); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cNames, Names); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cPath, Path); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cRegionID, RegionID); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cSort, Sort); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cURL, URL); loMainNode.AddChild(loNode); return loMainNode; } } public string InsertSql() { return " insert into " + Tn.Regions + " " + " (" + cDepth + "," + cFatherRegionID + "," + cIsLeaf + "," + cIsLock + "," + cNames + "," + cPath + "," + cRegionID + "," + cSort + "," + cURL + ") " + " values (" + _Depth + ",'" + _FatherRegionID + "'," + _IsLeaf + "," + _IsLock + ",'" + _Names + "','" + _Path + "','" + _RegionID + "'," + _Sort + ",'" + _URL + "') "; } public string UpdateSql() { return " update " + Tn.Regions + " " + " set " + cNames + "='" + _Names + "'," + cURL + "='" + _URL + "' " + " where " + cRegionID + "='" + _RegionID + "'"; } public string DeleteSql() { return "Delete " + Tn.Regions + " where " + cRegionID + "='" + _RegionID + "'"; } public static rsXmlNode GetRegionXmlNode(UserSession poSession) { rsXmlNode loRetVal = new rsXmlNode("Regions", ""); rsXmlNode loMainNode = GetRegionXmlNode(poSession.DBConn); rsXmlNode loChildNode = MyUtils.GetChildNode(loMainNode, poSession.UserInfo.RegionID); loRetVal.AddChild(loChildNode); return loRetVal; } public static rsXmlNode GetRegionXmlNode(DBConnSql poDBConn, string pcRegionID) { rsXmlNode loRetVal = new rsXmlNode("Regions", ""); rsXmlNode loMainNode = GetRegionXmlNode(poDBConn); rsXmlNode loChildNode = MyUtils.GetChildNode(loMainNode, pcRegionID); loRetVal.AddChild(loChildNode); return loRetVal; } public static rsXmlNode GetRegionXmlNode(DBConnSql poDBConn) { rsXmlNode loRetVal = null; if (poDBConn != null && poDBConn.IsOpened) { string lcSql = " select * from Regions where IsLock=0 order By depth,Sort "; rsQuery loQuery = poDBConn.OpenQuery(lcSql); if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0) { loRetVal = new rsXmlNode("Regions", ""); //loQuery.FilterBy("Depth=0"); loQuery.MoveFirst(); for (int i = 0; i < loQuery.RecCount; i++) { rsXmlNode loNode = new rsXmlNode(loQuery.GetString("RegionID"), loQuery.GetString("Names")); loNode.Depth = loQuery.GetInt("Depth"); string lcFather = loQuery.GetString("FatherRegionID"); rsXmlNode loFather = MyUtils.GetChildNode(loRetVal, lcFather); if (loFather != null) { loFather.AddChild(loNode); } else { loRetVal.AddChild(loNode); } loQuery.MoveNext(); } } } return loRetVal; } public static string GetAllRegion(UserSession poSession, string pcRegionId) { return GetAllRegion(poSession.DBConn, pcRegionId); } public static string GetAllRegion(DBConnSql poDBConn, string pcRegionId) { if (string.IsNullOrEmpty(pcRegionId)) { return ""; } string lcRetVal = "'" + pcRegionId + "'"; rsXmlNode loMainXml = GetRegionXmlNode(poDBConn); if (loMainXml != null && loMainXml.Nodes.Count > 0) { rsXmlNode loXMLNode = MyUtils.GetChildNode(loMainXml, pcRegionId); List loList = MyUtils.GetAllChildNode(loXMLNode); if (loList != null && loList.Count > 0) { foreach (rsXmlNode loNode in loList) { if (loNode != null) lcRetVal += ",'" + loNode.Name.Trim() + "'"; } } } return lcRetVal; } } #endregion #region public class Regions_Qry : rsQuery { public Int64 Depth { get { return GetInt(Regions_info.cDepth); } // set { SetField(Regions_info.cDepth, value); } } public String FatherRegionID { get { return GetString(Regions_info.cFatherRegionID); } // set { SetField(Regions_info.cFatherRegionID, value); } } public Int64 IsLeaf { get { return GetInt(Regions_info.cIsLeaf); } // set { SetField(Regions_info.cIsLeaf, value); } } public Int64 IsLock { get { return GetInt(Regions_info.cIsLock); } // set { SetField(Regions_info.cIsLock, value); } } public String Names { get { return GetString(Regions_info.cNames); } // set { SetField(Regions_info.cNames, value); } } public String Path { get { return GetString(Regions_info.cPath); } // set { SetField(Regions_info.cPath, value); } } public String RegionID { get { return GetString(Regions_info.cRegionID); } // set { SetField(Regions_info.cRegionID, value); } } public Int64 Sort { get { return GetInt(Regions_info.cSort); } // set { SetField(Regions_info.cSort, value); } } public String URL { get { return GetString(Regions_info.cURL); } // set { SetField(Regions_info.cURL, value); } } } #endregion }