📄 collect.cs
字号:
string sTitle = r["Title"].ToString();
string sClass = r["ClassID"].ToString();
string sContent = r["Content"].ToString();
string sLinks = r["Links"].ToString();
string sAuthor = "";
if (r["Author"] != DBNull.Value) sAuthor = r["Author"].ToString();
string sSource = "";
if (r["Source"] != DBNull.Value) sSource = r["Source"].ToString();
DateTime dtAddDate = DateTime.Now;
if (r["AddDate"] != DBNull.Value) dtAddDate = (DateTime)r["AddDate"];
IsAudit = (int)r["Audit"];
string CheckSate = "3|1|1|1";
int IsLock = 1;
switch (IsAudit)
{
case 0:
CheckSate = "0|0|0|0";
IsLock = 0;
break;
case 1:
CheckSate = "1|1|0|0";
break;
case 2:
CheckSate = "2|1|1|0";
break;
}
#region 取新闻的默认值选项
#region 用于保存新闻的变量
string NewsPathRule = string.Empty;
string NewsFileRule = string.Empty;
byte isDelPoint = 0;
int Gpoint = 0;
int iPoint = 0;
string GroupNumber = string.Empty;
string FileExName = ".html";
string DataLib = Pre + "news";
string Temp = string.Empty;
string ClassEname = string.Empty;
#endregion 用于保存新闻的变量
Sql = "select NewsSavePath,NewsFileRule,isDelPoint,Gpoint,iPoint,GroupNumber,FileName,DataLib,ReadNewsTemplet,ClassEName";
Sql += " from " + Pre + "news_Class where ClassID='" + sClass + "'";
IDataReader rd = DbHelper.ExecuteReader(connetcms, CommandType.Text, Sql, null);
if (rd.Read())
{
#region 赋值
ClassEname = rd["ClassEName"].ToString();
if (rd["NewsSavePath"] != DBNull.Value)
NewsPathRule = rd["NewsSavePath"].ToString();
if (rd["NewsFileRule"] != DBNull.Value)
NewsFileRule = rd["NewsFileRule"].ToString();
if (rd["isDelPoint"] != DBNull.Value)
isDelPoint = Convert.ToByte(rd["isDelPoint"]);
if (rd["Gpoint"] != DBNull.Value)
Gpoint = Convert.ToInt32(rd["Gpoint"]);
if (rd["iPoint"] != DBNull.Value)
iPoint = Convert.ToInt32(rd["iPoint"]);
if (rd["GroupNumber"] != DBNull.Value)
GroupNumber = rd["GroupNumber"].ToString();
if (rd["FileName"] != DBNull.Value)
FileExName = rd["FileName"].ToString();
if (rd["DataLib"] != DBNull.Value)
DataLib = rd["DataLib"].ToString();
if (rd["ReadNewsTemplet"] != DBNull.Value)
Temp = rd["ReadNewsTemplet"].ToString();
#endregion 赋值
}
rd.Close();
#region 保存的文件名等的计算
string SavePath = ExChangeRule(NewsPathRule, sClass, ClassEname, AID);
string FileName = "";
ContentManage ct = new ContentManage();
DataTable ta = ct.sel_newsInfo(1);
if (ta != null && ta.Rows.Count > 0)
{
FileName = ta.Rows[0]["SaveNewsFilePath"].ToString();
}
if (FileName == "{@TitleName}")
{
FileName = NetCMS.Common.Public.ConvertE(sTitle);
}
else
{
FileName = ExChangeRule(FileName, sClass, ClassEname, AID);
}
string NewsID = NetCMS.Common.Rand.Number(12);
if (FileName == string.Empty)
FileName = NetCMS.Common.Rand.Number(12);
//while (Convert.ToInt32(DbHelper.ExecuteScalar(connetcms, CommandType.Text, "select count(ID) from " + Pre + "news where NewsID='" + NewsID + "' or FileName='" + FileName + "'", null)) > 0)
//{
// NewsID = NetCMS.Common.Rand.Number(12, true);
// //FileName = FileName + "_" + NetCMS.Common.Rand.Number(3, true);
//}
#endregion
#endregion 取新闻的默认值选项
Sql = "insert into " + Pre + "news (";
Sql += "[NewsID],[NewsType],[NewsTitle],[TitleITF],[URLaddress],[ClassID],[NewsPicTopline],[Author],[Souce],[Templet],[Content],";
Sql += "[CreatTime],[isLock],[SiteID],[Editor],[CheckStat],[NewsProperty],[Click],[FileName],[FileEXName],[isDelPoint],[Gpoint],";
Sql += "[iPoint],[GroupNumber],[ContentPicTF],[CommTF],[DiscussTF],[TopNum],[VoteTF],[isRecyle],[DataLib],[isVoteTF],[SavePath],";
Sql += "[isHtml],[isConstr],[Tags]";
Sql += ") values (";
Sql += "@NewsID,@NewsType,@NewsTitle,0,@URLaddress,@ClassID,0,@Author,@Souce,@Templet,@Content,";
Sql += "@CreatTime,@IsLock,@SiteID,@Editor,@CheckStat,@NewsProperty,0,@FileName,@FileEXName,@isDelPoint,@Gpoint,";
Sql += "@iPoint,@GroupNumber,0,1,0,0,0,0,@DataLib,0,@SavePath,";
Sql += "0,0,@Tags)";
//'" + FileName + "','.html',0,0,0,0,1,1,0,1,0,'"+ Pre +"'News',0,0,0)";
#region SQL参数赋值
SqlParameter[] param = new SqlParameter[24];
param[0] = new SqlParameter("@NewsID", SqlDbType.NVarChar, 13);
param[0].Value = NewsID;
param[1] = new SqlParameter("@NewsType", SqlDbType.TinyInt);
param[1].Value = 0;
param[2] = new SqlParameter("@NewsTitle", SqlDbType.NVarChar, 100);
param[2].Value = sTitle;
param[3] = new SqlParameter("@URLaddress", SqlDbType.NVarChar, 200);
param[3].Value = sLinks;
param[4] = new SqlParameter("@ClassID", SqlDbType.NVarChar, 12);
param[4].Value = sClass;
param[5] = new SqlParameter("@Author", SqlDbType.NVarChar, 100);
param[5].Value = sAuthor;
param[6] = new SqlParameter("@Souce", SqlDbType.NVarChar, 100);
param[6].Value = sSource;
param[7] = new SqlParameter("@Templet", SqlDbType.NVarChar, 200);
if (Temp == string.Empty)
param[7].Value = DBNull.Value;
else
param[7].Value = Temp;
param[8] = new SqlParameter("@Content", SqlDbType.NText);
param[8].Value = sContent;
param[9] = new SqlParameter("@CreatTime", SqlDbType.DateTime);
param[9].Value = dtAddDate;
param[10] = new SqlParameter("@IsLock", SqlDbType.TinyInt);
param[10].Value = IsLock;
param[11] = new SqlParameter("@SiteID", SqlDbType.NVarChar, 12);
param[11].Value = Current.SiteID;
param[12] = new SqlParameter("@Editor", SqlDbType.NVarChar, 18);
param[12].Value = NetCMS.Global.Current.UserName;
param[13] = new SqlParameter("@CheckStat", SqlDbType.NVarChar, 10);
param[13].Value = CheckSate;
param[14] = new SqlParameter("@NewsProperty", SqlDbType.NVarChar, 30);
param[14].Value = "0,0,0,0,0,0,0,0";
param[15] = new SqlParameter("@FileName", SqlDbType.NVarChar, 100);
param[15].Value = FileName;
param[16] = new SqlParameter("@FileEXName", SqlDbType.NVarChar, 6);
param[16].Value = FileExName;
param[17] = new SqlParameter("@isDelPoint", SqlDbType.TinyInt);
param[17].Value = isDelPoint;
param[18] = new SqlParameter("@Gpoint", SqlDbType.Int);
param[18].Value = Gpoint;
param[19] = new SqlParameter("@iPoint", SqlDbType.Int);
param[19].Value = iPoint;
param[20] = new SqlParameter("@GroupNumber", SqlDbType.NText);
param[20].Value = GroupNumber;
param[21] = new SqlParameter("@DataLib", SqlDbType.NVarChar, 20);
param[21].Value = DataLib;
param[22] = new SqlParameter("@SavePath", SqlDbType.NVarChar, 200);
if (SavePath == string.Empty)
param[22].Value = DBNull.Value;
else
param[22].Value = SavePath;
param[23] = new SqlParameter("@Tags", SqlDbType.NVarChar, 100);
param[23].Value = sTitle.Substring(0, 3);
#endregion SQL参数赋值
DbHelper.ExecuteNonQuery(connetcms, CommandType.Text, Sql, param);
Sql = "update " + Pre + "Collect_News set History=1 where ID=" + id;
DbHelper.ExecuteNonQuery(connetion, CommandType.Text, Sql, null);
nStoreSucceed++;
AID++;
}
catch
{
nStoreFailed++;
}
}
dt.Clear();
dt.Dispose();
}
private void StoreEnd()
{
if (connetion != null && connetion.State == ConnectionState.Open)
connetion.Close();
if (connetcms != null && connetcms.State == ConnectionState.Open)
connetcms.Close();
}
private string ExChangeRule(string RuleStr, string classid, string classename, int autoid)
{
string RetVal = string.Empty;
if (RuleStr != null && RuleStr != string.Empty)
{
RetVal = RuleStr;
DateTime Now = DateTime.Now;
RetVal = Regex.Replace(RetVal, @"\{\@year02\}", Now.Year.ToString().Substring(2, 2), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@year04\}", Now.Year.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@month\}", Now.Month.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@day\}", Now.Day.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@hour\}", Now.Hour.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@minute\}", Now.Minute.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@second\}", Now.Second.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@ClassId\}", classid, RegexOptions.Compiled | RegexOptions.IgnoreCase);
RetVal = Regex.Replace(RetVal, @"\{\@EName\}", classename, RegexOptions.Compiled | RegexOptions.IgnoreCase);
Regex reg = new Regex(@"\{\@Ram(?<m>\d+)_(?<n>\d+)\}", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Match match = reg.Match(RetVal);
while (match.Success)
{
int m = Convert.ToInt32(match.Groups["m"].Value);
int n = Convert.ToInt32(match.Groups["n"].Value);
string s = match.Value;
string rnd = string.Empty;
switch (n)
{
case 0:
rnd = NetCMS.Common.Rand.Number(m);
break;
case 1:
rnd = NetCMS.Common.Rand.Str_char(m);
break;
case 2:
rnd = NetCMS.Common.Rand.Str(m);
break;
}
RetVal = RetVal.Replace(s, rnd);
match = reg.Match(RetVal);
}
RetVal = Regex.Replace(RetVal, @"\{\@自动编号ID\}", autoid.ToString(), RegexOptions.Compiled | RegexOptions.IgnoreCase);
}
return RetVal;
}
#endregion 新闻入库
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -