using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using System.Web.UI;
|
using System.Web.UI.WebControls;
|
using CY.BLL;
|
using CY.Model;
|
using CY.Infrastructure.Common;
|
using System.Data;
|
|
namespace CY.WebForm.Pages.membermanage
|
{
|
//吴辉
|
//会员权限
|
public partial class MemberRole : BasePage
|
{
|
Sys_Permissions_UserCaseBLL bll_Sys_Permissions_UserCaseBLL = null;
|
Sys_Permissions_MenuBLL bll_Sys_Permissions_MenuBLL = null;
|
Sys_Permissions_RoleBLL bll_Sys_Permissions_RoleBLL = null;
|
public static string treeHtml = ""; //树形参数
|
public static string selHtml = ""; //下拉框内容
|
public static string MemberRoleString = "";
|
//实例化
|
public MemberRole()
|
{
|
bll_Sys_Permissions_UserCaseBLL = new Sys_Permissions_UserCaseBLL();
|
bll_Sys_Permissions_MenuBLL = new Sys_Permissions_MenuBLL();
|
bll_Sys_Permissions_RoleBLL = new Sys_Permissions_RoleBLL();
|
}
|
|
//页面加载
|
protected void Page_Load(object sender, EventArgs e)
|
{
|
if (!IsPostBack)
|
{
|
InitialData();
|
}
|
if (Request["delete"] != null && Request["delete"].ToInt32() > 0)
|
{
|
Sys_Permissions_Role model = bll_Sys_Permissions_RoleBLL.SelectModel(Request["delete"].ToInt32());
|
if (model != null && model.Keyid > 0)
|
{
|
if (bll_Sys_Permissions_RoleBLL.DeleteModel(model))
|
JavaScript.MessageBox("删除成功", this);
|
else
|
JavaScript.MessageBox("删除失败", this);
|
InitialData();
|
}
|
}
|
}
|
|
//提交修改 hideKeyId
|
protected void btn_Submit_Config(object sender, EventArgs e)
|
{
|
try
|
{
|
Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(Request["MemberId"].ToGuid2());
|
string Roles = Request["hideRoles"].ToString2();
|
string[] RolesArry = Roles.Split(',');
|
Dictionary<string, string> MenusJionRole = new Dictionary<string, string>();
|
foreach (var itemRole in RolesArry)
|
{
|
string MenuAll = itemRole;
|
string[] MenuAllArry = MenuAll.Split('+');
|
if (MenuAllArry.Length > 1)
|
{
|
string value_Role = MenuAllArry[1] == "0" ? "" : MenuAllArry[1];
|
if (MenusJionRole.Keys.Contains(MenuAllArry[0]))
|
MenusJionRole[MenuAllArry[0]] = MenusJionRole[MenuAllArry[0]] + "," + value_Role;
|
else
|
MenusJionRole.Add(MenuAllArry[0], value_Role);
|
}
|
}
|
bool result = bll_Sys_Permissions_RoleBLL.EditMenusRole(m_Sys_Permissions_UserRoleRelation == null ? 0 : m_Sys_Permissions_UserRoleRelation.RoleId, MenusJionRole, Request["MemberId"].ToGuid2());
|
if (result)
|
{
|
InitialData();
|
JavaScript.MessageBox("保存成功", this);
|
}
|
else
|
JavaScript.MessageBox("操作失败", this);
|
}
|
catch (Exception ex)
|
{
|
PAGEHandleException(ex);
|
JavaScript.MessageBox("操作失败", this);
|
}
|
}
|
|
//获取遍历结果
|
public void InitialData()
|
{
|
DataTable ds = bll_Sys_Permissions_MenuBLL.SelectAllUsedList();
|
treeHtml = "";
|
selHtml = "";
|
int? MenuOneId = 0;
|
if (ds != null && ds.Rows.Count > 0)
|
{
|
GetDataByLevel(ref treeHtml, ref selHtml, ref MenuOneId, ds, 0, 1);
|
}
|
treeHtml = treeHtml.Trim(',');
|
MemberRoleString = GetMenusByMemberRole();
|
}
|
|
//遍历菜单以及用例数据
|
public void GetDataByLevel(ref string treeHtmlo, ref string selHtmlo, ref int? MenuOneId, DataTable data, int parentId, int level)
|
{
|
|
DataRow[] result = data.Select(string.Format("ParentId={0}", parentId));
|
int i = -1;
|
int j = -1;
|
while (++i < result.Length)
|
{
|
if (result[i]["MenuName"].ToString2() == "管理员菜单")
|
{
|
return;
|
}
|
if (level == 2)
|
{
|
MenuOneId = result[i]["Keyid"].ToInt32();
|
}
|
|
treeHtmlo = treeHtmlo + "{GetMenuRoleId:'0', id: " + result[i]["Keyid"].ToString2() + ", parentId: " + result[i]["ParentId"].ToString2() + ", name: '" + result[i]["MenuName"].ToString2() + "[" + result[i]["Keyid"].ToString2() + "]" + "'" + (level < 3 ? ", open: true" : "") + " },";
|
if (level == 4)
|
{
|
treeHtmlo = treeHtmlo + "{GetMenuRoleId:'" + MenuOneId + "-" + result[i]["ParentId"].ToString2() + "-" + result[i]["Keyid"].ToString2() + "+0', id: " + (result[i]["ParentId"].ToString2() + "00" + result[i]["Keyid"].ToString2()).ToInt32() + ", parentId: " + result[i]["Keyid"].ToString2() + ", name: '查看页面' },";
|
|
|
DataTable ds = bll_Sys_Permissions_UserCaseBLL.SelectList(result[i]["Keyid"].ToInt32());
|
DataRow[] resultUserCase = ds.Select(string.Format("MenuId={0}", result[i]["Keyid"].ToInt32()));
|
while (++j < resultUserCase.Length)
|
{
|
treeHtmlo = treeHtmlo + "{GetMenuRoleId:'" + MenuOneId + "-" + result[i]["ParentId"].ToString2() + "-" + result[i]["Keyid"].ToString2() + "+" + resultUserCase[j]["Keyid"].ToString2() + "', id: 333" + resultUserCase[j]["Keyid"].ToString2() + ", parentId: " + resultUserCase[j]["MenuId"].ToString2() + ", name: '" + resultUserCase[j]["UserCaseName"].ToString2() + "'},";
|
}
|
j = -1;
|
}
|
GetDataByLevel(ref treeHtmlo, ref selHtmlo, ref MenuOneId, data, result[i]["Keyid"].ToInt32().Value, level + 1);
|
}
|
}
|
|
/// <summary>
|
/// 获取会员权限
|
/// </summary>
|
/// <param name="value_keyid"></param>
|
/// <returns></returns>
|
public string GetMenusByMemberRole()
|
{
|
Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(Request["MemberId"].ToGuid2());
|
if (m_Sys_Permissions_UserRoleRelation != null)
|
{
|
List<Sys_Permissions_RoleMenuRelation> m_Sys_Permissions_RoleMenuRelationList = bll_Sys_Permissions_RoleBLL.SelectListByRoleId(m_Sys_Permissions_UserRoleRelation.RoleId) as List<Sys_Permissions_RoleMenuRelation>;
|
if (m_Sys_Permissions_RoleMenuRelationList != null && m_Sys_Permissions_RoleMenuRelationList.Count > 0)
|
{
|
List<string> Menus = new List<string>();
|
foreach (var m_Sys_Permissions_Menu in m_Sys_Permissions_RoleMenuRelationList)
|
{
|
Menus.Add(m_Sys_Permissions_Menu.MenuIdOne + "-" + m_Sys_Permissions_Menu.MenuIdTwo + "-" + m_Sys_Permissions_Menu.MenuIdThree + "+" + "0");
|
string[] fucns = m_Sys_Permissions_Menu.FuncId.Split(',');
|
foreach (var item in fucns)
|
{
|
Menus.Add(m_Sys_Permissions_Menu.MenuIdOne + "-" + m_Sys_Permissions_Menu.MenuIdTwo + "-" + m_Sys_Permissions_Menu.MenuIdThree + "+" + item);
|
}
|
}
|
return JsonHelper.GetJsonStringByObject(Menus);
|
}
|
else
|
return "";
|
}
|
else
|
return "";
|
}
|
}
|
}
|