using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using UUN;
using System.Data.SqlClient;

public partial class Admin_YongHu_GuanLiYuan_XiuGai : System.Web.UI.Page
{
    private 访问 访问;
    private new int ID;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("修改管理员", "网站后台", "修改管理员", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }
    private void ZhiXing()
    {
        访问.验证管理员();
        访问.验证权限("25");

        DataSet 数据 = (DataSet)Application["UUN_UUN3G_YongHuZu"];

        for (int i = 0; i < 数据.Tables[0].Rows.Count; i++)
        {
            DataRow 行 = 数据.Tables[0].Rows[i];
            if (行["用户类型"].ToString() == "管理员")
                YongHuZu.Items.Add(new ListItem(行["组名称"].ToString(), 行["组名称"].ToString()));
        }

        ID = Convert.ToInt32(Request.QueryString["ID"]);

        Hashtable 管理员 = 常用.SQL_获取(new SqlCommand("SELECT * FROM [" + 程序.数据表前缀 + "社区_用户_用户] WHERE [ID]=" + ID, 访问.连接));

        if (管理员 == null)
            throw new Exception("管理员不存在");

        if (Convert.ToString(管理员["昵称"]) == "Admin")
            throw new Exception("管理员[Admin]的资料禁止修改。");

        if (this.IsPostBack)
            修改管理员();
        else
            初始化管理员(管理员);
    }
    private void 初始化管理员(Hashtable 管理员)
    {
        NiChen.Text = Convert.ToString(管理员["昵称"]);
        YongHuZu.SelectedValue = 管理员["用户组"].ToString();
    }
    private void 修改管理员()
    {
        String 昵称 = NiChen.Text;
        String 密码 = MiMa.Text;
        String 管理员组 = YongHuZu.SelectedValue;

        SqlCommand 语句 = new SqlCommand("UPDATE [" + 程序.数据表前缀 + "社区_用户_用户] SET [昵称]=@昵称" +
            (密码 == "" ? "" : ",[密码]=@密码") +
            ",[用户组]=@用户组 WHERE [ID]=" + ID, 访问.连接);
        语句.Parameters.Add("@昵称", SqlDbType.NVarChar).Value = 昵称;
        if (密码 != "")
            语句.Parameters.Add("@密码", SqlDbType.NVarChar).Value = 常用.MD5加密(常用.MD5加密(密码));
        语句.Parameters.Add("@用户组", SqlDbType.NVarChar).Value = 管理员组;
        语句.ExecuteNonQuery();

        访问统计_管理记录 管理记录 = new 访问统计_管理记录(this.Context, 访问.连接);
        管理记录.记录("修改管理员[" + 昵称 + "]", 访问.用户["昵称"].ToString());

        Response.Redirect("GuanLiYuan.aspx");
    }
}
