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/Reg_hand2.aspx文件
    /// </summary>
    public class 编译扩展_Club_User_ProPassword : 编译扩展接口
    {
        private SqlConnection 连接;
        private HttpContext HC;
        private 编译器 编译器;

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

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"	private void Club_MiMaBaoHu_保存设置()
	{
		String 密码保护问题1=Request.Form[""MB_WenTi1""];
		String 密码保护答案1=Request.Form[""MB_DaAn1""];
		String 密码保护问题2=Request.Form[""MB_WenTi2""];
		String 密码保护答案2=Request.Form[""MB_DaAn2""];
		String 密码保护问题3=Request.Form[""MB_WenTi3""];
		String 密码保护答案3=Request.Form[""MB_DaAn3""];

		if(密码保护问题1.Length<1||密码保护问题1.Length>50)
			throw new Exception(""密码保护问题1的长度只能在1-50之间"");
		if(密码保护答案1.Length<1||密码保护答案1.Length>50)
			throw new Exception(""密码保护答案1的长度只能在1-50之间"");
		if(密码保护问题2.Length<1||密码保护问题2.Length>50)
			throw new Exception(""密码保护问题2的长度只能在1-50之间"");
		if(密码保护答案2.Length<1||密码保护答案2.Length>50)
			throw new Exception(""密码保护答案2的长度只能在1-50之间"");
		if(密码保护问题3.Length<1||密码保护问题3.Length>50)
			throw new Exception(""密码保护问题3的长度只能在1-50之间"");
		if(密码保护答案3.Length<1||密码保护答案3.Length>50)
			throw new Exception(""密码保护答案3的长度只能在1-50之间"");

		int ZGID=常用.SQL_最高ID(访问.连接,程序.数据表前缀+""社区_密码保护"");
		SqlCommand 语句=new SqlCommand(""INSERT INTO [""+程序.数据表前缀+""社区_密码保护]([ID],[密码保护问题1],[密码保护答案1],[密码保护问题2],[密码保护答案2],[密码保护问题3],[密码保护答案3],[会员ID])""+
			""VALUES(@ID,@密码保护问题1,@密码保护答案1,@密码保护问题2,@密码保护答案2,@密码保护问题3,@密码保护答案3,@会员ID)"",访问.连接);
		语句.Parameters.Add(""@ID"",SqlDbType.Int).Value=ZGID;
		语句.Parameters.Add(""@密码保护问题1"",SqlDbType.NVarChar).Value=密码保护问题1;
		语句.Parameters.Add(""@密码保护答案1"",SqlDbType.NVarChar).Value=密码保护答案1;
		语句.Parameters.Add(""@密码保护问题2"",SqlDbType.NVarChar).Value=密码保护问题2;
		语句.Parameters.Add(""@密码保护答案2"",SqlDbType.NVarChar).Value=密码保护答案2;
		语句.Parameters.Add(""@密码保护问题3"",SqlDbType.NVarChar).Value=密码保护问题3;
		语句.Parameters.Add(""@密码保护答案3"",SqlDbType.NVarChar).Value=密码保护答案3;
		语句.Parameters.Add(""@会员ID"",SqlDbType.Int).Value=Convert.ToInt32(访问.用户[""ID""]);
		语句.ExecuteNonQuery();

		Response.Redirect(常用.处理地址(""User_Default.aspx"",访问.用户[""标识""].ToString()));
	}";
            return @"		访问.验证会员();
		SqlCommand Club_MiMaBaoHu_语句=new SqlCommand(""SELECT [ID] FROM [""+程序.数据表前缀+""社区_密码保护] WHERE [会员ID]=@会员ID"",访问.连接);
		Club_MiMaBaoHu_语句.Parameters.Add(""@会员ID"",SqlDbType.Int).Value=Convert.ToInt32(访问.用户[""ID""]);
		SqlDataReader Club_MiMaBaoHu_读取=Club_MiMaBaoHu_语句.ExecuteReader();
		bool Club_MiMaBaoHu_是否存在=Club_MiMaBaoHu_读取.HasRows;
		Club_MiMaBaoHu_读取.Close();
		if(Club_MiMaBaoHu_是否存在)
			throw new Exception(""您已设置密码保护"");
		if(Request.QueryString[""Act""]==""En"")
			Club_MiMaBaoHu_保存设置();
";
        }

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

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

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

        #endregion
    }
}