/// <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); }
/// <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); }
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))); }
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)); }