Skip to content
ManageUserCode.aspx.cs 3.47 KiB
Newer Older
Jack Dan's avatar
Jack Dan committed
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class Admin_ManageUserCode : MyPage
{
    private Guid _GroupID;
    private Guid _UserID;
    private String _ActionStr = "添加";

    private String _GroupType = "";

    protected void Page_Load(object sender, EventArgs e)
    {
        MySession.CheckSession();


        _GroupID = new Guid(Request.QueryString["GroupID"]);

        //检查页面访问权限,只有超级管理员和管理员可以添加/编辑用户
        if (!MySession.IsSuperAdmin && !PermissionHelper.CheckGroupPermission(_GroupID, PermissionHelper.PermissionCode.Admin))
        {
            Response.Write("没有权限啊~~");
            Response.End();
            return;
        }

        _GroupType = Request.QueryString["GroupType"];

        if (!IsPostBack)
        {
            //根据组的默认权限显示用户可用权限列表
            loadGroupInfo();
        }

        //地址栏参数有用户ID,表明是编辑用户
        if (Request.QueryString["UserID"] != null)
        {
            //编辑用户
            _UserID = new Guid(Request.QueryString["UserID"]);
            _ActionStr = "编辑";
            hfAction.Value = "Edit";
            //编辑用户需要加载用户信息
            LoadUserInfo();
        }
        else
        {
            //添加用户,创建一个新的用户ID
            _UserID = Guid.NewGuid();
            hfAction.Value = "Add";
        }

        //缓存组ID和用户ID
        hfGroupID.Value = _GroupID.ToString();
        hfUserID.Value = _UserID.ToString();

        //如果是编辑用户,不显示【确认密码】框
        phPass.Visible = (hfAction.Value == "Add");
    }

    private void LoadUserInfo()
    {
        DataRow dr = Sdbo.ExecuteDataRow("SELECT LoginName,LoginPass,NickName,AuthCode FROM v_UserGroupDetail WHERE UserID='{0}' AND GroupID='{1}'", _UserID, _GroupID);
        if (dr != null)
        {
            //缓存原始密码,显示相关表单信息
            hfOldPass.Value = dr["LoginPass"].ToString();
            txtLoginName.Text = dr["LoginName"].ToString();
            txtName.Text = dr["NickName"].ToString();
            int authCode = Convert.ToInt32(dr["AuthCode"].ToString());

            //处理用户权限列表
            foreach (ListItem li in cbxList.Items)
            {
                int code = Convert.ToInt32(li.Value);
                li.Selected = PermissionHelper.CheckPermission(authCode,  (PermissionHelper.PermissionCode)code);
            }
        }
        else
        {
            Response.Write("没有找到相关信息");
            Response.End();
        }
    }

    private void loadGroupInfo()
    {
        DataRow dr = Sdbo.ExecuteDataRow("SELECT GroupName,DefaultAuth FROM Permission.GroupInfo WHERE IsDel=0 AND GroupID='{0}'", _GroupID);
        if (dr != null)
        {
            //lblGroupName.Text = String.Format("{0} {1} 的用户", _ActionStr, dr["GroupName"]);
            int authCode = (int)dr["DefaultAuth"];
            DataTable dt = PermissionHelper.GetPermissionList(authCode);
            foreach (DataRow drr in dt.Rows)
            {
                ListItem li = new ListItem(drr["Title"].ToString(), drr["Value"].ToString());
                li.Attributes.Add("code", drr["Value"].ToString());
                li.Selected = true;
                cbxList.Items.Add(li);
            }
        }
    }
}