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

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

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"
	private int ID;
	private void 删除消息()
	{
		Hashtable 消息=常用.SQL_获取(new SqlCommand(""SELECT [用户ID],[目标用户ID],[已删除],[目标已删除] FROM [""+程序.数据表前缀+""社区_消息] WHERE [ID]=""+ID,访问.连接));
		if(消息==null)
			throw new Exception(""消息不存在"");

		if(Convert.ToInt32(消息[""用户ID""])!=Convert.ToInt32(访问.用户[""ID""])&&Convert.ToInt32(消息[""目标用户ID""])!=Convert.ToInt32(访问.用户[""ID""]))
			throw new Exception(""消息不存在"");

		String SQL="""";
		if(Convert.ToInt32(消息[""用户ID""])==Convert.ToInt32(消息[""目标用户ID""]))
			SQL=""DELETE FROM [""+程序.数据表前缀+""社区_消息] WHERE [ID]=""+ID;
		else if(Convert.ToInt32(消息[""用户ID""])==Convert.ToInt32(访问.用户[""ID""]))
		{
			if(Convert.ToBoolean(消息[""目标已删除""]))
				SQL=""DELETE FROM [""+程序.数据表前缀+""社区_消息] WHERE [ID]=""+ID;
			else
				SQL=""UPDATE [""+程序.数据表前缀+""社区_消息] SET [已删除]=1 WHERE [ID]=""+ID;
		}
		else if(Convert.ToInt32(消息[""目标用户ID""])==Convert.ToInt32(访问.用户[""ID""]))
		{
			if(Convert.ToBoolean(消息[""已删除""]))
				SQL=""DELETE FROM [""+程序.数据表前缀+""社区_消息] WHERE [ID]=""+ID;
			else
				SQL=""UPDATE [""+程序.数据表前缀+""社区_消息] SET [目标已删除]=1 WHERE [ID]=""+ID;
		}

		SqlCommand 语句=new SqlCommand(SQL,访问.连接);
		语句.ExecuteNonQuery();
	}
";
            return @"
		ID=Convert.ToInt32(Request.QueryString[""ID""]);
		访问.验证会员();
		删除消息();
";
        }

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

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

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

        #endregion
    }
}