USP_BBNC_GETORCREATESURVEY

Retrieves or creates a survey based on a Blackbaud Internet Solutions survey ID.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@BBNCSURVEYID int IN
@CONSTITUENTID uniqueidentifier IN
@SURVEYNAME nvarchar(250) IN
@RESPONSEDATE datetime IN
@SURVEYCOMMENT nvarchar(max) IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


            CREATE procedure dbo.USP_BBNC_GETORCREATESURVEY
            (
                @ID uniqueidentifier output,
                @BBNCSURVEYID int
                @CONSTITUENTID uniqueidentifier,
                @SURVEYNAME nvarchar(250), 
                @RESPONSEDATE datetime,
                @SURVEYCOMMENT nvarchar(max),
                @CHANGEAGENTID uniqueidentifier,
                @CHANGEDATE datetime
            )
            as
            set nocount on;

            begin try
                if @CHANGEAGENTID is null
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                if @CHANGEDATE is null
                    set @CHANGEDATE = getdate();

                set @ID = null;
                select @ID = ID from dbo.SURVEY where CONSTITUENTID = @CONSTITUENTID and BBNCSURVEYID = @BBNCSURVEYID;

                if @ID is null
                begin
                    set @ID = newid();
                    insert into dbo.SURVEY(ID, NAME, DATESENT, DATERESPONDED, COMMENT, BBNCSURVEYID, CONSTITUENTID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                        values(@ID, @SURVEYNAME, null, @RESPONSEDATE, @SURVEYCOMMENT, @BBNCSURVEYID, @CONSTITUENTID, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);
                end
            end try
            begin catch
                exec dbo.USP_RAISE_ERROR;
                return 1;
            end catch

            return 0;