using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using UUN;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;

public partial class Admin_NeiRong_GuanLiNeiRong : System.Web.UI.Page
{
    private 访问 访问;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("管理内容", "网站后台", "管理内容", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

    private void ZhiXing()
    {
        访问.验证管理员();
        if (this.IsPostBack)
            增加内容();
        else
            初始化();
    }

    private void 初始化()
    {
        DataSet 数据 = new DataSet();
        SqlCommand 语句 = new SqlCommand("SELECT [ID],[栏目名称],[所属栏目],[是否拥有子栏目] FROM ["+程序.数据表前缀+"内容_栏目] WHERE [栏目类型]=@栏目类型", 访问.连接);
        语句.Parameters.Add("@栏目类型", SqlDbType.NVarChar).Value = "文章";
        SqlDataAdapter 填充 = new SqlDataAdapter(语句);
        填充.Fill(数据, "内容栏目");

        LanMuWeiZhi.Items.Add(new ListItem("文章栏目", "0"));
        生成列表(数据, 0, 2);

        数据 = new DataSet();
        语句 = new SqlCommand("SELECT [ID],[栏目名称],[所属栏目],[是否拥有子栏目] FROM [" + 程序.数据表前缀 + "内容_栏目] WHERE [栏目类型]=@栏目类型", 访问.连接);
        语句.Parameters.Add("@栏目类型", SqlDbType.NVarChar).Value = "图片";
        填充 = new SqlDataAdapter(语句);
        填充.Fill(数据, "内容栏目");

        LanMuWeiZhi.Items.Add(new ListItem("图片栏目", "0"));
        生成列表(数据, 0, 2);

        数据 = new DataSet();
        语句 = new SqlCommand("SELECT [ID],[栏目名称],[所属栏目],[是否拥有子栏目] FROM [" + 程序.数据表前缀 + "内容_栏目] WHERE [栏目类型]=@栏目类型", 访问.连接);
        语句.Parameters.Add("@栏目类型", SqlDbType.NVarChar).Value = "软件";
        填充 = new SqlDataAdapter(语句);
        填充.Fill(数据, "内容栏目");

        LanMuWeiZhi.Items.Add(new ListItem("软件栏目", "0"));
        生成列表(数据, 0, 2);

        数据 = new DataSet();
        语句 = new SqlCommand("SELECT [ID],[栏目名称],[所属栏目],[是否拥有子栏目] FROM [" + 程序.数据表前缀 + "内容_栏目] WHERE [栏目类型]=@栏目类型", 访问.连接);
        语句.Parameters.Add("@栏目类型", SqlDbType.NVarChar).Value = "音乐";
        填充 = new SqlDataAdapter(语句);
        填充.Fill(数据, "内容栏目");

        LanMuWeiZhi.Items.Add(new ListItem("音乐栏目", "0"));
        生成列表(数据, 0, 2);
    }

    private void 增加内容()
    {
        int ID = Convert.ToInt32(LanMuWeiZhi.SelectedValue);

        if (ID != 0)
        {
            String 栏目类型 = null;
            SqlCommand 语句 = new SqlCommand("SELECT [栏目类型] FROM [" + 程序.数据表前缀 + "内容_栏目] WHERE [ID]=" + ID, 访问.连接);
            SqlDataReader 读取 = 语句.ExecuteReader();
            if (读取.Read())
            {
                栏目类型 = Convert.ToString(读取["栏目类型"]);
                读取.Close();
            }
            else
                读取.Close();
            switch (栏目类型)
            {
                case "文章":
                    Response.Redirect("FenLeiWenZhangNeiRongLieBiao.aspx?ID=" + ID);
                    break;
                case "图片":
                    Response.Redirect("FenLeiWenZhangNeiRongLieBiao.aspx?ID=" + ID);
                    break;
                case "软件":
                    Response.Redirect("FenLeiWenZhangNeiRongLieBiao.aspx?ID=" + ID);
                    break;
                case "音乐":
                    Response.Redirect("FenLeiWenZhangNeiRongLieBiao.aspx?ID=" + ID);
                    break;
            }
        }
    }

    private void 生成列表(DataSet 数据, int 父栏目, int 深度)
    {
        for (int i = 0; i < 数据.Tables[0].Rows.Count; i++)
        {
            DataRow 行 = 数据.Tables[0].Rows[i];
            if (Convert.ToInt32(行["所属栏目"]) == 父栏目)
            {
                ListItem 列表项 = new ListItem(生成空格(深度) + Convert.ToString(行["栏目名称"]), Convert.ToString(行["ID"]));
                列表项.Attributes["style"] = Convert.ToBoolean(行["是否拥有子栏目"]) ? "" : "background:#eeeeee";
                LanMuWeiZhi.Items.Add(列表项);
                生成列表(数据, Convert.ToInt32(行["ID"]), 深度 + 1);
            }
        }
    }

    private String 生成空格(int 数量)
    {
        String 返回值 = "";
        for (int i = 0; i < 数量; i++)
            返回值 += "　";
        return 返回值 + "|-";
    }
}
