USP_DATALIST_PROGRAMEVENTCALENDARITEM
Displays program event items for the organization's calendar.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | Start date |
@ENDDATE | datetime | IN | End date |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROGRAMEVENTCALENDARITEM
(
@STARTDATE datetime = null,
@ENDDATE datetime = null
)
as
set nocount on;
with LOCATIONS_CTE as (
select
PROGRAMEVENTLOCATION.EVENTID,
dbo.UDA_BUILDLIST(EVENTLOCATION.NAME) as LOCATIONNAME
from dbo.PROGRAMEVENTLOCATION
inner join dbo.EVENTLOCATION on PROGRAMEVENTLOCATION.EVENTLOCATIONID = EVENTLOCATION.ID
inner join dbo.EVENT on EVENT.ID = PROGRAMEVENTLOCATION.EVENTID
group by PROGRAMEVENTLOCATION.EVENTID
)
select
EVENT.ID,
EVENT.NAME,
EVENT.STARTDATE,
EVENT.ENDDATE,
case when LEN(FORMATTEDDESCRIPTION.VALUE) > 50 then
LEFT(FORMATTEDDESCRIPTION.VALUE, 50) + '...'
else
FORMATTEDDESCRIPTION.VALUE
end as DESCRIPTION,
EVENT.STARTTIME,
EVENT.ENDTIME,
EVENT.DATEADDED,
c.USERNAME as ADDEDBY,
L.LOCATIONNAME as LOCATION,
EVENT.CAPACITY,
TICKETCOUNTS.AVAILABILITY
from dbo.EVENT
inner join dbo.V_PROGRAMEVENT_TICKETCOUNTS as TICKETCOUNTS on TICKETCOUNTS.ID = EVENT.ID
inner join dbo.CHANGEAGENT C on C.ID = EVENT.ADDEDBYID
left join LOCATIONS_CTE as L on EVENT.ID = L.EVENTID
inner join dbo.PROGRAM on PROGRAM.ID = EVENT.PROGRAMID
outer apply (
select isnull(EVENT.DESCRIPTION + char(10) + replace(L.LOCATIONNAME, ';', ','), EVENT.DESCRIPTION) as VALUE
) as FORMATTEDDESCRIPTION
where
EVENT.PROGRAMID is not null and
(
(@STARTDATE is null and @ENDDATE is null) or
(
(
(EVENT.STARTDATE <= @ENDDATE) and (@ENDDATE is not null)
)
and
(
(EVENT.ENDDATE >= @STARTDATE) and (@STARTDATE is not null)
)
)
) and PROGRAM.ISACTIVE = 1
order by EVENT.DATEADDED desc