USP_SIMPLEDATALIST_PROGRAMEVENTBYDATE
Lists programs that have events on a specific date.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | STARTDATE |
@TYPECODE | tinyint | IN | TYPECODE |
@ITINERARYITEMID | uniqueidentifier | IN | ITINERARYITEMID |
Definition
Copy
CREATE procedure dbo.USP_SIMPLEDATALIST_PROGRAMEVENTBYDATE
( @STARTDATE datetime,
@TYPECODE tinyint,
@ITINERARYITEMID uniqueidentifier = null)
as
set nocount on;
if @ITINERARYITEMID is null
begin
select
PROGRAM.ID as VALUE,
PROGRAM.NAME as LABEL
from dbo.PROGRAM
inner join dbo.EVENT on PROGRAM.ID = EVENT.PROGRAMID
inner join dbo.EVENTSALESMETHOD on EVENT.ID = EVENTSALESMETHOD.EVENTID
inner join dbo.SALESMETHOD on EVENTSALESMETHOD.SALESMETHODID = SALESMETHOD.ID
where SALESMETHOD.TYPECODE = @TYPECODE and
dbo.UFN_DATE_GETEARLIESTTIME(EVENT.STARTDATE) = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE) and
PROGRAM.ISACTIVE = 1 and
PROGRAM.ISPREREGISTERED = 0
group by PROGRAM.ID, PROGRAM.NAME
end
else
begin
declare @PROGRAMID uniqueidentifier;
select @PROGRAMID = E.PROGRAMID
from dbo.ITINERARYITEM
inner join dbo.EVENT E on E.ID = ITINERARYITEM.EVENTID
where ITINERARYITEM.ID = @ITINERARYITEMID
and ITEMTYPECODE = 0
select
PROGRAM.ID as VALUE,
PROGRAM.NAME as LABEL
from dbo.PROGRAM
inner join dbo.EVENT on PROGRAM.ID = EVENT.PROGRAMID
inner join dbo.EVENTSALESMETHOD on EVENT.ID = EVENTSALESMETHOD.EVENTID
inner join dbo.SALESMETHOD on EVENTSALESMETHOD.SALESMETHODID = SALESMETHOD.ID
where SALESMETHOD.TYPECODE = @TYPECODE and
dbo.UFN_DATE_GETEARLIESTTIME(EVENT.STARTDATE) = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE) and
(PROGRAM.ISACTIVE = 1 or PROGRAM.ID = @PROGRAMID) and
PROGRAM.ISPREREGISTERED = 0
group by PROGRAM.ID, PROGRAM.NAME
end