⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 channel.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 5 页
字号:
//======================================================
//==     (c)2008 aspxcms inc by NeTCMS v1.0              ==
//==          Forum:bbs.aspxcms.com                   ==
//==         Website:www.aspxcms.com                  ==
//======================================================
using System;
using System.Data;
using System.Data.SqlClient;
using NetCMS.DALFactory;
using NetCMS.Model;
using System.Text.RegularExpressions;
using System.Text;
using System.Reflection;
using NetCMS.DALProfile;
using NetCMS.Config;

namespace NetCMS.DALSQLServer
{
    public class Model : DbBase, IModel
    {
        #region 公共部分
        public IDataReader GetTopicInfo(int ID, int ChID)
        {
            SqlParameter[] param = new SqlParameter[2];
            param[0] = new SqlParameter("@ID", SqlDbType.Int, 4);
            param[0].Value = ID;
            param[1] = new SqlParameter("@ChID", SqlDbType.Int, 4);
            param[1].Value = ChID;

            string DTable = getChannelTable(ChID);
            string sql = "select * from " + DTable + " where ID=@ID";
            return DbHelper.ExecuteReader(CommandType.Text, sql, param);
        }

        public string getUrl(string Type, int ID, int ChID)
        {
            SqlParameter param = new SqlParameter("@ID", ID);
            string urls = string.Empty;
            string sql = string.Empty;
            switch (Type)
            {
                case "content":
                    sql = "select a.SavePath,a.FileName,a.isDelPoint,b.savePath as savePath1 from " + getChannelTable(ChID) + " a," + Pre + "sys_channelclass b Where a.ID=@ID and a.ClassID=b.id";
                    break;
                case "class":
                    sql = "select SavePath,FileName,isDelPoint from " + Pre + "sys_channelclass Where ID=@ID and ChID=" + ChID + "";
                    break;
                case "special":
                    sql = "select SavePath,FileName from " + Pre + "sys_channelspecial Where ID=@ID and ChID=" + ChID + "";
                    break;
            }
            IDataReader dr = DbHelper.ExecuteReader(CommandType.Text, sql, param);
            if (dr.Read())
            {
                switch (Type)
                {
                    case "content":
                        if (dr["isDelPoint"].ToString() != "0")
                        {
                            urls = "/content.aspx?id=" + ID + "&ChID=" + ChID + "";
                        }
                        else
                        {
                            urls = "/" + dr["savePath1"].ToString() + "/" + dr["SavePath"].ToString() + "/" + dr["FileName"].ToString();
                        }
                        break;
                    case "class":
                        if (dr["isDelPoint"].ToString() != "0")
                        {
                            urls = "/list.aspx?id=" + ID + "&ChID=" + ChID + "";
                        }
                        else
                        {
                            urls = "/" + dr["SavePath"].ToString() + "/" + dr["FileName"].ToString();
                        }
                        break;
                    case "special":
                        urls = "/" + dr["SavePath"].ToString() + "/" + dr["FileName"].ToString();
                        break;
                }
                urls = urls.Replace("//", "/");
            }
            return urls;
        }

        /// <summary>
        /// 获取频道英文名称
        /// </summary>
        public string GetChannEName(int ChID)
        {
            SqlParameter param = new SqlParameter("@ChID", ChID);
            string sql = "select channelEItem from " + Pre + "sys_channel where ID=@ChID";
            return Convert.ToString(DbHelper.ExecuteScalar(CommandType.Text, sql, param));
        }

        public int GetTopChID(string EName)
        {
            SqlParameter param = new SqlParameter("@EName", EName);
            string sql = "select top 1 id from " + Pre + "sys_channel where channelEItem=@EName";
            return Convert.ToInt32(DbHelper.ExecuteScalar(CommandType.Text, sql, param));
        }
        #endregion
        #region 基础,创建频道部分
        public IDataReader getModelTemplet(int ParentID)
        {
            SqlParameter param = new SqlParameter("@ParentID", ParentID);
            string Sql = "select a.id,a.channelName,a.ParentID,(select count(id) from " + Pre + "sys_channel b where b.islock=0 and b.ParentID=a.id) as hashCount from " + Pre + "sys_channel a where a.islock=0 and a.ParentID=@ParentID order by a.id asc";
            return DbHelper.ExecuteReader(CommandType.Text, Sql, param);
        }

        public IDataReader getModelTempletisConstr(int ParentID)
        {
            SqlParameter param = new SqlParameter("@ParentID", ParentID);
            string Sql = "select a.*,(select count(id) from " + Pre + "sys_channel b where b.islock=0 and b.isConstr=1 and b.ParentID=a.ID) as HashCount  from " + Pre + "sys_channel a where a.islock=0 and a.isConstr=1 and a.ParentID=@ParentID order by a.id asc";
            return DbHelper.ExecuteReader(CommandType.Text, Sql, param);
        }
        public IDataReader getModelinfo(int ID)
        {
            SqlParameter param = new SqlParameter("@ID", ID);
            string Sql = "select * from " + Pre + "sys_channel where ID=@ID order by id desc";
            IDataReader dt = DbHelper.ExecuteReader(CommandType.Text, Sql, param);
            return dt;
        }

        public IDataReader GetChannelClassList(int ParentID)
        {
            SqlParameter param = new SqlParameter("@ParentID", ParentID);
            string sql = "select * from " + Pre + "sys_channel where ParentID=@ParentID order by ID DESC";
            return DbHelper.ExecuteReader(CommandType.Text, sql, param);
        }

        /// <summary>
        /// 创建表
        /// </summary>
        /// <param name="DataTable"></param>
        /// <param name="channelType"></param>
        public void creatModeltable(string DataTable, int channelType, int isConstr)
        {
            //根据模型标志读取默认配置
            string getModelContentField = NetCMS.Common.Public.getModelContentField(channelType.ToString());
            //string[] getDefaultValue = null;
            //string[] getDefaultItemValue = null;
            //string CreatField = "";
            //if (getModelContentField.IndexOf(",") > -1)
            //{
            //    getDefaultValue = getModelContentField.Split(',');
            //    for (int i = 0; i < getDefaultValue.Length; i++)
            //    {
            //        getDefaultItemValue = getDefaultValue[i].Split('|');
            //        CreatField += "[" + getDefaultItemValue[0] + "] [" + getDefaultItemValue[1] + "]";
            //        if (getDefaultItemValue[1].Trim().ToLower() == "nvarchar" || getDefaultItemValue[1].Trim().ToLower() == "varchar" || getDefaultItemValue[1].Trim().ToLower() == "char" || getDefaultItemValue[1].Trim().ToLower() == "nchar" || getDefaultItemValue[1].Trim().ToLower() == "varbinary")
            //        {
            //            CreatField += " (" + getDefaultItemValue[2] + ") " + getDefaultItemValue[3] + ",";
            //        }
            //        else
            //        {
            //            CreatField += " " + getDefaultItemValue[3] + ",";
            //        }
            //    }
            //}
            string Sql = "CREATE TABLE [" + DataTable + "](" +
                        "[Id] [int] IDENTITY (1, 1) NOT NULL ," +
                        "[ChID] [int] NOT NULL ," +//信息ID
                        "[title] [nvarchar](100) NOT NULL ," +//标题
                        "[ClassID] [int] NOT NULL ," +//栏目
                        "[SpecialID] [nvarchar] (200) NULL ," +//专题
                        "[TitleColor] [nvarchar] (10) NULL ," +//标题颜色
                        "[TitleITF] [tinyint] NULL ," +//标题是否为斜体
                        "[TitleBTF] [tinyint] NULL ," +//标题是否为粗体
                        "[PicURL] [nvarchar] (200) NULL ," +//图片地址
                        "[Content] [ntext] NULL ," +//内容描述
                        "[NaviContent] [nvarchar] (200) NULL ," +//内容导读
                        "[ContentProperty] [nvarchar] (9) NULL ," +//属性,推荐|热点|幻灯|滚动|头条
                        "[Author] [nvarchar] (100) NULL ," +//作者
                        "[Editor] [nvarchar] (50) NULL ," +//编辑
                        "[Souce] [nvarchar] (100) NULL ," +//来源
                        "[OrderID] [tinyint] NOT NULL ," +//权重
                        "[Tags] [nvarchar] (100) NULL ," +//关键字
                        "[Templet] [nvarchar] (200) NULL ," +//模板
                        "[SavePath] [nvarchar] (200) NULL ," +
                        "[FileName] [nvarchar] (100) NULL ," +//包含扩展名
                        "[isDelPoint] [tinyint] NOT NULL ," +//是否具有浏览权限
                        "[Gpoint] [int] NULL ," +//G币
                        "[iPoint] [int] NULL ," +//积分
                        "[GroupNumber] [ntext] NULL ," +//会员组
                        "[Metakeywords] [nvarchar] (200) NULL ," +//meta关键字
                        "[Metadesc] [nvarchar] (200) NULL ," +//meta描述
                        "[Click] [int] NULL ," +//点击
                        "[CreatTime] [datetime] NULL ," +//创建日期
                        "[isHTML] [tinyint] NOT NULL ," +//是否生成了静态
                        "[isConstr] [tinyint] NOT NULL ," + //专区
                        "[ConstrTF] [tinyint] NOT NULL ,"; //投稿审核
            Sql += "[islock] [tinyint] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]";
            Sql += "ALTER TABLE [" + DataTable + "] WITH NOCHECK ADD CONSTRAINT [PK_" + DataTable + "] PRIMARY KEY  CLUSTERED([Id])  ON [PRIMARY] ";
            DbHelper.ExecuteNonQuery(CommandType.Text, Sql, null);
            //根据模型类型插入字段

        }

        /// <summary>
        /// 插入记录
        /// </summary>
        /// <param name="uc"></param>
        public void updateDate(NetCMS.Model.ChannelInfo uc)
        {
            string Sql = "insert into " + Pre + "sys_channel (";
            Sql += "channelType,channelName,ParentID,channelItem,channelDescript,DataLib,islock,channelunit,htmldir,indexFileName,upfilessize,upfiletype,ischeck,indextemplet,classtemplet,specialtemplet,newstemplet,isHTML,SiteID,issys,isConstr,channelEItem,ClassSave,ClassFileName,SavePath,FileName,binddomain,TempletPath,isDelPoint,Gpoint,iPoint,GroupNumber";
            Sql += ") values (";
            Sql += "@channelType,@channelName,@ParentID,@channelItem,@channelDescript,@DataLib,0,@channelunit,@htmldir,@indexFileName,@upfilessize,@upfiletype,@ischeck,@indextemplet,@classtemplet,@specialtemplet,@newstemplet,@isHTML,'0',0,@isConstr,@channelEItem,@ClassSave,@ClassFileName,@SavePath,@FileName,@binddomain,@TempletPath,@isDelPoint,@Gpoint,@iPoint,@GroupNumber)";
            SqlParameter[] parm = InsertParameters(uc);
            DbHelper.ExecuteNonQuery(CommandType.Text, Sql, parm);
        }

        /// <summary>
        /// 更新记录记录
        /// </summary>
        /// <param name="uc"></param>
        public void updateDate1(NetCMS.Model.ChannelInfo uc)
        {
            string Sql = "Update " + Pre + "sys_channel set channelName=@channelName,ParentID=@ParentID,channelItem=@channelItem,channelDescript=@channelDescript,channelunit=@channelunit,htmldir=@htmldir,indexFileName=@indexFileName,upfilessize=@upfilessize,upfiletype=@upfiletype,ischeck=@ischeck,indextemplet=@indextemplet,classtemplet=@classtemplet,specialtemplet=@specialtemplet,newstemplet=@newstemplet,isHTML=@isHTML,isConstr=@isConstr,ClassSave=@ClassSave,ClassFileName=@ClassFileName,SavePath=@SavePath,FileName=@FileName,issys=@issys,binddomain=@binddomain,TempletPath=@TempletPath,isDelPoint=@isDelPoint,Gpoint=@Gpoint,iPoint=@iPoint,GroupNumber=@GroupNumber where ID=" + uc.Id + "";
            SqlParameter[] parm = InsertParameters(uc);
            DbHelper.ExecuteNonQuery(CommandType.Text, Sql, parm);
        }

        private SqlParameter[] InsertParameters(NetCMS.Model.ChannelInfo uc1)
        {
            SqlParameter[] param = new SqlParameter[32];
            param[0] = new SqlParameter("@Id", SqlDbType.Int, 4);
            param[0].Value = uc1.Id;
            param[1] = new SqlParameter("@isConstr", SqlDbType.TinyInt, 1);
            param[1].Value = uc1.isConstr;
            param[2] = new SqlParameter("@channelType", SqlDbType.TinyInt, 1);
            param[2].Value = uc1.channelType;
            param[3] = new SqlParameter("@channelName", SqlDbType.NVarChar, 50);
            param[3].Value = uc1.channelName;
            param[4] = new SqlParameter("@channelItem", SqlDbType.NVarChar, 50);
            param[4].Value = uc1.channelItem;
            param[5] = new SqlParameter("@channelDescript", SqlDbType.NVarChar, 200);
            param[5].Value = uc1.channelDescript;
            param[6] = new SqlParameter("@DataLib", SqlDbType.NVarChar, 30);
            param[6].Value = uc1.DataLib;
            param[7] = new SqlParameter("@islock", SqlDbType.TinyInt, 1);
            param[7].Value = uc1.islock;
            param[8] = new SqlParameter("@channelunit", SqlDbType.NVarChar, 50);
            param[8].Value = uc1.channelunit;
            param[9] = new SqlParameter("@htmldir", SqlDbType.NVarChar, 100);
            param[9].Value = uc1.htmldir;
            param[10] = new SqlParameter("@upfilessize", SqlDbType.Int, 4);
            param[10].Value = uc1.upfilessize;
            param[11] = new SqlParameter("@upfiletype", SqlDbType.NVarChar, 100);
            param[11].Value = uc1.upfiletype;
            param[12] = new SqlParameter("@ischeck", SqlDbType.TinyInt, 1);
            param[12].Value = uc1.ischeck;
            param[13] = new SqlParameter("@indextemplet", SqlDbType.NVarChar, 200);
            param[13].Value = uc1.indextemplet;
            param[14] = new SqlParameter("@classtemplet", SqlDbType.NVarChar, 200);
            param[14].Value = uc1.classtemplet;
            param[15] = new SqlParameter("@specialtemplet", SqlDbType.NVarChar, 200);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -