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

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

        #region 编译扩展接口 成员

        public string 开始执行代码()
        {
            编译器.方法库 += @"
	private int 未读消息数;
	private int 系统消息数;
	private int 收信数;
	private int 发信数;

	private int 获取数量(String 条件)
	{
		SqlCommand 语句=new SqlCommand(""SELECT COUNT(ID) FROM [""+程序.数据表前缀+""社区_消息] WHERE ""+条件,访问.连接);
		return Convert.ToInt32(语句.ExecuteScalar());
	}


	private void 初始化数据()
	{
		未读消息数=获取数量(""[目标用户ID]=""+访问.用户[""ID""]+"" AND [是否已读]=0 AND [目标已删除]=0"");
		系统消息数=获取数量(""[目标用户ID]=""+访问.用户[""ID""]+"" AND [是否系统消息]=1"");
		收信数=获取数量(""[目标用户ID]=""+访问.用户[""ID""]+"" AND [目标已删除]=0 AND [是否系统消息]=0"");
		发信数=获取数量(""[用户ID]=""+访问.用户[""ID""]+"" AND [已删除]=0 AND [是否系统消息]=0"");
	}
";
            return @"
		访问.验证会员();
		初始化数据();
";
        }

        public string 编译公共标签(string 代码)
        {
            switch (代码)
            {
                case "未读消息数":
                    return @"
		返回值.Append(未读消息数);
";
                case "系统消息数":
                    return @"
		返回值.Append(系统消息数);
";
                case "收信数":
                    return @"
		返回值.Append(收信数);
";
                case "发信数":
                    return @"
		返回值.Append(发信数);
";
                default:
                    return "";
            }
        }

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

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

        #endregion
    }
}