USP_DATALIST_GROUPEDEVENTS_2
Displays a list of supporting events for a given main event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAINEVENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_GROUPEDEVENTS_2
(
@MAINEVENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @PATHTOSELECT hierarchyid = (select HIERARCHYPATH from dbo.EVENTHIERARCHY where ID = @MAINEVENTID);
with [CTE] as
(
select
EVENT.ID,
EVENT.NAME,
EVENT.STARTDATE,
EVENT.STARTTIME,
EVENT.ENDDATE,
EVENT.ENDTIME,
dbo.UFN_EVENTLOCATION_GETNAME(EVENT.EVENTLOCATIONID) as [LOCATION],
EVENT.CAPACITY,
coalesce((select count(ID) from dbo.REGISTRANT where EVENTID = EVENT.ID and WILLNOTATTEND = 0 and REGISTRANT.ISCANCELLED = 0), 0) as [WILLATTEND],
case when (select count(ID) from dbo.EVENT as [SUBEVENT] where [SUBEVENT].MAINEVENTID = EVENT.ID) > 0 then cast(1 as bit) else cast(0 as bit) end as [ISMAINEVENT],
EVENTHIERARCHY.HIERARCHYPATH,
case
when EVENT.ID = @MAINEVENTID then null
else (select [PARENTEVENTHIERARCHY].ID from dbo.EVENTHIERARCHY [PARENTEVENTHIERARCHY] where EVENTHIERARCHY.HIERARCHYPATH.GetAncestor(1) = [PARENTEVENTHIERARCHY].HIERARCHYPATH)
end as [PARENTID],
case when exists (select ID from dbo.EVENTAUCTION where EVENTAUCTION.ID = EVENT.ID) then cast(1 as bit) else cast(0 as bit) end as [ISAUCTION],
case when EVENT.APPEALID is not null then 1 else 0 end as [ISTEAMFUNDRAISINGEVENT],
EVENTMANAGEMENTLEVELINSTANCE.NAME as [LEVELNAME]
from
dbo.EVENT
left outer join
dbo.EVENTHIERARCHY on EVENTHIERARCHY.ID = EVENT.ID
left join dbo.EVENTMANAGEMENTOPTIONS on EVENT.ID = EVENTMANAGEMENTOPTIONS.EVENTID
left join dbo.EVENTMANAGEMENTLEVELINSTANCE on EVENTMANAGEMENTOPTIONS.EVENTMANAGEMENTLEVELINSTANCEID = EVENTMANAGEMENTLEVELINSTANCE.ID
where
EVENT.MAINEVENTID = (select isnull(MAINEVENTID, ID) from dbo.EVENT where ID = @MAINEVENTID) or
EVENT.ID = @MAINEVENTID
)
select
[CTE].ID,
case when [CTE].LEVELNAME = '' or [CTE].LEVELNAME is null then [CTE].NAME else [CTE].NAME + ' - ' + [CTE].LEVELNAME end as NAME,
[CTE].STARTDATE,
[CTE].STARTTIME,
[CTE].ENDDATE,
[CTE].ENDTIME,
[CTE].LOCATION,
[CTE].CAPACITY,
[CTE].WILLATTEND,
--Percent of capacity
case
when [CTE].CAPACITY = 0 then 0
else cast(cast([CTE].WILLATTEND as decimal(10,2)) / cast([CTE].CAPACITY as decimal(10,2)) as decimal(10,2))
end,
[CTE].ISMAINEVENT,
case when [CTE].ISMAINEVENT = 1 then N'RES:bullet_diamond' else N'' end,
[CTE].PARENTID,
row_number() over (partition by [CTE].PARENTID order by [CTE].HIERARCHYPATH) as [SEQUENCE],
[CTE].ISAUCTION,
dbo.UFN_EVENT_USERHASSITEACCESS(@CURRENTAPPUSERID, [CTE].ID) as [USERHASSITEACCESS],
[CTE].ISTEAMFUNDRAISINGEVENT
from [CTE]
where
([CTE].PARENTID is null or [CTE].PARENTID in (select ID from [CTE]))
and ([CTE].HIERARCHYPATH.IsDescendantOf(@PATHTOSELECT) = 1 or @PATHTOSELECT is null)
order by
[CTE].ISMAINEVENT desc, [CTE].STARTDATE, [CTE].STARTTIME, [CTE].ENDDATE, [CTE].ENDTIME, [CTE].NAME;