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

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

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"
	private void 增加好友()
	{
		int 用户ID=Convert.ToInt32(Request.Form[""userid""]);
		String 备注信息=Request.Form[""userremark""];

		Hashtable 用户=常用.SQL_获取(new SqlCommand(""SELECT [ID],[昵称],[个人签名] FROM [""+程序.数据表前缀+""社区_用户_用户] WHERE [用户类型]='会员' AND [ID]=""+用户ID,访问.连接));

		if(用户==null)
			throw new Exception(""用户不存在"");

		if(用户ID==Convert.ToInt32(访问.用户[""ID""]))
			throw new Exception(""您不能增加自己为好友"");

		SqlCommand 语句=new SqlCommand(""SELECT [ID] FROM [""+程序.数据表前缀+""社区_好友] WHERE [好友ID]=""+用户ID+"" AND [会员ID]=""+访问.用户[""ID""],访问.连接);
		SqlDataReader 读取=语句.ExecuteReader();
		bool 是否存在=读取.HasRows;
		读取.Close();

		if(是否存在)
			throw new Exception(""您已经添加对方为好友"");

		int ZGID=常用.SQL_最高ID(访问.连接,程序.数据表前缀+""社区_好友"");
		语句=new SqlCommand(""INSERT INTO [""+程序.数据表前缀+""社区_好友]([ID],[会员ID],[好友ID],[好友昵称],[备注],[个人签名],[创建时间])""+
			""VALUES(@ID,@会员ID,@好友ID,@好友昵称,@备注,@个人签名,@创建时间)"",访问.连接);
		语句.Parameters.Add(""@ID"",SqlDbType.Int).Value=ZGID;
		语句.Parameters.Add(""@会员ID"",SqlDbType.Int).Value=Convert.ToInt32(访问.用户[""ID""]);
		语句.Parameters.Add(""@好友ID"",SqlDbType.Int).Value=用户ID;
		语句.Parameters.Add(""@好友昵称"",SqlDbType.NVarChar).Value=Convert.ToString(用户[""昵称""]);
		语句.Parameters.Add(""@备注"",SqlDbType.NVarChar).Value=备注信息;
		语句.Parameters.Add(""@个人签名"",SqlDbType.NVarChar).Value=用户[""个人签名""].ToString();
		语句.Parameters.Add(""@创建时间"",SqlDbType.DateTime).Value=DateTime.Now;
		语句.ExecuteNonQuery();
	}
";
            return @"
		访问.验证会员();
		增加好友();
";
        }

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

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

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

        #endregion
    }
}