USP_EVENTLODGINGOPTIONS_COPY
Copies lodging options from one event to another event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEEVENTID | uniqueidentifier | IN | |
@DESTINATIONEVENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_EVENTLODGINGOPTIONS_COPY
(
@SOURCEEVENTID uniqueidentifier,
@DESTINATIONEVENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
with execute as caller
as
set nocount on;
-- Cannot copy if the source event does not exist
if not exists (select ID from dbo.EVENT where ID = @SOURCEEVENTID)
raiserror('The source event 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.EVENTLODGING
(
EVENTID,
EVENTLODGINGLOCATIONID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@DESTINATIONEVENTID,
EVENTLODGINGLOCATIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
dbo.EVENTLODGING
where
EVENTID = @SOURCEEVENTID;
declare @EVENTLODGINGLOCATIONID uniqueidentifier
declare EVENTLODGINGLOCATIONIDCURSOR cursor local fast_forward for
select EVENTLODGINGLOCATIONID
from EVENTLODGING
where EVENTID = @SOURCEEVENTID;
open EVENTLODGINGLOCATIONIDCURSOR
fetch next from EVENTLODGINGLOCATIONIDCURSOR into @EVENTLODGINGLOCATIONID
while @@FETCH_STATUS = 0
begin
insert into dbo.EVENTLODGINGROOM
(
ROOMTYPECODEID,
SLEEPS,
ALLOCATED,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
EVENTLODGINGID
)
select
ROOMTYPECODEID,
SLEEPS,
ALLOCATED,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
(select ID
from EVENTLODGING
where EVENTLODGING.EVENTID = @DESTINATIONEVENTID
and EVENTLODGING.EVENTLODGINGLOCATIONID = @EVENTLODGINGLOCATIONID)
from dbo.EVENTLODGINGROOM
inner join EVENTLODGING on EVENTLODGING.ID = EVENTLODGINGROOM.EVENTLODGINGID
where
EVENTLODGING.EVENTLODGINGLOCATIONID = @EVENTLODGINGLOCATIONID
and EVENTLODGING.EVENTID = @SOURCEEVENTID
fetch next from EVENTLODGINGLOCATIONIDCURSOR into @EVENTLODGINGLOCATIONID
end
close EVENTLODGINGLOCATIONIDCURSOR
deallocate EVENTLODGINGLOCATIONIDCURSOR
return 0;