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

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

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"
	private int BID;
	private int ID;
	private int 操作;
	private DataSet 论坛版主;
	private void 获取论坛版主()
	{
		论坛版主=new DataSet();
		SqlCommand 语句=new SqlCommand(""SELECT * FROM [""+程序.数据表前缀+""社区_论坛_版主] WHERE [所属版块]=""+BID+"" ORDER BY [创建时间]"",访问.连接);
		SqlDataAdapter 填充=new SqlDataAdapter(语句);
		填充.Fill(论坛版主,""论坛版主"");
	}
	private bool 是否版主()
	{
		if(论坛版主==null)
			获取论坛版主();
		bool 返回值=false;
		for(int i=0;i<论坛版主.Tables[0].Rows.Count;i++)
			if(Convert.ToInt32(论坛版主.Tables[0].Rows[i][""版主ID""])==Convert.ToInt32(访问.用户[""ID""]))
				返回值=true;
		return 返回值;
	}
	private void 执行操作()
	{
		Hashtable 贴子=常用.SQL_获取(new SqlCommand(""SELECT [是否置顶],[是否精华],[是否锁定] FROM [""+程序.数据表前缀+""社区_论坛_贴子] WHERE [是否删除]=0 AND [ID]=""+ID+"" AND [所属版块]=""+BID,访问.连接));
		if(贴子==null)
			throw new Exception(""贴子不存在"");

		String SQL=""UPDATE [""+程序.数据表前缀+""社区_论坛_贴子] SET "";
		switch(操作)
		{
			case 2:
				if(Convert.ToBoolean(贴子[""是否置顶""]))
					SQL+=""[是否置顶]=0"";
				else
					SQL+=""[是否置顶]=1"";
				break;
			case 0:
				if(Convert.ToBoolean(贴子[""是否精华""]))
					SQL+=""[是否精华]=0"";
				else
					SQL+=""[是否精华]=1"";
				break;
			default:
				if(Convert.ToBoolean(贴子[""是否锁定""]))
					SQL+=""[是否锁定]=0"";
				else
					SQL+=""[是否锁定]=1"";
				break;
		}
		SQL+="" WHERE [ID]=""+ID;

		SqlCommand 语句=new SqlCommand(SQL,访问.连接);
		语句.ExecuteNonQuery();
	}
";
            String 返回值 = "";
            返回值 += @"
	ID=Convert.ToInt32(Request.QueryString[""ID""]);
	BID=Convert.ToInt32(Request.QueryString[""BID""]);
	操作=Convert.ToInt32(Request.QueryString[""action""]);
	访问.验证会员();
	if(!是否版主())
		throw new Exception(""只允许版主操作"");
	执行操作();
	Response.Redirect(常用.处理地址(""Topic.aspx?BID=""+BID+""&ID=""+ID,访问.用户[""标识""].ToString()));
";
            return 返回值;
        }

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

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

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

        #endregion
    }
}