Пример #1
0
        /// <summary>
        /// 这是一个完整的返回文章列表的方法,内部使用,根据不同的应用场景设置不同的参数来返回数据
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="classID"></param>
        /// <param name="AuthorID"></param>
        /// <returns></returns>
        private List <mArticle> GetArticleList(cGlobal.OrderBy orderby, cGlobal.OrderByRole orderByRole, int pageIndex, int pageSize = 10, int classID = 0, int AuthorID = -1)
        {
            DAL.dArticle da = new dArticle();

            int       rowCount = 0;
            DataTable d        = da.GetArticleList(pageIndex, pageSize, out rowCount, orderby, orderByRole, -1, -1);

            if (d == null)
            {
                return(null);
            }

            //将datatable转换为list,这个过程可以写一个公共类来处理,但在这个项目就直接转了
            List <mArticle> listArticle = new List <mArticle> ();

            for (int i = 0; i < d.Rows.Count; i++)
            {
                mArticle ma = new mArticle();
                ma.ID           = int.Parse(d.Rows[i]["ID"].ToString());
                ma.aCode        = d.Rows[i]["aCode"].ToString();
                ma.ClassID      = int.Parse(d.Rows[i]["ClassID"].ToString());
                ma.CoverImg     = d.Rows[i]["CoverImg"].ToString();
                ma.Title        = d.Rows[i]["Title"].ToString();
                ma.PublishDate  = DateTime.Parse(d.Rows[i]["PublishDate"].ToString());
                ma.AuthorID     = int.Parse(d.Rows[i]["AuthorID"].ToString());
                ma.Author       = d.Rows[i]["Author"].ToString();
                ma.Remark       = d.Rows[i]["Remark"].ToString();
                ma.Content      = d.Rows[i]["Content"].ToString();
                ma.PraiseCount  = int.Parse(d.Rows[i]["ZanCount"].ToString());
                ma.ClickCount   = int.Parse(d.Rows[i]["ClickCount"].ToString());
                ma.CommentCount = int.Parse(d.Rows[i]["CommentCount"].ToString());
                ma.Tag          = d.Rows[i]["Tag"].ToString();
                ma.State        = int.Parse(d.Rows[i]["State"].ToString());

                listArticle.Add(ma);
            }


            return(listArticle);
        }
Пример #2
0
        /// <summary>
        /// 获取教程文章列表
        /// </summary>
        /// <param name="startIndex"></param>
        /// <param name="step"></param>
        /// <param name="rowCount">返回总条数</param>
        /// <param name="orderby"></param>
        /// <param name="orderByRole"></param>
        /// <param name="ClassID">如果查询所有,请输入-1</param>
        /// <param name="authorID">如果查询所有,请输入-1</param>
        /// <returns></returns>
        public DataTable GetArticleList(int startIndex, int step, out int rowCount, cGlobal.OrderBy orderby, cGlobal.OrderByRole orderByRole, int ClassID, int authorID)
        {
            string sql      = "select * from sys_article ";
            string sqlWhere = string.Empty;

            if (ClassID > -1)
            {
                sqlWhere += " and ClassID=" + ClassID;
            }

            if (authorID > -1)
            {
                sqlWhere += " and AutherID=" + ClassID;
            }

            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sql = sql + " where " + sqlWhere.Substring(3, sqlWhere.Length - 3);
            }

            switch (orderby)
            {
            case cGlobal.OrderBy.ID:
                sql += " order by ID";
                break;

            case cGlobal.OrderBy.PublishDate:
                sql += " order by PublishDate";
                break;

            case cGlobal.OrderBy.Count:
                sql += " order by CommentCount";
                break;

            default:
                sql += " order by ID";
                break;
            }

            switch (orderByRole)
            {
            case cGlobal.OrderByRole.Asc:
                break;

            case cGlobal.OrderByRole.Desc:
                sql += " DESC";
                break;
            }

            int rowIndex = step * (startIndex - 1);

            sql += " limit " + rowIndex + "," + step + ";";
            sql += "select count(ID) from sys_article ";

            DataSet   ds = SqlHelper.ExecuteDataset(sql);
            DataTable tb = null;

            rowCount = 0;

            if (ds != null || ds.Tables.Count > 0)
            {
                tb = ds.Tables[0];

                if (ds.Tables.Count > 1)
                {
                    int.TryParse(ds.Tables[1].Rows[0][0].ToString(), out rowCount);
                }
            }

            return(tb);
        }