USP_SIMPLEDATALIST_QUICKITINERARYPROGRAMEVENT
Returns Daily Admission programs and Events for a given day.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DATE | date | IN |
Definition
Copy
CREATE procedure dbo.USP_SIMPLEDATALIST_QUICKITINERARYPROGRAMEVENT
(
@DATE date
)
as
set nocount on;
declare @CURRENTDATE datetime = getdate()
select
ID as VALUE,
NAME as LABEL
from
(
select top 100
ID,
NAME
from dbo.PROGRAM
where
ISACTIVE = 1 and
ISDAILYADMISSION = 1 and
dbo.UFN_PROGRAMDAILYADMISSION_ISONSALE(PROGRAM.ID,@CURRENTDATE,3) = 1
order by NAME
) DA
union all
select
ID as VALUE,
'' as LABEL
from
(
select top 100
EVENT.ID as ID
from dbo.EVENT
inner join dbo.PROGRAM on
EVENT.PROGRAMID = PROGRAM.ID
inner join dbo.UFN_EVENT_GETAVAILABILITYWITHEVENTS() as EVENTAVAILABILITY on
EVENTAVAILABILITY.EVENTID = EVENT.ID
where
EVENT.ISACTIVE = 1 and
PROGRAM.ISACTIVE = 1 and
PROGRAM.ISPREREGISTERED = 0 and
EVENT.STARTDATETIME between @DATE and dateadd(day,1,@DATE) and
dbo.UFN_EVENT_ISONSALE(EVENT.ID, @CURRENTDATE, 3) = 1 and
not exists
(
select 1
from dbo.ITINERARYITEM
inner join dbo.ITINERARY on ITINERARY.ID = ITINERARYITEM.ITINERARYID
inner join dbo.SALESORDER on ITINERARY.RESERVATIONID = SALESORDER.ID
where SALESORDER.STATUSCODE <> 5 -- MDC - Ignore cancelled
and ITINERARYITEM.BLOCKEVENT = 1
and ITINERARYITEM.EVENTID = EVENT.ID
) and
EVENTAVAILABILITY.QUANTITY > 0
order by EVENT.STARTTIME
) SE
where @DATE is not null