USP_DATALIST_EVENTPROFILEREPORT_EVENTDETAILS
Returns detail information for an event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | Event ID |
@ISVISIBLE | bit | IN | Visible |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_EVENTPROFILEREPORT_EVENTDETAILS
(
@EVENTID uniqueidentifier,
@ISVISIBLE bit = 1
)
as
set nocount on;
if @ISVISIBLE = 1
begin
declare @REGISTERED as integer;
select @REGISTERED = COUNT(ID)
from dbo.REGISTRANT
where
EVENTID = @EVENTID and
dbo.[UFN_REGISTRANT_ISCANCELLED](REGISTRANT.ID) = 0 and
WILLNOTATTEND = 0;
declare @ATTENDED as integer;
select @ATTENDED = count(ID)
from dbo.REGISTRANT
where
EVENTID = @EVENTID and
ATTENDED = 1 and
dbo.[UFN_REGISTRANT_ISCANCELLED](REGISTRANT.ID) = 0;
declare @INVITED as integer;
select @INVITED = count(distinct CONSTITUENTID)
from dbo.INVITEE
where INVITEE.EVENTID = @EVENTID;
declare @CAMPAIGNS as nvarchar(max);
select @CAMPAIGNS = dbo.UDA_BUILDLIST(distinct CAMPAIGN.NAME)
from dbo.EVENTCAMPAIGN
inner join dbo.CAMPAIGN on EVENTCAMPAIGN.CAMPAIGNID = CAMPAIGN.ID
where EVENTCAMPAIGN.EVENTID = @EVENTID;
declare @REGISTEREDDAYOF as integer;
select @REGISTEREDDAYOF = COUNT(REGISTRANT.ID)
from dbo.REGISTRANT
inner join dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
where
EVENT.ID = @EVENTID and
DATEDIFF(d,REGISTRANT.DATEADDED, EVENT.STARTDATE) = 0 and WILLNOTATTEND = 0;
select
LOCATION.NAME as LOCATIONNAME,
EVENT.CAPACITY,
EVENT.ISACTIVE,
@INVITED as INVITED,
@REGISTERED as REGISTERED,
@ATTENDED as ATTENDED,
APPEAL.ID as APPEALID,
APPEAL.NAME as APPEAL,
'http://www.blackbaud.com/APPEALID?APPEALID=' + CONVERT(nvarchar(36),APPEAL.ID) as APPEALLINK,
(
select count(distinct INVITEE.CONSTITUENTID)
from dbo.INVITEE
left join dbo.REGISTRANT on REGISTRANT.CONSTITUENTID = INVITEE.CONSTITUENTID and REGISTRANT.EVENTID = @EVENTID
where
INVITEE.EVENTID = @EVENTID and
INVITEE.DECLINED = 0 and
REGISTRANT.ID is null
) as DIDNOTRESPOND,
coalesce(@REGISTERED, 0) - coalesce(@ATTENDED, 0) as NOSHOW,
@REGISTEREDDAYOF as REGISTEREDDAYOF,
@CAMPAIGNS as CAMPAIGNS
from dbo.EVENT
left join dbo.EVENTLOCATION LOCATION on EVENT.EVENTLOCATIONID = LOCATION.ID
left join dbo.APPEAL on EVENT.APPEALID = APPEAL.ID
left join dbo.EVENTCAMPAIGN on EVENTCAMPAIGN.EVENTID = EVENT.ID
where EVENT.ID = @EVENTID;
end