USP_TIXEVENT_COPYEVENT
Copies an event to a new instance.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@NEWDATE | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_TIXEVENT_COPYEVENT
(
@EVENTID uniqueidentifier,
@NEWDATE datetime,
@CHANGEAGENTID uniqueidentifier
)
as
begin
declare @ID uniqueidentifier;
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
-- handle inserting the data
declare @EVENTHOLDLISTID uniqueidentifier
set @EVENTHOLDLISTID = null
declare @EVENTPRICELISTID uniqueidentifier
set @EVENTPRICELISTID = null
declare @EVENTSALESTYPEID uniqueidentifier
set @EVENTSALESTYPEID = null
insert into dbo.TIXEVENT
(
ID,
PROGRAMID,
NAME,
DESCRIPTION,
CAPACITY,
EVENTDATE,
STARTTIME,
ENDTIME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@ID,
PROGRAMID,
NAME,
DESCRIPTION,
CAPACITY,
@NEWDATE,
@NEWDATE + convert(datetime, left(dbo.UFN_HOURMINUTE_GETFROMDATE(STARTTIME), 2) + ':' + right(dbo.UFN_HOURMINUTE_GETFROMDATE(STARTTIME), 2)),
@NEWDATE + convert(datetime, left(dbo.UFN_HOURMINUTE_GETFROMDATE(ENDTIME), 2) + ':' + right(dbo.UFN_HOURMINUTE_GETFROMDATE(ENDTIME), 2)),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.TIXEVENT
where TIXEVENT.ID = @EVENTID;
--now copy the locations for that event into the new event
begin
insert into dbo.TIXEVENTLOCATION
(
ID,
TIXEVENTID,
EVENTCONFLICTID,
EVENTLOCATIONID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
newid(),
@ID,
null,
EVENTLOCATIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.TIXEVENTLOCATION
where TIXEVENTLOCATION.TIXEVENTID=@EVENTID;
end
if exists(select 1 from dbo.EVENTSALESMETHOD where TIXEVENTID = @EVENTID)
begin
set @EVENTSALESTYPEID = newid()
insert into EVENTSALESMETHOD
(
ID,
TIXEVENTID,
SALESMETHODID,
ONSALEDATE,
ONSALETIME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
newid(),
@ID,
SALESMETHODID,
ONSALEDATE,
ONSALETIME,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.EVENTSALESMETHOD
where TIXEVENTID = @EVENTID
end
if exists (select 1 from dbo.EVENTHOLDLIST where TIXEVENTID = @EVENTID)
begin
set @EVENTHOLDLISTID = newid()
insert into dbo.EVENTHOLDLIST
(
ID,
NAME,
TIXEVENTID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@EVENTHOLDLISTID,
NAME,
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.EVENTHOLDLIST
where TIXEVENTID=@EVENTID
insert into dbo.EVENTHOLD
(
ID,
HOLDCODEID,
QUANTITY,
EVENTHOLDLISTID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
(
select
newid(),
HOLDCODEID,
QUANTITY,
@EVENTHOLDLISTID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.EVENTHOLD
inner join dbo.EVENTHOLDLIST on EVENTHOLD.EVENTHOLDLISTID = EVENTHOLDLIST.ID
where EVENTHOLDLIST.TIXEVENTID = @EVENTID
)
end
if exists (select 1 from dbo.EVENTPRICELIST where TIXEVENTID = @EVENTID)
begin
set @EVENTPRICELISTID = newid()
insert into dbo.EVENTPRICELIST
(
ID,
NAME,
TIXEVENTID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@EVENTPRICELISTID,
NAME,
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.EVENTPRICELIST
where TIXEVENTID=@EVENTID
insert into dbo.TIXEVENTPRICE
(
ID,
PRICETYPECODEID,
FACEPRICE,
EVENTPRICELISTID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
newid(),
PRICETYPECODEID,
FACEPRICE,
@EVENTPRICELISTID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.TIXEVENTPRICE
inner join dbo.EVENTPRICELIST on TIXEVENTPRICE.EVENTPRICELISTID = EVENTPRICELIST.ID
where EVENTPRICELIST.TIXEVENTID = @EVENTID
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
end