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_XiuGaiMiMa : System.Web.UI.Page
{
    private 访问 访问;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("修改密码", "网站后台", "修改密码", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

    private void ZhiXing()
    {
        访问.验证管理员();

        if (this.IsPostBack)
            修改密码();
        else
            TiShiWenZi.Text = "";
    }

    private void 修改密码()
    {
        String 原密码 = YuanMiMa.Text;
        String 新密码 = XinMiMa.Text;
        String 确认密码 = QueRenMiMa.Text;

        if (原密码.Length < 6 || 原密码.Length > 16)
            throw new Exception("原密码的长度只能在6-16之间");
        if (新密码.Length < 6 || 新密码.Length > 16)
            throw new Exception("新密码的长度只能在6-16之间");
        if (新密码 != 确认密码)
            throw new Exception("新密码和确认密码不相同");

        SqlCommand 语句 = new SqlCommand("SELECT [ID] FROM [" + 程序.数据表前缀 + "社区_用户_用户] WHERE [昵称]=@昵称 AND [密码]=@密码 AND [用户类型]='管理员'", 访问.连接);
        语句.Parameters.Add("@昵称", SqlDbType.NVarChar).Value = 访问.用户["昵称"].ToString();
        语句.Parameters.Add("@密码",SqlDbType.NVarChar).Value=常用.MD5加密(常用.MD5加密(原密码));
        SqlDataReader 读取 = 语句.ExecuteReader();
        bool 是否存在 = 读取.HasRows;
        读取.Close();

        if (!是否存在)
            throw new Exception("原密码错误");

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

        TiShiWenZi.Text = "修改密码成功";
    }
}
