📄 channel.cs
字号:
//======================================================
//== (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 + -