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
}