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.Xml;
using System.IO;

public partial class Admin_NeiRong_XiuGaiLanMu : System.Web.UI.Page
{
    private 访问 访问;
    protected String 栏目类型;
    protected String 栏目位置;
    protected String 执行代码;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("修改栏目", "网站后台", "修改栏目", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

    private String 获取栏目名称(int ID)
    {
        if (ID == 0)
            return "顶级栏目";
        String 返回值="";
        SqlCommand 语句 = new SqlCommand("SELECT [栏目名称] FROM ["+程序.数据表前缀+"内容_栏目] WHERE [ID]=" + ID, 访问.连接);
        SqlDataReader 读取 = 语句.ExecuteReader();
        if (读取.Read())
            返回值 = 读取["栏目名称"].ToString();
        else
        {
            读取.Close();
            throw new Exception("内容栏目不存在");
        }
        读取.Close();
        return 返回值;
    }

    private void ZhiXing()
    {
        访问.验证管理员();

        if (this.IsPostBack)
            修改栏目();
        else
            初始化栏目();
    }

    private void 初始化模板(String 内容类型)
    {
        FileInfo[] FIS = new DirectoryInfo(Server.MapPath("~/Template/Content/" + 程序.设置["默认模板"] + "/Content/")).GetFiles();
        for (int i = 0; i < FIS.Length; i++)
        {
            int ID = 0;
            String 模板名称 = "";
            String 模板类型 = "";
            String _内容类型 = "";
            bool 是否WAP = true;
            XmlReader 读取 = XmlReader.Create(FIS[i].OpenRead());

            while (读取.Read())
                if (读取.NodeType == XmlNodeType.Element)
                    if (读取.Name == "set")
                        if (读取.GetAttribute("name") == "ID")
                            ID = Convert.ToInt32(读取.GetAttribute("value"));
                        else if (读取.GetAttribute("name") == "模板名称")
                            模板名称 = 读取.GetAttribute("value");
                        else if (读取.GetAttribute("name") == "模板类型")
                            模板类型 = 读取.GetAttribute("value");
                        else if (读取.GetAttribute("name") == "内容类型")
                            _内容类型 = 读取.GetAttribute("value");
                        else if (读取.GetAttribute("name") == "是否WAP")
                            是否WAP = Convert.ToBoolean(读取.GetAttribute("value"));

            读取.Close();

            if (_内容类型 == 内容类型)
                switch (模板类型)
                {
                    case "内容列表":
                        if (是否WAP)
                        {
                            MoBan_NeiRongLieBiao.Items.Add(new ListItem(模板名称, ID.ToString()));
                            if (MoBan_NeiRongLieBiao.SelectedValue == "0")
                                MoBan_NeiRongLieBiao.SelectedValue = ID.ToString();
                        }
                        else
                        {
                            MoBan_3GNeiRongLieBiao.Items.Add(new ListItem(模板名称, ID.ToString()));
                            if (MoBan_3GNeiRongLieBiao.SelectedValue == "0")
                                MoBan_3GNeiRongLieBiao.SelectedValue = ID.ToString();
                        }
                        break;
                    case "查看内容":
                        if (是否WAP)
                        {
                            MoBan_ChaKanNeiRong.Items.Add(new ListItem(模板名称, ID.ToString()));
                            if (MoBan_ChaKanNeiRong.SelectedValue == "0")
                                MoBan_ChaKanNeiRong.SelectedValue = ID.ToString();
                        }
                        else
                        {
                            MoBan_3GChaKanNeiRong.Items.Add(new ListItem(模板名称, ID.ToString()));
                            if (MoBan_3GChaKanNeiRong.SelectedValue == "0")
                                MoBan_3GChaKanNeiRong.SelectedValue = ID.ToString();
                        }
                        break;
                    case "评论列表":
                        if (是否WAP)
                        {
                            MoBan_PingLunLieBiao.Items.Add(new ListItem(模板名称, ID.ToString()));
                            if (MoBan_PingLunLieBiao.SelectedValue == "0")
                                MoBan_PingLunLieBiao.SelectedValue = ID.ToString();
                        }
                        else
                        {
                            MoBan_3GPingLunLieBiao.Items.Add(new ListItem(模板名称, ID.ToString()));
                            if (MoBan_3GPingLunLieBiao.SelectedValue == "0")
                                MoBan_3GPingLunLieBiao.SelectedValue = ID.ToString();
                        }
                        break;
                }
        }
    }

    private void 初始化栏目()
    {
        String 标题信息 = Request.QueryString["ti"];
        Hashtable 内容栏目 = 常用.SQL_获取(new SqlCommand("SELECT * FROM ["+程序.数据表前缀+"内容_栏目] WHERE [ID]=" + (标题信息.StartsWith("sa") ? 标题信息.Substring(2) : 标题信息.Substring(1)), 访问.连接));

        if (内容栏目 == null)
            throw new Exception("内容栏目不存在");

        栏目类型 = 内容栏目["栏目类型"] + "栏目";
        栏目位置 = 获取栏目名称(Convert.ToInt32(内容栏目["所属栏目"]));

        LanMuMingChen.Text = Convert.ToString(内容栏目["栏目名称"]);
        WaiBuLianJieDiZhi.Text = Convert.ToString(内容栏目["外部链接地址"]);
        MoRenPaiXuFangShi.Text = Convert.ToString(内容栏目["默认排序方式"]);
        LanMuJianJie.Text = Convert.ToString(内容栏目["栏目简介"]);
        if (Convert.ToBoolean(内容栏目["是否隐藏"]))
            ShiFouYinCang_T.Checked = true;
        else
            ShiFouYinCang_F.Checked = true;

        初始化模板(内容栏目["栏目类型"].ToString());

        MoBan_NeiRongLieBiao.SelectedValue = 内容栏目["模板_内容列表"].ToString();
        MoBan_3GNeiRongLieBiao.SelectedValue = 内容栏目["模板_3G内容列表"].ToString();
        MoBan_ChaKanNeiRong.SelectedValue = 内容栏目["模板_查看内容"].ToString();
        MoBan_3GChaKanNeiRong.SelectedValue = 内容栏目["模板_3G查看内容"].ToString();
        MoBan_PingLunLieBiao.SelectedValue = 内容栏目["模板_评论列表"].ToString();
        MoBan_3GPingLunLieBiao.SelectedValue = 内容栏目["模板_3G评论列表"].ToString();
    }

    private void 修改栏目()
    {
        访问.验证权限("9");
        String 栏目名称 = LanMuMingChen.Text;
        String 外部链接地址 = WaiBuLianJieDiZhi.Text;
        String 默认排序方式 = MoRenPaiXuFangShi.Text;
        String 标题信息 = Request.QueryString["ti"];
        int 模板_内容列表 = Convert.ToInt32(MoBan_NeiRongLieBiao.SelectedValue);
        int 模板_3G内容列表 = Convert.ToInt32(MoBan_3GNeiRongLieBiao.SelectedValue);
        int 模板_查看内容 = Convert.ToInt32(MoBan_ChaKanNeiRong.SelectedValue);
        int 模板_3G查看内容 = Convert.ToInt32(MoBan_3GChaKanNeiRong.SelectedValue);
        int 模板_评论列表 = Convert.ToInt32(MoBan_PingLunLieBiao.SelectedValue);
        int 模板_3G评论列表 = Convert.ToInt32(MoBan_3GPingLunLieBiao.SelectedValue);


        String 栏目简介 = LanMuJianJie.Text;
        bool 是否隐藏 = ShiFouYinCang_T.Checked;

        SqlCommand 语句 = new SqlCommand("UPDATE ["+程序.数据表前缀+"内容_栏目] SET [栏目名称]=@栏目名称,"+
            "[外部链接地址]=@外部链接地址,"+
            "[默认排序方式]=@默认排序方式,"+
            "[栏目简介]=@栏目简介,"+
            "[是否隐藏]=@是否隐藏,"+
            "[模板_内容列表]=@模板_内容列表,"+
            "[模板_3G内容列表]=@模板_3G内容列表,"+
            "[模板_查看内容]=@模板_查看内容,"+
            "[模板_3G查看内容]=@模板_3G查看内容,"+
            "[模板_评论列表]=@模板_评论列表,"+
            "[模板_3G评论列表]=@模板_3G评论列表"+
            " WHERE [ID]=" + (标题信息.StartsWith("sa") ? 标题信息.Substring(2) : 标题信息.Substring(1)), 访问.连接);
        语句.Parameters.Add("@栏目名称", SqlDbType.NVarChar).Value = 栏目名称;
        语句.Parameters.Add("@外部链接地址", SqlDbType.NVarChar).Value = 外部链接地址;
        语句.Parameters.Add("@默认排序方式", SqlDbType.NVarChar).Value = 默认排序方式;
        语句.Parameters.Add("@栏目简介", SqlDbType.NVarChar).Value = 栏目简介;
        语句.Parameters.Add("@是否隐藏", SqlDbType.Bit).Value = 是否隐藏;
        语句.Parameters.Add("@模板_内容列表", SqlDbType.Int).Value = 模板_内容列表;
        语句.Parameters.Add("@模板_3G内容列表", SqlDbType.Int).Value = 模板_3G内容列表;
        语句.Parameters.Add("@模板_查看内容", SqlDbType.Int).Value = 模板_查看内容;
        语句.Parameters.Add("@模板_3G查看内容", SqlDbType.Int).Value = 模板_3G查看内容;
        语句.Parameters.Add("@模板_评论列表", SqlDbType.Int).Value = 模板_评论列表;
        语句.Parameters.Add("@模板_3G评论列表", SqlDbType.Int).Value = 模板_3G评论列表;
        语句.ExecuteNonQuery();
        更新缓存数据 更新缓存 = new 更新缓存数据(this.Context, 访问.连接);
        更新缓存.内容栏目_更新();

        访问统计_管理记录 记录 = new 访问统计_管理记录(this.Context, 访问.连接);
        记录.记录("修改栏目[" + 栏目名称 + "]", 访问.用户["昵称"].ToString());

        执行代码 = "window.open('../DH_NeiRongGuanLi.aspx','ZuoDaoHang');location.href='FenLeiNeiRongLieBiao.aspx?ID=" + (标题信息.StartsWith("sa") ? 标题信息.Substring(2) : 标题信息.Substring(1)) + "';";
    }
}
