spAddUpdate_SitePolls

Parameters

Parameter Parameter Type Mode Description
@PKID int INOUT
@CurrentUsersID int IN
@ClientSitesID int IN
@SiteContentsID int IN
@LinkText nvarchar(256) IN
@Question nvarchar(256) IN
@AttributeTypesID int IN
@RandomizeAnswers bit IN
@XML ntext IN

Definition

Copy


CREATE     PROCEDURE [dbo].spAddUpdate_SitePolls (
    @PKID                int OUTPUT,
    @CurrentUsersID        int,
    @ClientSitesID      int,
    @SiteContentsID     int,
    @LinkText            nvarchar(256),
    @Question            nvarchar(256),
    @AttributeTypesID    int,
    @RandomizeAnswers    bit,
    @XML                 ntext
)
    AS

    BEGIN TRAN T1

    declare @sql_error as int

    if (@PKID<=0) begin

        INSERT INTO SitePolls ( 
            ClientSitesID,    
            ID,
            LinkText,
            Question,
            AttributeTypesID,
             RandomizeAnswers)
        VALUES (  
            @ClientSitesID,    
            @SiteContentsID,
            @LinkText,
            @Question,
            @AttributeTypesID,
               @RandomizeAnswers)

        SELECT    @sql_error = @@ERROR

        SELECT    @PKID = @SiteContentsID

    end 
    else begin

        UPDATE SitePolls  
            SET Question = @Question,
                RandomizeAnswers = @RandomizeAnswers,
                AttributeTypesID = @AttributeTypesID,
                LinkText = @LinkText
           WHERE ID = @PKID

        SELECT    @sql_error = @@ERROR

    end

    if @sql_error = 0 begin

        DELETE FROM SitePollAnswers WHERE SitePollsID = @PKID

        IF @@ERROR <> 0 ROLLBACK TRAN T1

        DECLARE @idoc int

        EXEC sp_xml_preparedocument @idoc OUTPUT, @XML

        INSERT INTO SitePollAnswers
            (SitePollsID, SeqNbr, Answer)
        SELECT 
            @PKID
            SequenceNbr,
            Answer
        FROM OPENXML (@idoc, '/Polls/Answer', 1) with (SequenceNbr int, Answer nvarchar(256)) 

        IF @@ERROR <> 0 ROLLBACK TRAN T1

        EXEC sp_xml_removedocument @idoc

        COMMIT TRAN T1
    end