2025-03-27 15:05:14 +08:00

918 lines
43 KiB
C#

using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.ServiceModel;
using SuperMap.RealEstate.Web.UI.WebControls;
using SuperMap.RealEstate.Web.Utility;
using SuperMap.RealEstate.CoreFrameWork;
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
using FWB = SuperMap.RealEstate.FrameWork.Business;
using WFSB = SuperMap.RealEstate.WorkFlow.Support.Business;
using HZQR.Common;
namespace Personnel.WebSite.Modules.Roles
{
public partial class BasePage : SuperMap.RealEstate.Web.UI.PageValid
{
#region -> RoleType.GetParentRoleType
/// <summary>
/// 父对象
/// </summary>
public FWB.RoleType GetParentRoleType(FWB.RoleType _RoleType, Transaction _Transaction)
{
FWB.RoleType _Parent = null;
if ((_RoleType.RoleType_PID.HasValue) && (_RoleType.RoleType_PID.Value != -1))
{
_Parent = new FWB.RoleType(_Transaction);
_Parent.AddSearchParameter("RoleType_ID", _RoleType.RoleType_PID);
if (!_Parent.Search())
{
_Parent.Dispose();
_Parent = null;
}
}
return _Parent;
}
#endregion
#region -> UserType.Parent
FWB.UserType _Parent = null;
/// <summary />
public FWB.UserType Parent
{
get { return _Parent; }
set { _Parent = value; }
}
/// <summary>
/// 父对象
/// </summary>
public FWB.UserType GetParent(FWB.UserType _UserType, Transaction _Transaction)
{
if ((_UserType.UserType_PID != null) && (_UserType.UserType_PID.HasValue) && (_UserType.UserType_PID.Value != -1))
{
_Parent = new FWB.UserType(_Transaction);
if (this.Transaction != null)
{
_Parent.Transaction = Transaction;
}
_Parent.AddSearchParameter("UserType_ID", _UserType.UserType_PID);
if (!_Parent.Search())
{
_Parent.Dispose();
_Parent = null;
}
}
return _Parent;
}
#endregion
#region ->
public static void GetItem(string FieldExplain_Field, List<ListItemEx> items, Transaction transaction, string pid,
DataTable _DataTable = null, int level = 0, string OtherCondition = "")
{
if (_DataTable == null)
{
FieldExplain _FieldExplain = DictionaryHelper.GetFieldExplain(FieldExplain_Field, transaction);
FieldEnum _FieldEnum = new FieldEnum(_FieldExplain);
_DataTable = _FieldEnum.GetBindingDataSource(_FieldExplain.FieldExplain_ID.ToString(), string.Empty, string.Empty);
}
//过滤
foreach (DataRow _DataRow in _DataTable.Rows)
{
if (_DataRow["FieldEnum_PID"].ToString() != pid)
{
continue;
}
if (_DataRow["FieldEnum_Value"].ToString() != OtherCondition)
{
ListItemEx _ListItem = new ListItemEx();
_ListItem.Value = _DataRow["FieldEnum_Value"].ToString();
_ListItem.Text = _DataRow["FieldEnum_Name"].ToString();
_ListItem.Level = level;
if (_DataRow["FieldEnum_Status"].ToString() != "1")
{
_ListItem.Enabled = false;
}
else
{
_ListItem.Enabled = true;
}
items.Add(_ListItem);
GetItem(FieldExplain_Field, items, transaction, _DataRow["FieldEnum_ID"].ToString(), _DataTable, level + 1);
}
}
}
#endregion
#region -> GetBindingDataSource
/// <summary />
public static DataTable GetBindingDataSource(string pid, Transaction _Transaction)
{
return GetBindingDataSource(pid, string.Empty, _Transaction, "UserType", "");
}
/// <summary />
public static DataTable GetBindingDataSource(string pid, string obscureName, Transaction _Transaction,
string DataType = "UserType", string OtherCondition = "")
{
DataTable DataSource = new DataTable();
string format = "", arg2 = "", arg3 = "", fullSQLString = "";
switch (DataType)
{
case "RoleType":
format = "select * from T_RoleType where {0} {1} order by RoleType_PID,RoleType_Index,RoleType_ID";
arg2 = string.IsNullOrEmpty(pid) ? "1 = 1" : "RoleType_PID = " + pid;
arg3 = string.IsNullOrEmpty(obscureName) ? "" : " AND RoleType_Name LIKE '%" + obscureName + "%'";
fullSQLString = string.Format(format, arg2, arg3 + OtherCondition);
FWB.RoleType _RoleType = new FWB.RoleType(_Transaction);
DataSource = _RoleType.ExecuteDataTable(fullSQLString, null, 0, 0);
break;
case "UserType":
format = "SELECT * FROM PLATFORM_FRAMEWORK.T_USERTYPE WHERE {0} {1} ORDER BY USERTYPE_PID,USERTYPE_INDEX,USERTYPE_NAME";
arg2 = string.IsNullOrEmpty(pid) ? "1 = 1" : "USERTYPE_PID = " + pid;
arg3 = string.IsNullOrEmpty(obscureName) ? "" : " AND USERTYPE_NAME LIKE '%" + obscureName + "%'";
fullSQLString = string.Format(format, arg2, arg3 + OtherCondition);
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
DataSource = _USERTYPE.ExecuteDataTable(fullSQLString, null, 0, 0);
break;
case "ProDefType":
format = "SELECT * FROM WORKFLOW_SUPPORT.T_ProDefType WHERE {0} {1} ORDER BY PRODEFTYPE_PID,PRODEFTYPE_INDEX,PRODEFTYPE_NAME";
arg2 = string.IsNullOrEmpty(pid) ? "1 = 1" : "PRODEFTYPE_PID = " + pid;
arg3 = string.IsNullOrEmpty(obscureName) ? "" : " AND PRODEFTYPE_NAME LIKE '%" + obscureName + "%'";
fullSQLString = string.Format(format, arg2, arg3 + OtherCondition);
WFSB.ProDefType _ProDefType = new WFSB.ProDefType(_Transaction);
DataSource = _ProDefType.ExecuteDataTable(fullSQLString, null, 0, 0);
break;
case "ProDef":
format = "SELECT * FROM WORKFLOW_SUPPORT.T_ProDef WHERE {0} {1} ORDER BY PRODEFTYPE_ID,PRODEF_INDEX,PRODEF_NAME";
arg2 = string.IsNullOrEmpty(pid) ? "1 = 1" : "PRODEFTYPE_ID = " + pid;
arg3 = string.IsNullOrEmpty(obscureName) ? "" : " AND PRODEF_NAME LIKE '%" + obscureName + "%'";
fullSQLString = string.Format(format, arg2, arg3 + OtherCondition);
WFSB.ProDef _ProDef = new WFSB.ProDef(_Transaction);
DataSource = _ProDef.ExecuteDataTable(fullSQLString, null, 0, 0);
break;
}
return DataSource;
}
#endregion
#region -> BindingTreeView
public static void BindingTreeView(Transaction _Transaction, string pid, TreeNodeCollection nodes, string DataType, string obscureName,
bool withChildNodes, string ID_Encrypt, bool IsUser = false, string CanUrl = "", string UserCanUrl = "", bool ShowCheckBoxes = false,
string OtherCondition = "", string OtherUserCondition = "", DataTable _DataTable = null, DataTable UserTable = null, bool IsShowDefault = true)
{
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
if (_DataTable == null || UserTable == null)
{
_DataTable = GetBindingDataSource("", string.Empty, _Transaction, DataType, OtherCondition);
}
DataRow[] DataRowList = null;
string NextPID = "";
switch (DataType)
{
case "RoleType":
DataRowList = _DataTable.Select("RoleType_PID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
if (UserTable == null)
{
UserTable = _USERTYPE.ExecuteDataTable("SELECT * FROM PLATFORM_FRAMEWORK.T_Role WHERE 1=1" + OtherUserCondition);
}
break;
case "UserType":
DataRowList = _DataTable.Select("USERTYPE_PID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
if (UserTable == null)
{
UserTable = _USERTYPE.ExecuteDataTable("SELECT * FROM PLATFORM_FRAMEWORK.T_USER WHERE 1=1" + OtherUserCondition);
}
break;
case "ProDefType":
DataRowList = _DataTable.Select("PRODEFTYPE_PID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
break;
case "ProDef":
DataRowList = _DataTable.Select("PRODEFTYPE_ID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
break;
}
foreach (DataRow _DataRow in DataRowList)
{
TreeNode treeNode = new TreeNode();
treeNode.ShowCheckBox = ShowCheckBoxes;
switch (DataType)
{
case "RoleType":
NextPID = _DataRow["RoleType_ID"].ToString();
treeNode.Text = _DataRow["RoleType_NAME"].ToString();
if (CanUrl == "")
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl("RoleTypePage.aspx?ID=" +
_DataRow["RoleType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
else if (CanUrl == "#")
{
treeNode.NavigateUrl = "#";
}
else
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
_DataRow["RoleType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
treeNode.Value = _DataRow["RoleType_ID"].ToString();
treeNode.ImageToolTip = "RoleType";
treeNode.ImageUrl = TreeNodeImageUrl.RoleType;
break;
case "UserType":
NextPID = _DataRow["UserType_ID"].ToString();
treeNode.Text = _DataRow["USERTYPE_NAME"].ToString();
if (CanUrl == "")
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl("USERTYPEPage.aspx?ID=" +
_DataRow["USERTYPE_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
else if (CanUrl == "#")
{
treeNode.NavigateUrl = "#";
}
else
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
_DataRow["USERTYPE_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
treeNode.Value = _DataRow["USERTYPE_ID"].ToString();
treeNode.ImageToolTip = "UserType";
treeNode.ImageUrl = TreeNodeImageUrl.UserType;
break;
case "ProDefType":
NextPID = _DataRow["ProDefType_ID"].ToString();
treeNode.Text = _DataRow["ProDefType_NAME"].ToString();
if (CanUrl == "")
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl("ProDefTypePage.aspx?ID=" +
_DataRow["ProDefType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
else if (CanUrl == "#")
{
treeNode.NavigateUrl = "#";
}
else
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
_DataRow["ProDefType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
treeNode.Value = _DataRow["ProDefType_ID"].ToString();
treeNode.ImageToolTip = "ProDefType";
treeNode.ImageUrl = TreeNodeImageUrl.ProDefType;
break;
case "ProDef":
treeNode.Text = _DataRow["ProDef_NAME"].ToString();
if (CanUrl == "")
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl("ProDefPage.aspx?ID=" +
_DataRow["ProDef_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
else if (CanUrl == "#")
{
treeNode.NavigateUrl = "#";
}
else
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
_DataRow["ProDef_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
treeNode.Value = _DataRow["ProDef_ID"].ToString();
treeNode.ImageToolTip = "ProDef";
treeNode.ImageUrl = TreeNodeImageUrl.ProDef;
break;
}
treeNode.Expanded = new bool?(false);
treeNode.PopulateOnDemand = true;
if (!string.IsNullOrEmpty(obscureName) || withChildNodes)
{
BindingTreeView(_Transaction, NextPID, treeNode.ChildNodes, DataType,
obscureName, withChildNodes, ID_Encrypt, IsUser, CanUrl, UserCanUrl, ShowCheckBoxes,
OtherCondition, OtherUserCondition, _DataTable, UserTable);
treeNode.PopulateOnDemand = false;
}
if (IsUser)
{
if (DataType == "RoleType")
{
foreach (DataRow UserRow in UserTable.Select("RoleType_ID = " + _DataRow["RoleType_ID"].ToString() +
(string.IsNullOrEmpty(obscureName) ? "" : " AND RoleType_ID_NAME LIKE '%" + obscureName + "%'")))
{
TreeNode _TreeNode = new TreeNode();
_TreeNode.ShowCheckBox = ShowCheckBoxes;
_TreeNode.Text = UserRow["Role_NAME"].ToString();
_TreeNode.Value = UserRow["Role_ID"].ToString();
if (UserCanUrl == "")
{
_TreeNode.NavigateUrl = UriHelper.AddRequestToUrl("RolePage.aspx?ID=" +
UserRow["Role_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
else if (UserCanUrl == "#")
{
_TreeNode.NavigateUrl = "#";
}
else
{
_TreeNode.NavigateUrl = UriHelper.AddRequestToUrl(UserCanUrl + "ID=" +
_DataRow["RoleType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
_TreeNode.ImageToolTip = "Role";
_TreeNode.ImageUrl = TreeNodeImageUrl.Role;
treeNode.ChildNodes.Add(_TreeNode);
}
}
else if (DataType == "UserType")
{
foreach (DataRow UserRow in UserTable.Select("USERTYPE_ID = " + _DataRow["USERTYPE_ID"].ToString() +
(string.IsNullOrEmpty(obscureName) ? "" : " AND (USER_NAME LIKE '%" + obscureName +
"%' OR USER_PASSPORT LIKE '%" + obscureName + "%')")))
{
TreeNode _TreeNode = new TreeNode();
_TreeNode.ShowCheckBox = ShowCheckBoxes;
_TreeNode.Text = UserRow["USER_NAME"].ToString() + (UserRow["USER_STATUS"].ToString() == "0" ?
"[<a style=\"color:Red\">无效</a>]" : "");
_TreeNode.Value = UserRow["USER_ID"].ToString();
if (UserCanUrl == "")
{
_TreeNode.NavigateUrl = UriHelper.AddRequestToUrl("USERPage.aspx?ID=" + UserRow["USER_ID"].ToEncrypt() +
"&RoleType=" + HttpContext.Current.Request["RoleType"], "Module_ID", ID_Encrypt);
}
else if (UserCanUrl == "#")
{
_TreeNode.NavigateUrl = "#";
}
else
{
_TreeNode.NavigateUrl = UriHelper.AddRequestToUrl(UserCanUrl + "ID=" + _DataRow["USER_ID"].ToEncrypt() +
"&RoleType=" + HttpContext.Current.Request["RoleType"], "Module_ID", ID_Encrypt);
}
_TreeNode.ImageToolTip = "User";
_TreeNode.ImageUrl = TreeNodeImageUrl.User;
treeNode.ChildNodes.Add(_TreeNode);
}
}
}
if (!IsShowDefault && treeNode.Text == "系统默认")
{
}
else
{
nodes.Add(treeNode);
}
if (!string.IsNullOrEmpty(obscureName))
{
if (treeNode.ChildNodes.Count == 0)
{
if (treeNode.Text.IndexOf(obscureName, StringComparison.CurrentCultureIgnoreCase) < 0)
{
nodes.Remove(treeNode);
}
}
else
{
treeNode.Expanded = new bool?(true);
}
}
//else if (treeNode.ChildNodes.Count == 0)
//{
// nodes.Remove(treeNode);
//}
}
}
#endregion
#region -> BindingDropDownList
public static void BindingDropDownList(Transaction _Transaction, List<ListItemEx> items, string obscureName)
{
BindingDropDownList(_Transaction, "-1", items, "UserType", obscureName, 0);
}
//public void BindingDropDownList(List<ListItemEx> items, string disabledValue, bool status, bool typestatus = false,
// bool LastSelect = false, bool ShowCommodity = true)
//{
// this.BindingDropDownList(items, disabledValue, status, typestatus, LastSelect, ShowCommodity, false);
//}
public static void BindingDropDownList(Transaction _Transaction, string pid, List<ListItemEx> items, string DataType,
string obscureName, int level, string OtherCondition = "", string OtherChileCondition = "", bool status = true,
bool ShowType = false, DataTable _DataAll = null, string disabledValue = null, bool disabled = true)
{
string StatusType = "1";
DataRow[] _DataRowList = null;
if (_DataAll == null)
{
_DataAll = GetBindingDataSource("", obscureName, _Transaction, DataType, OtherCondition);
}
switch (DataType)
{
case "RoleType":
_DataRowList = _DataAll.Select("RoleType_PID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
break;
case "UserType":
_DataRowList = _DataAll.Select("USERTYPE_PID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
break;
case "ProDefType":
_DataRowList = _DataAll.Select("PRODEFTYPE_PID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
break;
case "ProDef":
_DataRowList = _DataAll.Select("PRODEFTYPE_ID = " + (string.IsNullOrEmpty(pid) ? "-1" : pid));
break;
}
foreach (DataRow _DataRow in _DataRowList)
{
switch (DataType)
{
case "ProDef":
StatusType = _DataRow["PRODEF_STATUS"].ToString();
break;
}
if (status && StatusType == "1")
{
bool HasChild = false;
bool _disabled = disabled;
ListItemEx listItemEx = new ListItemEx();
switch (DataType)
{
case "RoleType":
listItemEx.Value = _DataRow["RoleType_ID"].ToString();
listItemEx.Text = _DataRow["RoleType_NAME"].ToString();
break;
case "UserType":
listItemEx.Value = _DataRow["UserType_ID"].ToString();
listItemEx.Text = _DataRow["UserType_NAME"].ToString();
break;
case "ProDefType":
listItemEx.Value = _DataRow["ProDefType_ID"].ToString();
listItemEx.Text = _DataRow["ProDefType_NAME"].ToString();
break;
case "ProDef":
listItemEx.Value = _DataRow["ProDef_ID"].ToString();
listItemEx.Text = _DataRow["ProDef_NAME"].ToString();
break;
}
if (listItemEx.Value == disabledValue)
{
_disabled = false;
}
listItemEx.Enabled = _disabled;
listItemEx.Level = level;
items.Add(listItemEx);
BindingDropDownList(_Transaction, listItemEx.Value, items, DataType, obscureName, level + 1,
OtherCondition, OtherChileCondition, status, ShowType, _DataAll, disabledValue, _disabled);
if (ShowType)
{
switch (DataType)
{
case "ProDefType":
foreach (WFSB.ProDef _ProDef in new WFSB.ProDef(_Transaction).FillCollection(
"WHERE ProDefType_ID = " + listItemEx.Value + OtherChileCondition +
" ORDER BY PRODEFTYPE_ID,PRODEF_INDEX,PRODEF_NAME"))
{
if (status && _ProDef.ProDef_Status == 1)
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Value = _ProDef.ProDef_ID.ToString();
_ListItemEx.Text = _ProDef.ProDef_Name;
_ListItemEx.Level = level + 1;
items.Add(_ListItemEx);
HasChild = true;
}
}
break;
}
if (!HasChild)
{
items.Remove(listItemEx);
}
}
}
}
}
#endregion
#region RoleType.BindingDropDownList
/// <summary />
//public void BindingDropDownList(List<ListItemEx> items, string disabledValue, Transaction _Transaction)
//{
// DataTable _DataTable = GetBindingDataSource(string.Empty, string.Empty, _Transaction);
// BindingDropDownList(_DataTable.Rows, "-1", items, disabledValue, 0, true, _Transaction);
//}
//private void BindingDropDownList(DataRowCollection dataRows, string pid, List<ListItemEx> items,
// string disabledValue, int level, bool disabled, Transaction _Transaction)
//{
// ListItemEx _ListItem;
// foreach (DataRow _Row in dataRows)
// {
// if (_Row["RoleType_PID"].ToString() != pid)
// {
// continue;
// }
// bool _disabled = disabled;
// _ListItem = new ListItemEx();
// _ListItem.Value = _Row["RoleType_ID"].ToString();
// _ListItem.Text = getlevelText(level) + _Row["RoleType_Name"].ToString();
// if (_ListItem.Value == disabledValue)
// {
// _disabled = false;
// }
// if (!_disabled)
// {
// _ListItem.Enabled = false;
// }
// items.Add(_ListItem);
// BindingDropDownList(dataRows, _Row["RoleType_ID"].ToString(), items, disabledValue, level + 1, _disabled, _Transaction);
// }
//}
//string getlevelText(int level)
//{
// string _str = "";
// for (int i = 0; i < level; i++)
// {
// _str += "&nbsp;&nbsp;";
// }
// return System.Web.HttpContext.Current.Server.HtmlDecode(_str);
//}
#endregion
#region RoleType.BindingTreeView
/// <summary />
public void BindingTreeView(string typeid, TreeNodeCollection nodes, string obscureName,
bool withChildNodes, string ID_Encrypt, Transaction _Transaction)
{
FWB.Role _Role = new FWB.Role(_Transaction);
_Role.BindingTreeView(typeid, nodes, string.IsNullOrEmpty(obscureName) ? "" : obscureName, ID_Encrypt);
DataTable _DataTable = GetBindingDataSource(typeid, string.Empty, _Transaction);
TreeNode _Node;
DataRow _DataRow;
for (int i = _DataTable.Rows.Count - 1; i >= 0; i--)
{
_DataRow = _DataTable.Rows[i];
_Node = new TreeNode();
_Node.Text = "&nbsp;" + _DataRow["RoleType_Name"].ToString();
_Node.NavigateUrl = UriHelper.AddRequestToUrl("RoleTypePage.aspx?ID=" +
_DataRow["RoleType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
_Node.Value = _DataRow["RoleType_ID"].ToString();
_Node.ImageToolTip = "RoleType";
_Node.ImageUrl = TreeNodeImageUrl.RoleType;
_Node.Expanded = false;
nodes.AddAt(0, _Node);
_Node.PopulateOnDemand = true;
//_Node.ImageUrl = "~/App_Themes/RealEstate/Icons/folder.gif";
//_Node.
if (!string.IsNullOrEmpty(obscureName) || withChildNodes)
{
BindingTreeView(_DataRow["RoleType_ID"].ToString(), _Node.ChildNodes,
obscureName, withChildNodes, ID_Encrypt, _Transaction);
_Node.PopulateOnDemand = false;
}
if (!string.IsNullOrEmpty(obscureName))
{
if (_Node.ChildNodes.Count == 0)
{
if (_Node.Text.IndexOf(obscureName, StringComparison.CurrentCultureIgnoreCase) < 0)
{
nodes.Remove(_Node);
}
}
else
{
_Node.Expanded = true;
}
}
}
}
#endregion
#region UserType.BindingDropDownList
/// <summary />
//public void BindingDropDownList(List<ListItemEx> items, string disabledValue, Transaction _Transaction)
//{
// DataTable _DataTable = GetBindingDataSource(string.Empty, string.Empty, _Transaction);
// BindingDropDownList(_DataTable.Rows, "-1", items, disabledValue, 0, true, _Transaction);
//}
//private void BindingDropDownList(DataRowCollection dataRows, string pid, List<ListItemEx> items,
// string disabledValue, int level, bool disabled, Transaction _Transaction)
//{
// ListItemEx _ListItem;
// foreach (DataRow _Row in dataRows)
// {
// if (_Row["UserType_PID"].ToString() != pid)
// {
// continue;
// }
// bool _disabled = disabled;
// _ListItem = new ListItemEx();
// _ListItem.Value = _Row["UserType_ID"].ToString();
// _ListItem.Text = getlevelText(level) + _Row["UserType_Name"].ToString();
// if (_ListItem.Value == disabledValue)
// {
// _disabled = false;
// }
// if (!_disabled)
// {
// _ListItem.Enabled = false;
// }
// items.Add(_ListItem);
// BindingDropDownList(dataRows, _Row["UserType_ID"].ToString(), items, disabledValue, level + 1, _disabled);
// }
//}
#endregion
#region UserType.BindingTreeView
/// <summary />
public void BindingTreeView(string typeid, TreeNodeCollection nodes, string obscureName,
bool withChildNodes, string ID_Encrypt, string navigatePage, Transaction _Transaction)
{
new FWB.User(_Transaction).BindingTreeView(typeid, nodes, string.IsNullOrEmpty(obscureName) ? "" : obscureName, ID_Encrypt);
DataTable _DataTable = GetBindingDataSource(typeid, string.Empty, _Transaction);
TreeNode _Node;
DataRow _DataRow;
for (int i = _DataTable.Rows.Count - 1; i >= 0; i--)
{
_DataRow = _DataTable.Rows[i];
_Node = new TreeNode();
_Node.Text = "&nbsp;" + _DataRow["UserType_Name"].ToString();
if (!string.IsNullOrEmpty(navigatePage))
{
_Node.NavigateUrl = UriHelper.AddRequestToUrl(navigatePage + "?ID=" +
_DataRow["UserType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
}
else
{
_Node.NavigateUrl = "javascript:void(0);";
_Node.Target = "";
}
_Node.Value = _DataRow["UserType_ID"].ToString();
_Node.ImageToolTip = "UserType";
_Node.ImageUrl = TreeNodeImageUrl.UserType;
_Node.Expanded = false;
nodes.AddAt(0, _Node);
_Node.PopulateOnDemand = true;
//_Node.ImageUrl = "~/App_Themes/RealEstate/Icons/folder.gif";
//_Node.
if (!string.IsNullOrEmpty(obscureName) || withChildNodes)
{
BindingTreeView(_DataRow["UserType_ID"].ToString(), _Node.ChildNodes,
obscureName, withChildNodes, ID_Encrypt, navigatePage, _Transaction);
_Node.PopulateOnDemand = false;
}
if (!string.IsNullOrEmpty(obscureName))
{
if (_Node.ChildNodes.Count == 0)
{
if (_Node.Text.IndexOf(obscureName, StringComparison.CurrentCultureIgnoreCase) < 0)
{
nodes.Remove(_Node);
}
}
else
{
_Node.Expanded = true;
}
}
}
}
#endregion
#region
public void BindingTreeView_BusinessSystem(Transaction _Transaction, TreeNodeCollection nodes, int ROLE_ID,
int Pid = -1, DataTable UserTypeTable = null, DataTable BindTable = null ,bool IsShowDefault = true)
{
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
if (UserTypeTable == null)
{
UserTypeTable = _USERTYPE.ExecuteDataTable("SELECT * FROM PLATFORM_FRAMEWORK.T_USERTYPE ORDER BY USERTYPE_INDEX");
}
if (BindTable == null)
{
BindTable = _USERTYPE.ExecuteDataTable(@"
SELECT
A.USER_ID,A.USER_NAME,A.USERTYPE_ID
FROM
PLATFORM_FRAMEWORK.T_USER A,
PLATFORM_FRAMEWORK.T_USERROLE B
WHERE
A.USER_ID = B.USER_ID AND B.ROLE_ID = "+ ROLE_ID + @"
ORDER BY
USER_INDEX");
}
DataRow[] _Row = UserTypeTable.Select("USERTYPE_PID = '"+ Pid + "'");
foreach (DataRow _UserTypeRow in _Row)
{
TreeNode UserTypNode = new TreeNode();
UserTypNode.Text = _UserTypeRow["USERTYPE_NAME"].ToString();
UserTypNode.NavigateUrl = "#";
UserTypNode.Value = _UserTypeRow["USERTYPE_ID"].ToString();
UserTypNode.ImageToolTip = "UserType";
UserTypNode.ImageUrl = TreeNodeImageUrl.UserType;
DataRow[] listUserRow = BindTable.Select("USERTYPE_ID = '" + _UserTypeRow["USERTYPE_ID"] + "'");
foreach (DataRow _UserRow in listUserRow)
{
TreeNode UserNode = new TreeNode();
UserNode.Text = _UserRow["USER_NAME"].ToString();
UserNode.NavigateUrl = "#";
UserNode.Value = _UserRow["USER_ID"].ToString();
UserNode.ImageToolTip = "User";
UserNode.ImageUrl = TreeNodeImageUrl.User;
UserTypNode.ChildNodes.Add(UserNode);
}
BindingTreeView_BusinessSystem(_Transaction, UserTypNode.ChildNodes, ROLE_ID,
_UserTypeRow["USERTYPE_ID"].TryParseToInt(), UserTypeTable, BindTable, IsShowDefault);
if (!IsShowDefault && UserTypNode.Text == "系统默认")
{
}
else if (UserTypNode.ChildNodes.Count > 0)
{
nodes.Add(UserTypNode);
}
}
}
#endregion
#region
public void BindingSystemTreeView(Transaction _Transaction, TreeNodeCollection nodes, int ROLE_ID,
int Pid = -1, DataTable UserTypeTable = null, DataTable BindTable = null, bool IsShowDefault = true)
{
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
if (UserTypeTable == null)
{
UserTypeTable = _USERTYPE.ExecuteDataTable("SELECT * FROM PLATFORM_FRAMEWORK.T_USERTYPE ORDER BY USERTYPE_INDEX");
}
if (BindTable == null)
{
BindTable = _USERTYPE.ExecuteDataTable(@"
SELECT
A.USER_ID,A.USER_NAME,A.USERTYPE_ID
FROM
PLATFORM_FRAMEWORK.T_USER A
WHERE
NOT EXISTS(SELECT 1 FROM PLATFORM_FRAMEWORK.T_USERROLE B
WHERE A.USER_ID = B.USER_ID AND B.ROLE_ID = " + ROLE_ID + @")
ORDER BY
USER_INDEX");
}
DataRow[] _Row = UserTypeTable.Select("USERTYPE_PID = '" + Pid + "'");
foreach (DataRow _UserTypeRow in _Row)
{
TreeNode UserTypNode = new TreeNode();
UserTypNode.Text = _UserTypeRow["USERTYPE_NAME"].ToString();
UserTypNode.NavigateUrl = "#";
UserTypNode.Value = _UserTypeRow["USERTYPE_ID"].ToString();
UserTypNode.ImageToolTip = "UserType";
UserTypNode.ImageUrl = TreeNodeImageUrl.UserType;
DataRow[] listUserRow = BindTable.Select("USERTYPE_ID = '" + _UserTypeRow["USERTYPE_ID"] + "'");
foreach (DataRow _UserRow in listUserRow)
{
TreeNode UserNode = new TreeNode();
UserNode.Text = _UserRow["USER_NAME"].ToString();
UserNode.NavigateUrl = "#";
UserNode.Value = _UserRow["USER_ID"].ToString();
UserNode.ImageToolTip = "User";
UserNode.ImageUrl = TreeNodeImageUrl.User;
UserTypNode.ChildNodes.Add(UserNode);
}
BindingSystemTreeView(_Transaction, UserTypNode.ChildNodes, ROLE_ID,
_UserTypeRow["USERTYPE_ID"].TryParseToInt(), UserTypeTable, BindTable, IsShowDefault);
if (!IsShowDefault && UserTypNode.Text == "系统默认")
{
}
else if (UserTypNode.ChildNodes.Count > 0)
{
nodes.Add(UserTypNode);
}
}
}
#endregion
#region
public void BindingTreeViewModular(Transaction _Transaction, TreeNodeCollection nodes,
int ROLE_ID, int Pid = -1, DataTable ModuleTypeTable = null, DataTable ModuleTable = null)
{
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
if (ModuleTypeTable == null)
{
ModuleTypeTable = _USERTYPE.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSSYSTEM
WHERE NVL(BUSINESSSYSTEM_DESC,'1') != '内部使用' ORDER BY BUSINESSSYSTEM_INDEX");
}
if (ModuleTable == null)
{
ModuleTable = _USERTYPE.ExecuteDataTable(@"
SELECT
A.MODULE_ID,A.MODULE_NAME,A.BUSINESSSYSTEM_ID
FROM
PLATFORM_FRAMEWORK.T_MODULE A,
PLATFORM_FRAMEWORK.T_ROLEMODULE B
WHERE
A.MODULE_ID = B.MODULE_ID AND B.ROLE_ID = " + ROLE_ID + @"
ORDER BY
MODULE_INDEX");
}
DataRow[] _Row = ModuleTypeTable.Select("BUSINESSSYSTEM_PID = '" + Pid + "'");
foreach (DataRow _ModuleTypeRow in _Row)
{
TreeNode ModuleTypNode = new TreeNode();
ModuleTypNode.Text = _ModuleTypeRow["BUSINESSSYSTEM_NAME"].ToString();
ModuleTypNode.NavigateUrl = "#";
ModuleTypNode.Value = _ModuleTypeRow["BUSINESSSYSTEM_ID"].ToString();
ModuleTypNode.ImageToolTip = "ModuleType";
ModuleTypNode.ImageUrl = TreeNodeImageUrl.UserType;
DataRow[] listModuleRow = ModuleTable.Select("BUSINESSSYSTEM_ID = '" + _ModuleTypeRow["BUSINESSSYSTEM_ID"] + "'");
foreach (DataRow _ModuleRow in listModuleRow)
{
TreeNode ModuleNode = new TreeNode();
ModuleNode.Text = _ModuleRow["MODULE_NAME"].ToString();
ModuleNode.NavigateUrl = "#";
ModuleNode.Value = _ModuleRow["MODULE_ID"].ToString();
ModuleNode.ImageToolTip = "Module";
ModuleNode.ImageUrl = TreeNodeImageUrl.User;
ModuleTypNode.ChildNodes.Add(ModuleNode);
}
BindingTreeViewModular(_Transaction, ModuleTypNode.ChildNodes, ROLE_ID,
_ModuleTypeRow["BUSINESSSYSTEM_ID"].TryParseToInt(), ModuleTypeTable, ModuleTable);
if (ModuleTypNode.ChildNodes.Count > 0)
{
nodes.Add(ModuleTypNode);
}
}
}
#endregion
#region
public void BindingTreeViewUnModular(Transaction _Transaction, TreeNodeCollection nodes,
int ROLE_ID, int Pid = -1, DataTable ModuleTypeTable = null, DataTable ModuleTable = null)
{
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
if (ModuleTypeTable == null)
{
ModuleTypeTable = _USERTYPE.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSSYSTEM
WHERE NVL(BUSINESSSYSTEM_DESC,'1') != '内部使用' ORDER BY BUSINESSSYSTEM_INDEX");
}
if (ModuleTable == null)
{
ModuleTable = _USERTYPE.ExecuteDataTable(@"
SELECT
A.MODULE_ID,A.MODULE_NAME,A.BUSINESSSYSTEM_ID
FROM
PLATFORM_FRAMEWORK.T_MODULE A
WHERE
NOT EXISTS (SELECT 1 FROM PLATFORM_FRAMEWORK.T_ROLEMODULE B
WHERE A.MODULE_ID = B.MODULE_ID AND B.ROLE_ID = " + ROLE_ID + @")
ORDER BY
MODULE_INDEX");
}
DataRow[] _Row = ModuleTypeTable.Select("BUSINESSSYSTEM_PID = '" + Pid + "'");
foreach (DataRow _ModuleTypeRow in _Row)
{
TreeNode ModuleTypNode = new TreeNode();
ModuleTypNode.Text = _ModuleTypeRow["BUSINESSSYSTEM_NAME"].ToString();
ModuleTypNode.NavigateUrl = "#";
ModuleTypNode.Value = _ModuleTypeRow["BUSINESSSYSTEM_ID"].ToString();
ModuleTypNode.ImageToolTip = "ModuleType";
ModuleTypNode.ImageUrl = TreeNodeImageUrl.UserType;
DataRow[] listModuleRow = ModuleTable.Select("BUSINESSSYSTEM_ID = '" + _ModuleTypeRow["BUSINESSSYSTEM_ID"] + "'");
foreach (DataRow _ModuleRow in listModuleRow)
{
TreeNode ModuleNode = new TreeNode();
ModuleNode.Text = _ModuleRow["MODULE_NAME"].ToString();
ModuleNode.NavigateUrl = "#";
ModuleNode.Value = _ModuleRow["MODULE_ID"].ToString();
ModuleNode.ImageToolTip = "Module";
ModuleNode.ImageUrl = TreeNodeImageUrl.User;
ModuleTypNode.ChildNodes.Add(ModuleNode);
}
BindingTreeViewUnModular(_Transaction, ModuleTypNode.ChildNodes, ROLE_ID,
_ModuleTypeRow["BUSINESSSYSTEM_ID"].TryParseToInt(), ModuleTypeTable, ModuleTable);
if (ModuleTypNode.ChildNodes.Count > 0)
{
nodes.Add(ModuleTypNode);
}
}
}
#endregion
}
}