
[dbo].[Forum_Tracking_ForumGet]
CREATE PROCEDURE dbo.[Forum_Tracking_ForumGet]
(
@UserID INT,
@ModuleID INT,
@PageSize INT,
@PageIndex INT
)
AS
DECLARE @RowStart INT
DECLARE @RowEnd INT
SET @RowStart = @PageSize * @PageIndex + 1 ;
SET @RowEnd = @RowStart + @PageSize - 1 ;
SELECT *
FROM ( SELECT TF.ForumID,
TF.UserID,
TF.ModuleID,
F.[Name] AS 'Subject',
F.MostRecentPostID,
F.TotalPosts,
ROW_NUMBER() OVER ( ORDER BY P.CreatedDate DESC ) AS RowNumber,
( SELECT COUNT(TF.ForumID)
FROM dbo.Forum_TrackedForums TF
WHERE TF.UserID = @UserID
AND TF.ModuleID = @ModuleID
) AS TotalRecords
FROM dbo.Forum_TrackedForums TF
INNER JOIN dbo.Forum_Forums F ON TF.ForumID = F.ForumID
INNER JOIN dbo.Forum_Posts P ON F.MostRecentPostID = P.PostID
WHERE TF.UserID = @UserID
AND TF.ModuleID = @ModuleID
) AS TrackingInfo
WHERE RowNumber >= @RowStart
AND RowNumber <= @RowEnd
GO