
[dbo].[Forum_Post_Reported_Get]
CREATE PROCEDURE dbo.[Forum_Post_Reported_Get]
@PortalId INT,
@PageIndex INT,
@PageSize INT
AS
BEGIN
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageSize - 1 + @PageLowerBound
CREATE TABLE #PagePostIndex
(
IndexId INT IDENTITY(0, 1)
NOT NULL,
PostID INT
)
INSERT INTO #PagePostIndex( P.PostID )
SELECT DISTINCT
( P.PostID )
FROM dbo.Forum_Posts P
INNER JOIN dbo.Forum_Threads T ON P.ThreadID = T.ThreadID
INNER JOIN dbo.Forum_Forums F ON T.ForumID = F.ForumID
INNER JOIN dbo.Forum_Groups G ON F.GroupID = G.GroupID
WHERE ( PortalId = @PortalId )
AND PostReported <> Addressed
SELECT P.PostID,
Subject,
PostReported,
P.ThreadID,
F.ForumID,
F.Name,
P.UserID,
( SELECT MAX(PR.CreatedDate)
FROM dbo.Forum_Post_Reported PR
WHERE PostID = P.PostID
) AS CreatedDate
FROM dbo.Forum_Posts P
INNER JOIN #PagePostIndex I ON I.PostID = P.PostID
INNER JOIN dbo.Forum_Threads T ON P.ThreadID = T.ThreadID
INNER JOIN dbo.Forum_Forums F ON T.ForumID = F.ForumID
INNER JOIN dbo.Forum_Groups G ON F.GroupID = G.GroupID
WHERE PortalID = @PortalID
AND ( PortalId = @PortalId )
AND IndexId >= @PageLowerBound
AND IndexId <= @PageUpperBound
AND PostReported <> Addressed
ORDER BY CreatedDate DESC
SELECT TotalRecords = COUNT(*)
FROM #PagePostIndex
END
GO