using System;
using System.Collections.Generic;
//using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.UI.HtmlControls;
namespace Com.Jpsoft.Hospital.Web.Module.Sys.Re_RoleMenu
{
public partial class Insert : Com.Jpsoft.Hospital.Web.Common.BasePage
{
Com.Jpsoft.Hospital.Model.jp_sys_right model = new Com.Jpsoft.Hospital.Model.jp_sys_right();
Com.Jpsoft.Hospital.BLL.jp_sys_right right = new Com.Jpsoft.Hospital.BLL.jp_sys_right();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["roleid"] != null && Request.QueryString["roleid"].ToString().Trim() != "")
{
//显示角色信息
int roleid = int.Parse(Request.QueryString["roleid"].ToString());
Com.Jpsoft.Hospital.Model.jp_sys_role model = new Com.Jpsoft.Hospital.Model.jp_sys_role();
Com.Jpsoft.Hospital.BLL.jp_sys_role role = new Com.Jpsoft.Hospital.BLL.jp_sys_role();
model = role.GetModel(roleid);
this.rolename.Text = model.role_name.ToString();
this.desc.Text = model.role_desc.ToString();
//显示菜单信息
ShowData();
}
}
}
///
/// 获得权限信息
///
///
///
public string GetCheck(object menuid)
{
if (!string.IsNullOrEmpty(menuid.ToString()))
{
int menu_id = int.Parse(menuid.ToString());
int roleid = int.Parse(Request.QueryString["roleid"].ToString());
DataTable dt = right.GetList(" right_roleid=" + roleid).Tables[0];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//获得菜单ID
int men = int.Parse(dt.Rows[i]["right_mid"].ToString());
if (men == menu_id)
{
return "checked='checked'";
}
}
}
}
return "";
}
///
/// 显示角色权限信息
///
///
private void ShowRight(int roleid)
{
Com.Jpsoft.Hospital.Model.jp_sys_right model = new Com.Jpsoft.Hospital.Model.jp_sys_right();
Com.Jpsoft.Hospital.BLL.jp_sys_right right = new Com.Jpsoft.Hospital.BLL.jp_sys_right();
DataTable dt = right.GetList(" right_roleid=" + roleid).Tables[0];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
//获得菜单ID
int menuid = int.Parse(dt.Rows[i]["right_mid"].ToString());
//功能ID
DataTable fun = right.GetList(" right_mid="+menuid).Tables[0];
if (fun.Rows.Count > 0)
{
for (int ii = 0; ii < fun.Rows.Count; ii++)
{
int funid = int.Parse(fun.Rows[ii]["right_fid"].ToString());
}
}
}
}
}
///
/// 显示菜单信息
///
private void ShowData()
{
Com.Jpsoft.Hospital.BLL.jp_sys_menu menu = new Com.Jpsoft.Hospital.BLL.jp_sys_menu();
Com.Jpsoft.Hospital.Model.jp_sys_menu model = new Com.Jpsoft.Hospital.Model.jp_sys_menu();
DataTable dt = menu.GetList(" menu_url!='#'").Tables[0];
if (dt.Rows.Count > 0)
{
this.repeater.DataSource = dt;
this.repeater.DataBind();
}
}
///
/// 跳转菜单
///
///
///
protected void btnBack_Click(object sender, EventArgs e)
{
Response.Redirect("../Role/List.aspx");
}
///
/// 绑定功能选项
///
///
///
protected void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
string input = string.Empty;
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
Label lab = (Label)(e.Item.FindControl("mid"));
int mid = int.Parse(lab.Text);
Com.Jpsoft.Hospital.BLL.jp_sys_function function = new Com.Jpsoft.Hospital.BLL.jp_sys_function();
DataTable fundt = function.GetAllList().Tables[0];
if (fundt.Rows.Count > 0)
{
for (int i = 0; i < fundt.Rows.Count; i++)
{
//判断是否存在数据中
//先判断是否是第一次添加
DataTable role = right.GetList(" right_roleid=" + int.Parse(Request.QueryString["roleid"].ToString())).Tables[0];
if (role.Rows.Count > 0)
{
DataTable dt = right.GetList(" right_roleid=" + int.Parse(Request.QueryString["roleid"].ToString()) + "and right_mid=" + mid + " and right_fid=" + int.Parse(fundt.Rows[i]["fun_id"].ToString())).Tables[0];
if (dt.Rows.Count > 0)
{
string name = string.Format("{5}", int.Parse(fundt.Rows[i]["fun_id"].ToString()), mid, int.Parse(fundt.Rows[i]["fun_id"].ToString()), mid, int.Parse(fundt.Rows[i]["fun_id"].ToString()), fundt.Rows[i]["fun_name"].ToString());
input = input + name;
}
else
{
string name = string.Format("{5}", int.Parse(fundt.Rows[i]["fun_id"].ToString()), mid, int.Parse(fundt.Rows[i]["fun_id"].ToString()), mid, int.Parse(fundt.Rows[i]["fun_id"].ToString()), fundt.Rows[i]["fun_name"].ToString());
input = input + name;
}
}
else
{
string name = string.Format("{5}", int.Parse(fundt.Rows[i]["fun_id"].ToString()), mid, int.Parse(fundt.Rows[i]["fun_id"].ToString()), mid, int.Parse(fundt.Rows[i]["fun_id"].ToString()), fundt.Rows[i]["fun_name"].ToString());
input = input + name;
}
}
Label lal = (Label)(e.Item.FindControl("Label1"));
lal.Text = input;
}
}
}
protected void btnAdd_Click(object sender, EventArgs e)
{
Com.Jpsoft.Hospital.Model.jp_sys_right model = new Com.Jpsoft.Hospital.Model.jp_sys_right();
Com.Jpsoft.Hospital.BLL.jp_sys_right right = new Com.Jpsoft.Hospital.BLL.jp_sys_right();
if (Request.QueryString["roleid"].ToString().Trim() != "" && Request.QueryString["roleid"] != null)
{
//获得角色
int roleid = int.Parse(Request.QueryString["roleid"].ToString());
//首先在权限表要删除该角色相关的数据信息
DataTable rightid = right.GetList(" right_roleid="+roleid).Tables[0];
if (rightid.Rows.Count > 0)
{
for (int iii = 0; iii < rightid.Rows.Count; iii++)
{
int right_id=int.Parse(rightid.Rows[iii]["right_id"].ToString());
right.Delete(right_id);
}
}
//获得菜单ID
string ids = Request.Form["dal"].ToString();
if (!string.IsNullOrEmpty(ids))
{
string[] menuid = ids.Split(',');
for (int i = 0; i < menuid.Length; i++)
{
int menu = int.Parse(menuid[i].ToString());
//获得功能
foreach (string key in Request.Form.Keys)
{
if (key.IndexOf("funid_") == 0)
{
string[] str = Request.Form[key].Split('_');
if (str[0] == menu.ToString())
{
int funid = int.Parse(str[1].ToString());
model.right_roleid = roleid;
model.right_mid = menu;
model.right_fid = funid;
right.Add(model);
}
}
}
}
Response.Write("");
}
}
}
}
}