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

📄 collect.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 4 页
字号:
                    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 + -