USP_EVENT_TEAMFUNDRAISINGCOPY

Copies team fundraising data from one event to another event.

Parameters

Parameter Parameter Type Mode Description
@SOURCEEVENTID uniqueidentifier IN
@SOURCETEAMID uniqueidentifier IN
@DESTINATIONEVENTID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@COPYTEAMFUNDRAISERS bit IN
@CURRENTAPPUSERID uniqueidentifier IN
@FEATUREID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_EVENT_TEAMFUNDRAISINGCOPY
            (
                @SOURCEEVENTID uniqueidentifier,
                @SOURCETEAMID uniqueidentifier,
                @DESTINATIONEVENTID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier = null,
                @COPYTEAMFUNDRAISERS bit = 0,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @FEATUREID uniqueidentifier = null
            )
            with execute as caller
            as
                set nocount on;

                declare @SOURCEAPPEALID uniqueidentifier;

                if @CURRENTAPPUSERID is null
                    raiserror('ERR_CURRENTAPPUSERID_REQUIRED', 13, 1);

                if @SOURCETEAMID is not null
                    select @SOURCEAPPEALID = TEAMFUNDRAISINGTEAM.APPEALID from dbo.TEAMFUNDRAISINGTEAM where TEAMFUNDRAISINGTEAM.ID = @SOURCETEAMID;
                else
                    begin
                        -- Cannot copy if the source event does not exist

                        if not exists (select ID from dbo.EVENT where ID = @SOURCEEVENTID)
                            raiserror('ERR_EVENT_TEAMFUNDRAISINGCOPY_SOURCEEVENTMISSING',13,1);

                        if not (select dbo.UFN_EVENT_USERHASSITEACCESS(@CURRENTAPPUSERID, @SOURCEEVENTID)) = 1
                            raiserror('ERR_SECURITY_EVENTID', 13, 1);

                        select @SOURCEAPPEALID = EVENT.APPEALID from dbo.EVENT where EVENT.ID = @SOURCEEVENTID;
                    end

                if @SOURCEAPPEALID is null
                    raiserror('ERR_EVENT_TEAMFUNDRAISINGCOPY_SOURCEAPPEALMISSING',13,1);

                if not (select dbo.UFN_APPEAL_USERHASSITEACCESS(@CURRENTAPPUSERID, @SOURCEAPPEALID)) = 1
                    raiserror('ERR_SECURITY_APPEALID', 13, 1);

                declare @DESTINATIONAPPEALID uniqueidentifier;
                select @DESTINATIONAPPEALID = EVENT.APPEALID from dbo.EVENT where EVENT.ID = @DESTINATIONEVENTID;
                if @DESTINATIONAPPEALID is null
                    raiserror('ERR_EVENT_TEAMFUNDRAISINGCOPY_DESTINATIONAPPEALMISSING',13,1);

                declare @CURRENTDATE datetime;
                set @CURRENTDATE = getdate();

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

                declare @SOURCEAPPEALIDFORTEAMCOPY uniqueidentifier;
                if @SOURCETEAMID is null
                    set @SOURCEAPPEALIDFORTEAMCOPY = @SOURCEAPPEALID;

                exec dbo.USP_APPEAL_TEAMFUNDRAISINGCOPY
                    @SOURCEAPPEALID = @SOURCEAPPEALIDFORTEAMCOPY,
                    @SOURCETEAMID = @SOURCETEAMID,
                    @DESTINATIONAPPEALID = @DESTINATIONAPPEALID,
                    @CHANGEAGENTID = @CHANGEAGENTID,
                    @COPYTEAMFUNDRAISERS = @COPYTEAMFUNDRAISERS,
                    @CURRENTAPPUSERID = @CURRENTAPPUSERID,
                    @FEATUREID = @FEATUREID;

                return 0;