USP_BBNC_COMMITFUNDRAISERTEAMFUNDRAISINGTEAMUPDATE

Updates a team's information from a fundraiser Blackbaud Internet Solutions transaction to the system from a given batch.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(100) IN
@CAPTAINCONSTITUENTID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


            CREATE procedure dbo.USP_BBNC_COMMITFUNDRAISERTEAMFUNDRAISINGTEAMUPDATE
            (
                @ID uniqueidentifier,
                @NAME nvarchar(100),
                @CAPTAINCONSTITUENTID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier = null,
                @CHANGEDATE datetime = null
            )
            as
                set nocount on;

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

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

                begin try
                    update dbo.TEAMFUNDRAISINGTEAM set
                        [NAME] = @NAME
                    where
                        [ID] = @ID;

                    if @CAPTAINCONSTITUENTID is null
                    begin
                        declare @contextCache varbinary(128);

                        --cache current context information

                        set @contextCache = CONTEXT_INFO();

                        --set CONTEXT_INFO to @CHANGEAGENTID

                        set CONTEXT_INFO @CHANGEAGENTID;

                        delete from dbo.TEAMFUNDRAISINGTEAMCAPTAIN where TEAMFUNDRAISINGTEAMID = @ID;

                        --reset CONTEXT_INFO to previous value

                        if not @contextCache is null
                            set CONTEXT_INFO @contextCache;
                    end        
                    else
                        if not exists (select ID from dbo.TEAMFUNDRAISINGTEAMCAPTAIN where TEAMFUNDRAISINGTEAMID = @ID and CONSTITUENTID = @CAPTAINCONSTITUENTID)
                            insert into dbo.TEAMFUNDRAISINGTEAMCAPTAIN
                                (TEAMFUNDRAISINGTEAMID, CONSTITUENTID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                            values
                                (@ID, @CAPTAINCONSTITUENTID, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);
                end try
                begin catch
                    exec dbo.USP_RAISE_ERROR;
                    return 1;
                end catch

                return 0;