Stored Procedures [dbo].[Forum_Post_Reported_Get]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@PortalIdint4
@PageIndexint4
@PageSizeint4
SQL Script


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
Uses