USP_INVITEE_COPY
Copies invitees from one event to another event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEINVITATIONID | uniqueidentifier | IN | |
@DESTINATIONEVENTID | uniqueidentifier | IN | |
@DESTINATIONINVITATIONID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@INCLUDEDECLINEDINVITEES | bit | IN | |
@INCLUDEREGISTEREDINVITEES | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_INVITEE_COPY
(
@SOURCEINVITATIONID uniqueidentifier,
@DESTINATIONEVENTID uniqueidentifier,
@DESTINATIONINVITATIONID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@INCLUDEDECLINEDINVITEES bit = 0,
@INCLUDEREGISTEREDINVITEES bit = 0
)
with execute as caller
as
set nocount on;
-- Cannot copy if the source invitation does not exist
if not exists (select ID from dbo.INVITATION where ID = @SOURCEINVITATIONID)
raiserror('The source invitation specified does not exist.',13,1);
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
insert into dbo.INVITEE
(
CONSTITUENTID,
EVENTID,
INVITATIONID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
INVITEE.CONSTITUENTID,
@DESTINATIONEVENTID,
@DESTINATIONINVITATIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
dbo.INVITEE
left join dbo.REGISTRANT
on INVITEE.CONSTITUENTID = REGISTRANT.CONSTITUENTID
and INVITEE.EVENTID = REGISTRANT.EVENTID
where
INVITEE.INVITATIONID = @SOURCEINVITATIONID
and
((@INCLUDEDECLINEDINVITEES = 1 or INVITEE.DECLINED = 0)
and
(@INCLUDEREGISTEREDINVITEES = 1 or REGISTRANT.CONSTITUENTID is null))
and not exists
(
select
ID
from
dbo.INVITEE INNERINVITEE
where
INNERINVITEE.CONSTITUENTID = INVITEE.CONSTITUENTID
and INNERINVITEE.INVITATIONID = @DESTINATIONINVITATIONID
);
return 0;