USP_TIXEVENT_INSERT
Inserts values into the event table.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@SCHEDULEID | uniqueidentifier | IN | |
@PROGRAMID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(500) | IN | |
@CAPACITY | int | IN | |
@EVENTDATE | date | IN | |
@STARTTIME | datetime | IN | |
@ENDTIME | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_TIXEVENT_INSERT
(
@ID uniqueidentifier=null output,
@SCHEDULEID uniqueidentifier=null,
@PROGRAMID uniqueidentifier=null,
@NAME nvarchar(100)=null,
@DESCRIPTION nvarchar(500)=null,
@CAPACITY integer=null,
@EVENTDATE date=null,
@STARTTIME datetime=null,
@ENDTIME datetime=null,
@CHANGEAGENTID uniqueidentifier=null
)
as
set nocount on;
begin
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @HOLDLISTID uniqueidentifier = null;
declare @PRICELISTID uniqueidentifier = null;
begin try
--handle inserting all the data
declare @EVENTHOLDLISTID uniqueidentifier
set @EVENTHOLDLISTID = null
declare @EVENTPRICELISTID uniqueidentifier
set @EVENTPRICELISTID = null
declare @EVENTSALESTYPEID uniqueidentifier
set @EVENTSALESTYPEID = null
--handle the event first
insert into dbo.TIXEVENT
(
ID,
SCHEDULEID,
PROGRAMID,
NAME,
DESCRIPTION,
CAPACITY,
EVENTDATE,
STARTTIME,
ENDTIME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@SCHEDULEID,
@PROGRAMID,
@NAME,
@DESCRIPTION,
@CAPACITY,
@EVENTDATE,
@STARTTIME,
@ENDTIME,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
--handle the sales type
if exists(select * from dbo.PROGRAMSALESMETHOD where PROGRAMID = @PROGRAMID)
begin
set @EVENTSALESTYPEID = newid()
insert into EVENTSALESMETHOD
(
ID,
TIXEVENTID,
SALESMETHODID,
ONSALEDATE,
ONSALETIME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
(
select
newid(),
@ID,
SALESMETHODID,
case ONSALETYPECODE
when 0 then @CURRENTDATE
when 1 then ONSALEDATE
when 2 then dateadd(day, -1 * ONSALETIMEBEFORE, @EVENTDATE)
when 3 then dateadd(week, -1 * ONSALETIMEBEFORE, @EVENTDATE)
when 4 then dateadd(month, -1 * ONSALETIMEBEFORE, @EVENTDATE)
end,
case ONSALETYPECODE
when 0 then dbo.UFN_HOURMINUTE_GETFROMDATE(@CURRENTDATE)
else ONSALETIME
end,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.PROGRAMSALESMETHOD
where PROGRAMID = @PROGRAMID
)
end
--handle the event price list now
-- TEMPORARILY REMOVED Price List has been removed from Program; still waiting on how Event will handle it.
--select @PRICELISTID=PRICELISTID from dbo.PROGRAM where ID = @PROGRAMID;
IF @PRICELISTID is not null
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.PRICELIST
where ID=@PRICELISTID
)
end
--handle hold list here
select @HOLDLISTID=HOLDLISTID from dbo.PROGRAM where ID=@PROGRAMID;
if @HOLDLISTID is not null
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.HOLDLIST
where ID=@HOLDLISTID
)
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
end