; default: break; } } #endregion
#region Order By switch (sortBy) { case SortThreadsBy.LastPost: if (sortOrder == SortOrder.Ascending) { if (activeTopics || unansweredOnly) orderClause.Append("ThreadDate"); else orderClause.Append("IsSticky, StickyDate"); } else { if (activeTopics || unansweredOnly) orderClause.Append("ThreadDate DESC"); else orderClause.Append("IsSticky DESC, StickyDate DESC"); } break;
case SortThreadsBy.TotalRatings: if (sortOrder == SortOrder.Ascending) orderClause.Append("TotalRatings"); else orderClause.Append("TotalRatings DESC"); break; case SortThreadsBy.TotalReplies: if (sortOrder == SortOrder.Ascending) orderClause.Append("TotalReplies"); else orderClause.Append("TotalReplies DESC"); break;
case SortThreadsBy.ThreadAuthor: if (sortOrder == SortOrder.Ascending) orderClause.Append("PostAuthor DESC"); else orderClause.Append("PostAuthor"); break;
case SortThreadsBy.TotalViews: if (sortOrder == SortOrder.Ascending) orderClause.Append("TotalViews"); else orderClause.Append("TotalViews DESC"); break; } #endregion
// Build the SQL statements sqlCountSelect.Append(fromClause.ToString()); sqlCountSelect.Append(whereClause.ToString());
sqlPopulateSelect.Append(fromClause.ToString()); sqlPopulateSelect.Append(whereClause.ToString()); sqlPopulateSelect.Append(orderClause.ToString());
// Add Parameters to SPROC // command.Parameters.Add("@ForumID", SqlDbType.Int).Value = forumID; command.Parameters.Add("@PageIndex", SqlDbType.Int, 4).Value = pageIndex; command.Parameters.Add("@PageSize", SqlDbType.Int, 4).Value = pageSize; command.Parameters.Add("@sqlCount", SqlDbType.NVarChar, 4000).Value = sqlCountSelect.ToString(); command.Parameters.Add("@sqlPopulate", SqlDbType.NVarChar, 4000).Value = sqlPopulateSelect.ToString(); command.Parameters.Add("@UserID", SqlDbType.Int).Value = userID; command.Para上一页 [1] [2] [3] [4] [5] [6] 下一页 |