collect.cs
来自「最好用的站点内容管理系统 全部源代码都有」· CS 代码 · 共 928 行 · 第 1/4 页
CS
928 行
{
SqlConnection cn = new SqlConnection(DBConfig.CollectConString);
cn.Open();
string Sql = "select count(*) from " + Pre + "Collect_SiteFolder where ChannelID='" + Current.SiteID + "' and SiteFolder=@SiteFolder";
SqlParameter prm = new SqlParameter("@SiteFolder", SqlDbType.NVarChar, 50);
prm.Value = Name;
int n = Convert.ToInt32(DbHelper.ExecuteScalar(cn, CommandType.Text, Sql, prm));
if (n > 0)
{
cn.Close();
throw new Exception("栏目名称重复");
}
Sql = "insert into " + Pre + "Collect_SiteFolder (SiteFolder,SiteFolderDetail,ChannelID) values (@SiteFolder,@SiteFolderDetail,'" + Current.SiteID + "');SELECT @@IDENTITY";
SqlParameter[] param = new SqlParameter[2];
param[0] = new SqlParameter("@SiteFolder", SqlDbType.NVarChar, 50);
param[0].Value = Name;
param[1] = new SqlParameter("@SiteFolderDetail", SqlDbType.NText);
param[1].Value = Description.Trim().Equals("") ? DBNull.Value : (object)Description;
n = Convert.ToInt32(DbHelper.ExecuteScalar(cn, CommandType.Text, Sql, param));
cn.Close();
return n;
}
public void SiteUpdate(CollectSiteInfo st, int step)
{
SqlConnection cn = new SqlConnection(DBConfig.CollectConString);
cn.Open();
try
{
SqlParameter[] param = null;
string Sql = "";
if (step == 1)
{
#region 第一步
Sql = "select count(*) from " + Pre + "Collect_Site where SiteName=@SiteName and ChannelID='" + Current.SiteID + "' and ID<>@ID";
SqlParameter[] parm = new SqlParameter[2];
parm[0] = new SqlParameter("@SiteName", SqlDbType.NVarChar, 50);
parm[0].Value = st.SiteName;
parm[1] = new SqlParameter("@ID", SqlDbType.Int);
parm[1].Value = st.ID;
int n = Convert.ToInt32(DbHelper.ExecuteScalar(cn, CommandType.Text, Sql, parm));
if (n > 0)
{
cn.Close();
throw new Exception("采集站点名称重复!");
}
Sql = "update " + Pre + "Collect_Site Set SiteName=@SiteName,objURL=@objURL,Folder=@Folder,ClassID=@ClassID,";
Sql += "SaveRemotePic=@SaveRemotePic,Audit=@Audit,IsReverse=@IsReverse,IsAutoPicNews=@IsAutoPicNews,TextTF=@TextTF,";
Sql += "IsStyle=@IsStyle,IsDIV=@IsDIV,IsA=@IsA,IsClass=@IsClass,IsFont=@IsFont,IsSpan=@IsSpan,";
Sql += "IsObject=@IsObject,IsIFrame=@IsIFrame,IsScript=@IsScript,Encode=@Encode,IsAutoCollect=@IsAutoCollect";
Sql += " where ChannelID='" + Current.SiteID + "' and ID=" + st.ID;
param = GetParameters(st);
#endregion 第一步
}
else if (step == 2)
{
#region 第二步
Sql = "update " + Pre + "Collect_Site set ListSetting=@ListSetting,OtherPageSetting=@OtherPageSetting,";
Sql += "StartPageNum=@StartPageNum,EndPageNum=@EndPageNum,OtherType=@OtherType where ChannelID='" + Current.SiteID + "' and ID=" + st.ID;
param = new SqlParameter[5];
param[0] = new SqlParameter("@ListSetting", SqlDbType.NVarChar, 4000);
param[0].Value = st.ListSetting;
param[1] = new SqlParameter("@OtherPageSetting", SqlDbType.NVarChar, 4000);
param[1].Value = st.OtherPageSetting.Trim().Equals("") ? DBNull.Value : (object)st.OtherPageSetting;
param[2] = new SqlParameter("@StartPageNum", SqlDbType.Int);
param[2].Value = st.StartPageNum < 0 ? DBNull.Value : (object)st.StartPageNum;
param[3] = new SqlParameter("@EndPageNum", SqlDbType.Int);
param[3].Value = st.EndPageNum < 0 ? DBNull.Value : (object)st.EndPageNum;
param[4] = new SqlParameter("@OtherType", SqlDbType.Int);
param[4].Value = st.OtherType;
#endregion 第二步
}
else if (step == 3)
{
#region 第三步
Sql = "update " + Pre + "Collect_Site set LinkSetting=@LinkSetting where ChannelID='" + Current.SiteID + "' and ID=" + st.ID;
param = new SqlParameter[1];
param[0] = new SqlParameter("@LinkSetting", SqlDbType.NVarChar, 4000);
param[0].Value = st.LinkSetting;
#endregion 第三步
}
else if (step == 4)
{
#region 第四步
Sql = "Update " + Pre + "Collect_Site set PageTitleSetting=@PageTitleSetting,PagebodySetting=@PagebodySetting";
Sql += ",AuthorSetting=@AuthorSetting,SourceSetting=@SourceSetting,AddDateSetting=@AddDateSetting,HandSetAuthor=@HandSetAuthor";
Sql += ",HandSetSource=@HandSetSource,HandSetAddDate=@HandSetAddDate,OtherNewsType=@OtherNewsType";
Sql += ",OtherNewsPageSetting=@OtherNewsPageSetting where ChannelID='" + Current.SiteID + "' and ID=" + st.ID;
param = new SqlParameter[10];
param[0] = new SqlParameter("@PageTitleSetting", SqlDbType.NVarChar, 4000);
param[0].Value = st.PageTitleSetting;
param[1] = new SqlParameter("@PagebodySetting", SqlDbType.NVarChar, 4000);
param[1].Value = st.PagebodySetting;
param[2] = new SqlParameter("@AuthorSetting", SqlDbType.NVarChar, 4000);
param[2].Value = st.AuthorSetting.Equals("") ? DBNull.Value : (object)st.AuthorSetting;
param[3] = new SqlParameter("@SourceSetting", SqlDbType.NText);
param[3].Value = st.SourceSetting.Equals("") ? DBNull.Value : (object)st.SourceSetting;
param[4] = new SqlParameter("@AddDateSetting", SqlDbType.NText);
param[4].Value = st.AddDateSetting.Equals("") ? DBNull.Value : (object)st.AddDateSetting;
param[5] = new SqlParameter("@HandSetAuthor", SqlDbType.NVarChar, 100);
param[5].Value = st.HandSetAuthor.Equals("") ? DBNull.Value : (object)st.HandSetAuthor;
param[6] = new SqlParameter("@HandSetSource", SqlDbType.NVarChar, 100);
param[6].Value = st.HandSetSource.Equals("") ? DBNull.Value : (object)st.HandSetSource;
param[7] = new SqlParameter("@HandSetAddDate", SqlDbType.DateTime);
param[7].Value = (st.HandSetAddDate.Year < 1753) ? DBNull.Value : (object)st.HandSetAddDate;
param[8] = new SqlParameter("@OtherNewsType", SqlDbType.Int);
param[8].Value = st.OtherNewsType;
param[9] = new SqlParameter("@OtherNewsPageSetting", SqlDbType.NVarChar, 4000);
param[9].Value = st.OtherNewsPageSetting.Trim().Equals("") ? DBNull.Value : (object)st.OtherNewsPageSetting;
#endregion 第四步
}
DbHelper.ExecuteNonQuery(cn, CommandType.Text, Sql, param);
}
finally
{
if (cn.State == ConnectionState.Open)
cn.Close();
}
}
public void FolderUpdate(int id, string Name, string Description)
{
SqlConnection cn = new SqlConnection(DBConfig.CollectConString);
cn.Open();
string Sql = "select count(*) from " + Pre + "Collect_SiteFolder where SiteFolder=@SiteFolder and ChannelID='" + Current.SiteID + "' and ID<>" + id;
SqlParameter prm = new SqlParameter("@SiteFolder", SqlDbType.NVarChar, 50);
prm.Value = Name;
int n = Convert.ToInt32(DbHelper.ExecuteScalar(cn, CommandType.Text, Sql, prm));
if (n > 0)
{
cn.Close();
throw new Exception("栏目名称重复");
}
Sql = "update " + Pre + "Collect_SiteFolder set SiteFolder=@SiteFolder,SiteFolderDetail=@SiteFolderDetail where ChannelID='" + Current.SiteID + "' and ID=" + id;
SqlParameter[] param = new SqlParameter[2];
param[0] = new SqlParameter("@SiteFolder", SqlDbType.NVarChar, 50);
param[0].Value = Name;
param[1] = new SqlParameter("@SiteFolderDetail", SqlDbType.NText);
param[1].Value = Description.Trim().Equals("") ? DBNull.Value : (object)Description;
DbHelper.ExecuteNonQuery(cn, CommandType.Text, Sql, param);
cn.Close();
}
private SqlParameter[] GetParameters(CollectSiteInfo st)
{
SqlParameter[] pmt = new SqlParameter[20];
pmt[0] = new SqlParameter("@SiteName", SqlDbType.NVarChar, 50);
pmt[0].Value = st.SiteName;
pmt[1] = new SqlParameter("@objURL", SqlDbType.NVarChar, 250);
pmt[1].Value = st.objURL;
pmt[2] = new SqlParameter("@Folder", SqlDbType.Int);
pmt[2].Value = st.Folder < 1 ? DBNull.Value : (object)st.Folder;
pmt[3] = new SqlParameter("@SaveRemotePic", SqlDbType.Bit);
pmt[3].Value = st.SaveRemotePic;
pmt[4] = new SqlParameter("@Audit", SqlDbType.NVarChar, 10);
pmt[4].Value = st.Audit;
pmt[5] = new SqlParameter("@IsReverse", SqlDbType.Bit);
pmt[5].Value = st.IsReverse;
pmt[6] = new SqlParameter("@IsAutoPicNews", SqlDbType.Bit);
pmt[6].Value = st.IsAutoPicNews;
pmt[7] = new SqlParameter("@ClassID", SqlDbType.NVarChar, 50);
pmt[7].Value = st.ClassID;
pmt[8] = new SqlParameter("@TextTF", SqlDbType.Bit);
pmt[8].Value = st.TextTF;
pmt[9] = new SqlParameter("@IsStyle", SqlDbType.Bit);
pmt[9].Value = st.IsStyle;
pmt[10] = new SqlParameter("@IsDIV", SqlDbType.Bit);
pmt[10].Value = st.IsDIV;
pmt[11] = new SqlParameter("@IsA", SqlDbType.Bit);
pmt[11].Value = st.IsA;
pmt[12] = new SqlParameter("@IsClass", SqlDbType.Bit);
pmt[12].Value = st.IsClass;
pmt[13] = new SqlParameter("@IsFont", SqlDbType.Bit);
pmt[13].Value = st.IsFont;
pmt[14] = new SqlParameter("@IsSpan", SqlDbType.Bit);
pmt[14].Value = st.IsSpan;
pmt[15] = new SqlParameter("@IsObject", SqlDbType.Bit);
pmt[15].Value = st.IsObject;
pmt[16] = new SqlParameter("@IsIFrame", SqlDbType.Bit);
pmt[16].Value = st.IsIFrame;
pmt[17] = new SqlParameter("@IsScript", SqlDbType.Bit);
pmt[17].Value = st.IsScript;
pmt[18] = new SqlParameter("@Encode", SqlDbType.NVarChar, 50);
pmt[18].Value = st.Encode;
pmt[19] = new SqlParameter("@IsAutoCollect", SqlDbType.Bit);
pmt[19].Value = st.IsAutoCollect;
return pmt;
}
public DataTable GetRulePage(int PageIndex, int PageSize, out int RecordCount, out int PageCount)
{
return DbHelper.ExecutePage(DBConfig.CollectConString, "ID,RuleName,AddDate", Pre + "Collect_Rule where ChannelID='" + Current.SiteID + "'", "ID", "Order by ID", PageIndex, PageSize, out RecordCount, out PageCount, null);
}
public void RuleDelete(int id)
{
SqlConnection cn = new SqlConnection(DBConfig.CollectConString);
cn.Open();
SqlTransaction trans = cn.BeginTransaction();
try
{
string Sql = "delete from " + Pre + "Collect_RuleApply where RuleID=" + id;
DbHelper.ExecuteNonQuery(trans, CommandType.Text, Sql, null);
Sql = "delete from " + Pre + "Collect_Rule where ChannelID='" + Current.SiteID + "' and ID=" + id;
DbHelper.ExecuteNonQuery(trans, CommandType.Text, Sql, null);
trans.Commit();
}
catch
{
trans.Rollback();
throw;
}
finally
{
if (cn != null && cn.State == ConnectionState.Open)
cn.Close();
}
}
public int RuleAdd(string Name, string OldStr, string NewStr, int[] AppSites, bool IgnoreCase)
{
int id = 0;
SqlConnection cn = new SqlConnection(DBConfig.CollectConString);
cn.Open();
string Sql = "select count(*) from " + Pre + "Collect_Rule where RuleName=@RuleName and ChannelID='" + Current.SiteID + "'";
SqlParameter param = new SqlParameter("@RuleName", SqlDbType.NVarChar, 50);
param.Value = Name;
int n = Convert.ToInt32(DbHelper.ExecuteScalar(cn, CommandType.Text, Sql, param));
if (n > 0)
{
cn.Close();
throw new Exception("规则名称重复");
}
SqlTransaction Trans = cn.BeginTransaction();
try
{
Sql = "insert into " + Pre + "Collect_Rule (RuleName,OldContent,ReContent,AddDate,IgnoreCase,ChannelID) values (@RuleName,@OldContent,@ReContent,@AddDate,@IgnoreCase,'" + Current.SiteID + "')";
Sql += ";SELECT @@IDENTITY";
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?