USP_EVENTSEATING_UNSEATEDREGISTRANTS
Returns registrants not currently seated.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@SHOWSUBREPORT | bit | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.USP_EVENTSEATING_UNSEATEDREGISTRANTS
(
@EVENTID uniqueidentifier,
@REPORTUSERID nvarchar(128) = null,
@SHOWSUBREPORT bit = 0,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as caller
as
set nocount on;
if @SHOWSUBREPORT = 1
begin
declare @CURRENTAPPUSERID uniqueidentifier;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETREPORTAPPUSERID(@REPORTUSERID, @ALTREPORTUSERID);
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
select REGISTRANTNAME, HOSTNAME, GROUPNAME, LASTNAME from(
select
REGISTRANT.ID,
CONSTITUENT_NF.NAME REGISTRANTNAME,
case when REGISTRANT.GUESTOFREGISTRANTID is not null then
(select NF.NAME
from dbo.REGISTRANT GUESTOF
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(GUESTOF.CONSTITUENTID) NF
where GUESTOF.ID = REGISTRANT.GUESTOFREGISTRANTID)
else
case when exists(select ID from dbo.REGISTRANT HOST where HOST.GUESTOFREGISTRANTID = REGISTRANT.ID) then
CONSTITUENT_NF.NAME
end
end HOSTNAME,
(select
EVENTGROUP.NAME
from
dbo.EVENTGROUP
inner join dbo.EVENTGROUPMEMBER on EVENTGROUPMEMBER.EVENTGROUPID = EVENTGROUP.ID
where
EVENTGROUPMEMBER.REGISTRANTID = REGISTRANT.ID) as GROUPNAME,
CONSTITUENT.KEYNAME as LASTNAME
from
dbo.REGISTRANT
inner join dbo.CONSTITUENT on CONSTITUENT.ID = REGISTRANT.CONSTITUENTID
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REGISTRANT.CONSTITUENTID) CONSTITUENT_NF
where
REGISTRANT.EVENTID = @EVENTID
and REGISTRANT.WILLNOTATTEND = 0
and REGISTRANT.ISCANCELLED = 0
and (@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REGISTRANT.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)
union all
select
REGISTRANT.ID,
'Guest of ' + GUESTOFCONSTITUENT_NF.NAME REGISTRANTNAME,
GUESTOFCONSTITUENT_NF.NAME HOSTNAME,
(select
EVENTGROUP.NAME
from
dbo.EVENTGROUP
inner join dbo.EVENTGROUPMEMBER on EVENTGROUPMEMBER.EVENTGROUPID = EVENTGROUP.ID
where
EVENTGROUPMEMBER.REGISTRANTID = REGISTRANT.ID) as GROUPNAME,
CONSTITUENT.KEYNAME as LASTNAME
from
dbo.REGISTRANT
inner join dbo.REGISTRANT GUESTOF on GUESTOF.ID = REGISTRANT.GUESTOFREGISTRANTID
inner join dbo.CONSTITUENT on CONSTITUENT.ID = GUESTOF.CONSTITUENTID
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(GUESTOF.CONSTITUENTID) GUESTOFCONSTITUENT_NF
where
REGISTRANT.EVENTID = @EVENTID
and REGISTRANT.WILLNOTATTEND = 0
and REGISTRANT.ISCANCELLED = 0
and REGISTRANT.CONSTITUENTID is null
and (@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REGISTRANT.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)
)SUBQ
where
not exists(select top 1 REGISTRANTID from dbo.EVENTSEATINGSEAT where EVENTSEATINGSEAT.REGISTRANTID = SUBQ.ID)
order by
REGISTRANTNAME;
end