USP_EVENT_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 | |
@EVENTSTARTDATE | date | IN | |
@EVENTENDDATE | date | IN | |
@STARTTIME | datetime | IN | |
@ENDTIME | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SUPERCEDESPROGRAMPUBLICDESCRIPTION | bit | IN | |
@PUBLICDESCRIPTIONTEXT | nvarchar(max) | IN | |
@PUBLICDESCRIPTIONHTML | nvarchar(max) | IN | |
@SOURCEEVENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_EVENT_INSERT
(
@ID uniqueidentifier = null output,
@SCHEDULEID uniqueidentifier=null,
@PROGRAMID uniqueidentifier=null,
@NAME nvarchar(100)=null,
@DESCRIPTION nvarchar(500)=null,
@CAPACITY integer=null,
@EVENTSTARTDATE date=null,
@EVENTENDDATE date=null,
@STARTTIME datetime=null,
@ENDTIME datetime=null,
@CHANGEAGENTID uniqueidentifier=null,
@SUPERCEDESPROGRAMPUBLICDESCRIPTION bit = 0,
@PUBLICDESCRIPTIONTEXT nvarchar(max) = '',
@PUBLICDESCRIPTIONHTML nvarchar(max) = '',
@SOURCEEVENTID uniqueidentifier = null
)
as begin
set nocount on;
if @ID is null begin
set @ID = newid();
end
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @CURRENTSYSTEMDEFAULTDATE datetime;
set @CURRENTSYSTEMDEFAULTDATE = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEFROMUTC(getutcdate());
declare @HOLDLISTID uniqueidentifier = null;
declare @PRICELISTID uniqueidentifier = null;
declare @HASCUSTOMREGISTRATIONINFORMATION bit = 0;
select @HASCUSTOMREGISTRATIONINFORMATION = HASCUSTOMREGISTRATIONINFORMATION
from dbo.EVENT
where ID = @SOURCEEVENTID;
begin try
--handle inserting all the data
declare @EVENTHOLDLISTID uniqueidentifier;
declare @EVENTSALESTYPEID uniqueidentifier;
--handle the event first
insert into dbo.EVENT (
ID,
SCHEDULEID,
PROGRAMID,
NAME,
DESCRIPTION,
CAPACITY,
STARTDATE,
STARTTIME,
ENDDATE,
ENDTIME,
PUBLICDESCRIPTIONTEXT,
PUBLICDESCRIPTIONHTML,
SUPERCEDESPROGRAMPUBLICDESCRIPTION,
HASCUSTOMREGISTRATIONINFORMATION,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
) values (
@ID,
@SCHEDULEID,
@PROGRAMID,
@NAME,
@DESCRIPTION,
@CAPACITY,
@EVENTSTARTDATE,
dbo.UFN_HOURMINUTE_GETFROMDATE(@STARTTIME),
@EVENTENDDATE,
dbo.UFN_HOURMINUTE_GETFROMDATE(@ENDTIME),
@PUBLICDESCRIPTIONTEXT,
@PUBLICDESCRIPTIONHTML,
@SUPERCEDESPROGRAMPUBLICDESCRIPTION,
@HASCUSTOMREGISTRATIONINFORMATION,
@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,
EVENTID,
SALESMETHODID,
ONSALEDATE,
ONSALETIME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
newid(),
@ID,
SALESMETHODID,
case ONSALETYPECODE
when 0 then @CURRENTSYSTEMDEFAULTDATE
when 1 then ONSALEDATE
when 2 then dateadd(day, -ONSALETIMEBEFORE, @EVENTSTARTDATE)
when 3 then dateadd(week, -ONSALETIMEBEFORE, @EVENTSTARTDATE)
when 4 then dateadd(month, -ONSALETIMEBEFORE, @EVENTSTARTDATE)
end,
case ONSALETYPECODE
when 0 then dbo.UFN_HOURMINUTE_GETFROMDATE(@CURRENTSYSTEMDEFAULTDATE)
else ONSALETIME
end,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.PROGRAMSALESMETHOD
where PROGRAMID = @PROGRAMID;
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,
EVENTID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@EVENTHOLDLISTID,
NAME,
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
dbo.HOLDLIST
where
ID=@HOLDLISTID;
end
if @HASCUSTOMREGISTRATIONINFORMATION = 1 begin
exec dbo.USP_EVENT_COPYREGISTRATIONINFORMATION @SOURCEEVENTID, @ID, @CHANGEAGENTID, @CURRENTDATE;
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
end