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

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

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"
	private String 返回地址;
	private void 增加收藏()
	{
		String 标题=Request.Form[""title""];
		String 地址=Request.Form[""url""];
		if(标题.Length<1||标题.Length>50)
			throw new Exception(""标题的长度只能在1-50之间"");
		if(地址.Length<1||地址.Length>200)
			throw new Exception(""地址的长度只能在1-200之间"");

		int ZGID=常用.SQL_最高ID(访问.连接,程序.数据表前缀+""社区_收藏"");
		SqlCommand 语句=new SqlCommand(""INSERT INTO [""+程序.数据表前缀+""社区_收藏]([ID],[标题],[地址],[用户ID],[创建时间])""+
			""VALUES(@ID,@标题,@地址,@用户ID,@创建时间)"",访问.连接);
		语句.Parameters.Add(""@ID"",SqlDbType.Int).Value=ZGID;
		语句.Parameters.Add(""@标题"",SqlDbType.NVarChar).Value=标题;
		语句.Parameters.Add(""@地址"",SqlDbType.NVarChar).Value=地址;
		语句.Parameters.Add(""@用户ID"",SqlDbType.Int).Value=Convert.ToInt32(访问.用户[""ID""]);
		语句.Parameters.Add(""@创建时间"",SqlDbType.DateTime).Value=DateTime.Now;
		语句.ExecuteNonQuery();
	}
";
            return @"
		访问.验证会员();
		返回地址=Request.QueryString[""rurl""];
		增加收藏();
";
        }

        public string 编译公共标签(string 代码)
        {
            switch (代码)
            {
                case "返回地址":
                    return @"
		返回值.Append(Server.HtmlEncode(返回地址));
";
                default:
                    return "";
            }
        }

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

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

        #endregion
    }
}