Example #1
0
        /// <summary>
        /// 回帖列表
        /// </summary>
        /// <param name="settings"></param>
        /// <returns></returns>
        public static IPageOfList <ForumReplyInfo> ReplyList(ForumSearchSetting settings)
        {
            var list = ForumTopicManage.ReplyList(settings);

            foreach (var item in list)
            {
                item.PostDateTimeString = TransferDateTimeDiffCorrectToSecond(item.PostDateTime);
            }
            return(list);
        }
Example #2
0
        /// <summary>
        /// 主题列表
        /// </summary>
        /// <param name="settings"></param>
        /// <returns></returns>
        public static IPageOfList <ForumTopicInfo> TopicList(ForumSearchSetting settings)
        {
            var list = ForumTopicManage.TopicList(settings);

            foreach (var item in list)
            {
                LoadTopicExtensionInfo(item);
            }
            return(list);
        }
Example #3
0
        private static int TopicListCount(ForumSearchSetting settings)
        {
            StringBuilder sbCondition = new StringBuilder(" SELECT COUNT(*) FROM ForumTopics WITH(NOLOCK) WHERE 1 = 1");

            sbCondition.AppendFormat("  AND ForumId = @ForumId ");
            if (!settings.ShowDeleted)
            {
                sbCondition.Append("    AND IsDeleted = 0 ");
            }

            SqlParameter[] parms =
            {
                new SqlParameter("@ForumId", SqlDbType.Int),
            };
            parms[0].Value = settings.ForumId;
            return(Convert.ToInt32(Goodspeed.Library.Data.SQLPlus.ExecuteScalar(CommandType.Text, sbCondition.ToString(), parms)));
        }
Example #4
0
        public static IPageOfList <ForumReplyInfo> ReplyList(ForumSearchSetting settings)
        {
            FastPaging fp = new FastPaging();

            fp.PageIndex   = settings.PageIndex;
            fp.PageSize    = settings.PageSize;
            fp.TableName   = "ForumReplies";
            fp.TableReName = "p";
            fp.PrimaryKey  = "ID";
            fp.QueryFields = "p.*";

            StringBuilder sbCondition = new StringBuilder();

            sbCondition.AppendFormat("  TopicId = @TopicId ");
            if (!settings.ShowDeleted)
            {
                sbCondition.Append("    AND IsDeleted = 0 ");
            }
            fp.Condition   = sbCondition.ToString();
            fp.OverOrderBy = "PostDateTime ASC";

            SqlParameter[] parms =
            {
                new SqlParameter("@TopicId", SqlDbType.Int),
            };
            parms[0].Value = settings.TopicId;

            IList <ForumReplyInfo> list  = new List <ForumReplyInfo>();
            ForumReplyInfo         model = null;
            DataTable dt = Goodspeed.Library.Data.SQLPlus.ExecuteDataTable(CommandType.Text, fp.Build2005(), parms);

            if (dt != null && dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    model = GetReplyInfo(dr);
                    if (model != null)
                    {
                        list.Add(model);
                    }
                }
            }
            int count = ReplyListCount(settings);

            return(new PageOfList <ForumReplyInfo>(list, settings.PageIndex, settings.PageSize, count));
        }