using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.IO;
using System.Collections;
using System.Text.RegularExpressions;
using System.Text;

namespace UUN
{
    /// <summary>
    /// 编译Club/User_GetPassword3.aspx文件
    /// </summary>
    public class 编译扩展_Club_GetPassword3 : 编译扩展接口
    {
        private SqlConnection 连接;
        private HttpContext HC;
        private 编译器 编译器;

        public 编译扩展_Club_GetPassword3(SqlConnection 连接, HttpContext HC, 编译器 编译器)
        {
            this.连接 = 连接;
            this.HC = HC;
            this.编译器 = 编译器;
        }

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            return @"		String 密码保护答案1=Request.Form[""MB_DaAn1""];
		String 密码保护答案2=Request.Form[""MB_DaAn2""];
		String 密码保护答案3=Request.Form[""MB_DaAn3""];
		int ID=Convert.ToInt32(Request.QueryString[""ID""]);

		if(密码保护答案1.Length<1||密码保护答案1.Length>50)
			throw new Exception(""密码保护答案1不正确"");
		if(密码保护答案2.Length<1||密码保护答案2.Length>50)
			throw new Exception(""密码保护答案2不正确"");
		if(密码保护答案3.Length<1||密码保护答案3.Length>50)
			throw new Exception(""密码保护答案3不正确"");

		SqlCommand 语句=new SqlCommand(""SELECT [ID] FROM [""+程序.数据表前缀+""社区_密码保护] WHERE [密码保护答案1]=@密码保护答案1 AND [密码保护答案2]=@密码保护答案2 AND [密码保护答案3]=@密码保护答案3 AND [会员ID]=@会员ID"",访问.连接);
		语句.Parameters.Add(""@密码保护答案1"",SqlDbType.NVarChar).Value=密码保护答案1;
		语句.Parameters.Add(""@密码保护答案2"",SqlDbType.NVarChar).Value=密码保护答案2;
		语句.Parameters.Add(""@密码保护答案3"",SqlDbType.NVarChar).Value=密码保护答案3;
		语句.Parameters.Add(""@会员ID"",SqlDbType.NVarChar).Value=ID;
		SqlDataReader 读取=语句.ExecuteReader();
		bool 是否存在=读取.HasRows;
		读取.Close();

		if(是否存在)
		{
			语句=new SqlCommand(""SELECT [手机号] FROM [""+程序.数据表前缀+""社区_用户_用户] WHERE [ID]=@ID"",访问.连接);
			语句.Parameters.Add(""@ID"",SqlDbType.Int).Value=ID;
			String 手机号;
			读取=语句.ExecuteReader();
			if(读取.Read())
				手机号=Convert.ToString(读取[""手机号""]);
			else
			{
				读取.Close();
				throw new Exception(""用户不存在"");
			}
			读取.Close();

			语句=new SqlCommand(""UPDATE [""+程序.数据表前缀+""社区_用户_用户] SET [密码]=@密码 WHERE [ID]=@ID"",访问.连接);
			语句.Parameters.Add(""@密码"",SqlDbType.NVarChar).Value=常用.MD5加密(常用.MD5加密(手机号.Substring(5)));
			语句.Parameters.Add(""@ID"",SqlDbType.Int).Value=ID;
			语句.ExecuteNonQuery();
		}
		else
			throw new Exception(""密码保护答案错误"");
";
        }

        public string 编译公共标签(string 代码)
        {
            return "";
        }

        public string 编译模板方法(string 方法名称, string[] 属性数组)
        {
            return "";
        }

        public string 结束执行代码()
        {
            return "";
        }

        #endregion
    }
}