spAddUpdate_DiscussionTopics

Parameters

Parameter Parameter Type Mode Description
@PKID int INOUT
@Topic nvarchar(510) IN
@Message ntext IN
@PostedByID int IN
@Guid uniqueidentifier IN
@Approved bit IN
@GroupID int IN

Definition

Copy


CREATE  PROCEDURE [dbo].[spAddUpdate_DiscussionTopics]
(
    @PKID            int output,
    @Topic            nvarchar(510),
    @Message        ntext,
    @PostedByID        int,
    @Guid            uniqueidentifier,
    @Approved        bit,
    @GroupID        int
)
AS

set nocount on

begin transaction

if (@PKID<=0)

begin
    declare @ApprovedDate datetime
    declare @ApprovedID int
    if @Approved=1
        begin
            set @ApprovedDate = getutcdate()
            set @ApprovedID = @PostedByID
        end
    else
        begin
            set @ApprovedDate = null
            set @ApprovedID = null
        end

    INSERT INTO DiscussionTopics
    (
    Topic        ,
    PostedByID    ,
    Guid        ,
    Approved    ,
    ApprovedID    ,
    ApprovedDate,
    GroupID
    )

    VALUES
    (
    @Topic        ,
    @PostedByID    ,
    @Guid        ,
    @Approved    ,
    @ApprovedID    ,
    @ApprovedDate,
    @GroupID
    )

    SELECT @PKID = @@Identity

    INSERT INTO DiscussionPosts
    (
        TopicID        ,
        Message        ,
        Approved    ,
        PostedByID
    )

    VALUES
    (
        @PKID        ,
        @Message    ,
        @Approved    ,
        @PostedByID
    )


end 
else 
begin

    UPDATE DiscussionTopics SET
        Topic        =@Topic,
        PostedByID    =@PostedByID,
        Guid        =@Guid,
        Approved    =@Approved,
        GroupID        =@GroupID,
        UpdateDate    =getutcdate()                
    WHERE ID=@PKID

    UPDATE DiscussionPosts SET
        Message        =@Message

    WHERE TopicID=@PKID AND IndentLevel=0

end

commit transaction