837 lines
40 KiB
C#
837 lines
40 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.Users
|
|
{
|
|
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,
|
|
string parameter = "")
|
|
{
|
|
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);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
else if (CanUrl == "#")
|
|
{
|
|
treeNode.NavigateUrl = "#";
|
|
}
|
|
else
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
|
|
_DataRow["RoleType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
|
|
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);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
else if (CanUrl == "#")
|
|
{
|
|
treeNode.NavigateUrl = "#";
|
|
}
|
|
else
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
|
|
_DataRow["USERTYPE_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
|
|
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);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
else if (CanUrl == "#")
|
|
{
|
|
treeNode.NavigateUrl = "#";
|
|
}
|
|
else
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
|
|
_DataRow["ProDefType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
|
|
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);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
else if (CanUrl == "#")
|
|
{
|
|
treeNode.NavigateUrl = "#";
|
|
}
|
|
else
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "ID=" +
|
|
_DataRow["ProDef_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
|
|
treeNode.NavigateUrl += parameter;
|
|
}
|
|
|
|
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,IsShowDefault, parameter);
|
|
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);
|
|
_TreeNode.NavigateUrl += parameter;
|
|
}
|
|
else if (UserCanUrl == "#")
|
|
{
|
|
_TreeNode.NavigateUrl = "#";
|
|
}
|
|
else
|
|
{
|
|
_TreeNode.NavigateUrl = UriHelper.AddRequestToUrl(UserCanUrl + "ID=" +
|
|
_DataRow["RoleType_ID"].ToEncrypt(), "Module_ID", ID_Encrypt);
|
|
_TreeNode.NavigateUrl += parameter;
|
|
}
|
|
_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 + "%')"), "USER_INDEX,USER_NAME,USER_ID"))
|
|
{
|
|
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);
|
|
_TreeNode.NavigateUrl += parameter;
|
|
}
|
|
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.NavigateUrl += parameter;
|
|
}
|
|
_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, bool IsShowDefault = 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;
|
|
if (!IsShowDefault && listItemEx.Text == "系统默认")
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
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 += " ";
|
|
// }
|
|
// 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 = " " + _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 = " " + _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 BindingTreeViewRole(Transaction _Transaction, TreeNodeCollection nodes,
|
|
int USER_ID, int Pid = -1, DataTable RoleTypeTable = null, DataTable RoleTable = null,
|
|
bool IsShowDefault = true)
|
|
{
|
|
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
|
|
if (RoleTypeTable == null)
|
|
{
|
|
if (!IsShowDefault)
|
|
{
|
|
RoleTypeTable = _USERTYPE.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_ROLETYPE
|
|
WHERE NVL(ROLETYPE_DESC,'1') != '内部使用' ORDER BY ROLETYPE_INDEX");
|
|
}
|
|
else
|
|
{
|
|
RoleTypeTable = _USERTYPE.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_ROLETYPE
|
|
ORDER BY ROLETYPE_INDEX");
|
|
}
|
|
}
|
|
if (RoleTable == null)
|
|
{
|
|
RoleTable = _USERTYPE.ExecuteDataTable(@"
|
|
SELECT
|
|
A.ROLE_ID,A.ROLE_NAME,A.ROLETYPE_ID
|
|
FROM
|
|
PLATFORM_FRAMEWORK.T_ROLE A,
|
|
PLATFORM_FRAMEWORK.T_USERROLE B
|
|
WHERE
|
|
A.ROLE_ID = B.ROLE_ID AND B.USER_ID = " + USER_ID + @"
|
|
ORDER BY
|
|
ROLE_INDEX");
|
|
}
|
|
DataRow[] _Row = RoleTypeTable.Select("ROLETYPE_PID = '" + Pid + "'");
|
|
foreach (DataRow _ModuleTypeRow in _Row)
|
|
{
|
|
TreeNode ModuleTypNode = new TreeNode();
|
|
ModuleTypNode.Text = _ModuleTypeRow["ROLETYPE_NAME"].ToString();
|
|
ModuleTypNode.NavigateUrl = "#";
|
|
ModuleTypNode.Value = _ModuleTypeRow["ROLETYPE_ID"].ToString();
|
|
ModuleTypNode.ImageToolTip = "RoleType";
|
|
ModuleTypNode.ImageUrl = TreeNodeImageUrl.UserType;
|
|
|
|
DataRow[] listRoleRow = RoleTable.Select("ROLETYPE_ID = '" + _ModuleTypeRow["ROLETYPE_ID"] + "'");
|
|
foreach (DataRow _RoleRow in listRoleRow)
|
|
{
|
|
TreeNode ModuleNode = new TreeNode();
|
|
ModuleNode.Text = _RoleRow["ROLE_NAME"].ToString();
|
|
ModuleNode.NavigateUrl = "#";
|
|
ModuleNode.Value = _RoleRow["ROLE_ID"].ToString();
|
|
ModuleNode.ImageToolTip = "Role";
|
|
ModuleNode.ImageUrl = TreeNodeImageUrl.User;
|
|
|
|
ModuleTypNode.ChildNodes.Add(ModuleNode);
|
|
}
|
|
|
|
BindingTreeViewRole(_Transaction, ModuleTypNode.ChildNodes, USER_ID,
|
|
_ModuleTypeRow["ROLETYPE_ID"].TryParseToInt(), RoleTypeTable, RoleTable);
|
|
|
|
if (ModuleTypNode.ChildNodes.Count > 0)
|
|
{
|
|
nodes.Add(ModuleTypNode);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 绑定未授权角色
|
|
public void BindingTreeViewUnRole(Transaction _Transaction, TreeNodeCollection nodes,
|
|
int USER_ID, int Pid = -1, DataTable RoleTypeTable = null, DataTable RoleTable = null,
|
|
bool IsShowDefault = true)
|
|
{
|
|
FWB.UserType _USERTYPE = new FWB.UserType(_Transaction);
|
|
if (RoleTypeTable == null)
|
|
{
|
|
if (!IsShowDefault)
|
|
{
|
|
RoleTypeTable = _USERTYPE.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_ROLETYPE
|
|
WHERE NVL(ROLETYPE_DESC,'1') != '内部使用' ORDER BY ROLETYPE_INDEX");
|
|
}
|
|
else
|
|
{
|
|
RoleTypeTable = _USERTYPE.ExecuteDataTable(@"SELECT * FROM PLATFORM_FRAMEWORK.T_ROLETYPE
|
|
ORDER BY ROLETYPE_INDEX");
|
|
}
|
|
}
|
|
if (RoleTable == null)
|
|
{
|
|
RoleTable = _USERTYPE.ExecuteDataTable(@"
|
|
SELECT
|
|
A.ROLE_ID,A.ROLE_NAME,A.ROLETYPE_ID
|
|
FROM
|
|
PLATFORM_FRAMEWORK.T_ROLE A
|
|
WHERE
|
|
NOT EXISTS(SELECT 1 FROM PLATFORM_FRAMEWORK.T_USERROLE B
|
|
WHERE A.ROLE_ID = B.ROLE_ID AND B.USER_ID = " + USER_ID + @")
|
|
ORDER BY
|
|
ROLE_INDEX");
|
|
}
|
|
DataRow[] _Row = RoleTypeTable.Select("ROLETYPE_PID = '" + Pid + "'");
|
|
foreach (DataRow _ModuleTypeRow in _Row)
|
|
{
|
|
TreeNode ModuleTypNode = new TreeNode();
|
|
ModuleTypNode.Text = _ModuleTypeRow["ROLETYPE_NAME"].ToString();
|
|
ModuleTypNode.NavigateUrl = "#";
|
|
ModuleTypNode.Value = _ModuleTypeRow["ROLETYPE_ID"].ToString();
|
|
ModuleTypNode.ImageToolTip = "RoleType";
|
|
ModuleTypNode.ImageUrl = TreeNodeImageUrl.UserType;
|
|
|
|
DataRow[] listRoleRow = RoleTable.Select("ROLETYPE_ID = '" + _ModuleTypeRow["ROLETYPE_ID"] + "'");
|
|
foreach (DataRow _RoleRow in listRoleRow)
|
|
{
|
|
TreeNode ModuleNode = new TreeNode();
|
|
ModuleNode.Text = _RoleRow["ROLE_NAME"].ToString();
|
|
ModuleNode.NavigateUrl = "#";
|
|
ModuleNode.Value = _RoleRow["ROLE_ID"].ToString();
|
|
ModuleNode.ImageToolTip = "Role";
|
|
ModuleNode.ImageUrl = TreeNodeImageUrl.User;
|
|
|
|
ModuleTypNode.ChildNodes.Add(ModuleNode);
|
|
}
|
|
|
|
BindingTreeViewUnRole(_Transaction, ModuleTypNode.ChildNodes, USER_ID,
|
|
_ModuleTypeRow["ROLETYPE_ID"].TryParseToInt(), RoleTypeTable, RoleTable);
|
|
|
|
if (ModuleTypNode.ChildNodes.Count > 0)
|
|
{
|
|
nodes.Add(ModuleTypNode);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |