public IDataReader GetDebatePostList(int tid, int opinion, int pageSize, int pageIndex, string postTableId, PostOrderType postOrderType) { DbParameter[] parms = { DbHelper.MakeInParam("@tid", (DbType)SqlDbType.Int, 4, tid), DbHelper.MakeInParam("@opinion", (DbType)SqlDbType.Int, 4, opinion), DbHelper.MakeInParam("@pagesize", (DbType)SqlDbType.Int, 4, pageSize), DbHelper.MakeInParam("@pageindex", (DbType)SqlDbType.Int, 4, pageIndex) }; string commandText = string.Format("{0}getdebatepostlist{1}", BaseConfigs.GetTablePrefix, postTableId); return DbHelper.ExecuteReader(CommandType.StoredProcedure, commandText, parms); }
public IDataReader GetDebatePostList(int tid, int opinion, int pageSize, int pageIndex, string postTableName, PostOrderType postOrderType) { string orderField = "diggs"; string orderByASC = " ASC"; if (postOrderType.Orderfield == PostOrderType.OrderFiled.PostDateTime) orderField = "postdatetime"; if (postOrderType.Orderdirection == OrderDirection.DESC) orderByASC = " DESC"; DbParameter[] parms = { DbHelper.MakeInParam("@tid", DbType.Int32, 4, tid), DbHelper.MakeInParam("@opinion", DbType.Int32, 4, opinion), DbHelper.MakeInParam("@pagesize", DbType.Int32, 4, pageSize), DbHelper.MakeInParam("@pageindex", DbType.Int32, 4, pageIndex), DbHelper.MakeInParam("@posttablename", DbType.AnsiString, 20, postTableName), DbHelper.MakeInParam("@orderby", DbType.AnsiString, 20, orderField), DbHelper.MakeInParam("@ascdesc", DbType.AnsiString, 5, orderByASC) }; string sql = string.Format("{0}getdebatepostlist", BaseConfigs.GetTablePrefix); return DbHelper.ExecuteReader(CommandType.StoredProcedure, sql, parms); }
private static List<ShowtopicPagePostInfo> GetDebatePostList(PostpramsInfo postpramsInfo, out List<ShowtopicPageAttachmentInfo> attachList, bool isModer, int debateOpinion, PostOrderType postOrderType) { List<ShowtopicPagePostInfo> postList = new List<ShowtopicPagePostInfo>(); attachList = new List<ShowtopicPageAttachmentInfo>(); StringBuilder attachmentpidlist = new StringBuilder(); StringBuilder pidList = new StringBuilder(); postList = Data.Debates.GetDebatePostList(postpramsInfo, debateOpinion, postOrderType); //当因冗余字段不准导致未取得分页信息时,修正冗余字段,并取最后一页 if (postList.Count == 0 && postpramsInfo.Pageindex > 1) { int postcount = Data.Debates.GetRealDebatePostCount(postpramsInfo.Tid, debateOpinion); postpramsInfo.Pageindex = postcount % postpramsInfo.Pagesize == 0 ? postcount / postpramsInfo.Pagesize : postcount / postpramsInfo.Pagesize + 1; postList = Data.Debates.GetDebatePostList(postpramsInfo, debateOpinion, postOrderType); } StringBuilder attachPidList = new StringBuilder(); foreach (ShowtopicPagePostInfo post in postList) { pidList.AppendFormat("{0},", post.Pid); if (post.Attachment > 0) attachPidList.AppendFormat("{0},", post.Pid); } attachList = Attachments.GetAttachmentList(postpramsInfo, attachPidList.ToString().TrimEnd(',')); Dictionary<int, int> postdiggs = GetPostDiggs(pidList.ToString().Trim(',')); foreach (ShowtopicPagePostInfo post in postList) { if (postdiggs.ContainsKey(post.Pid)) post.Diggs = postdiggs[post.Pid]; } Posts.ParsePostListExtraInfo(postpramsInfo, attachList, isModer, postList); return postList; }
/// <summary> /// 返回辩论帖子列表 /// </summary> /// <param name="postpramsInfo">参数对象</param> /// <param name="debateOpinion">辩论正反观点</param> /// <param name="postOrderType">排序类型</param> /// <returns></returns> public static List<ShowtopicPagePostInfo> GetDebatePostList(PostpramsInfo postpramsInfo, int debateOpinion, PostOrderType postOrderType) { IDataReader reader = DatabaseProvider.GetInstance().GetDebatePostList(postpramsInfo.Tid, debateOpinion, postpramsInfo.Pagesize, postpramsInfo.Pageindex, PostTables.GetPostTableId(postpramsInfo.Tid), postOrderType); return Posts.LoadPostList(postpramsInfo, reader); }
public IDataReader GetDebatePostList(PostpramsInfo postpramsInfo, int opinion, int pageSize, int pageIndex, string postTableId, PostOrderType postOrderType) { int posterid = postpramsInfo.Condition == "" ? 0 : Convert.ToInt32(postpramsInfo.Condition.Substring(postpramsInfo.Condition.IndexOf("=") + 1).Trim()); DbParameter[] parms = { DbHelper.MakeInParam("@tid", (DbType)SqlDbType.Int, 4, postpramsInfo.Tid), DbHelper.MakeInParam("@opinion", (DbType)SqlDbType.Int, 4, opinion), DbHelper.MakeInParam("@pagesize", (DbType)SqlDbType.Int, 4, pageSize), DbHelper.MakeInParam("@pageindex", (DbType)SqlDbType.Int, 4, pageIndex) }; string commandText = string.Format("{0}getdebatepostlist{1}", BaseConfigs.GetTablePrefix, postTableId); return DbHelper.ExecuteReader(CommandType.StoredProcedure, commandText, parms); }
private static List<ShowtopicPagePostInfo> GetDebatePostList(PostpramsInfo postpramsInfo, out List<ShowtopicPageAttachmentInfo> attachmentlist, bool ismoder, int debateOpinion, PostOrderType postOrderType) { List<ShowtopicPagePostInfo> postcoll = new List<ShowtopicPagePostInfo>(); attachmentlist = new List<ShowtopicPageAttachmentInfo>(); StringBuilder attachmentpidlist = new StringBuilder(); StringBuilder pidlist = new StringBuilder(); IDataReader reader = DatabaseProvider.GetInstance().GetDebatePostList(postpramsInfo.Tid, debateOpinion, postpramsInfo.Pagesize, postpramsInfo.Pageindex, Posts.GetPostTableName(postpramsInfo.Tid), postOrderType); postcoll = Posts.ParsePostList(postpramsInfo, attachmentlist, ismoder, postcoll, reader, attachmentpidlist); //当因冗余字段不准导致未取得分页信息时,修正冗余字段,并取最后一页 if (postcoll.Count == 0 && postpramsInfo.Pageindex > 1) { int postcount = DatabaseProvider.GetInstance().ReviseDebateTopicDiggs(postpramsInfo.Tid, debateOpinion); postpramsInfo.Pageindex = postcount % postpramsInfo.Pagesize == 0 ? postcount / postpramsInfo.Pagesize : postcount / postpramsInfo.Pagesize + 1; reader = DatabaseProvider.GetInstance().GetDebatePostList(postpramsInfo.Tid, debateOpinion, postpramsInfo.Pagesize, postpramsInfo.Pageindex, Posts.GetPostTableName(postpramsInfo.Tid), postOrderType); postcoll = Posts.ParsePostList(postpramsInfo, attachmentlist, ismoder, postcoll, reader, attachmentpidlist); } foreach (ShowtopicPagePostInfo post in postcoll) { pidlist.AppendFormat("{0},", post.Pid); } Dictionary<int, int> postdiggs = GetPostDiggs(pidlist.ToString().Trim(',')); foreach (ShowtopicPagePostInfo post in postcoll) { if (postdiggs.ContainsKey(post.Pid)) { post.Diggs = postdiggs[post.Pid]; } } return postcoll; }