USP_EVENTSEATING_GUESTSNOTSEATEDWITHHOST
Returns guests of registrants that are not seated with the host.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.USP_EVENTSEATING_GUESTSNOTSEATEDWITHHOST
(
@EVENTID uniqueidentifier,
@REPORTUSERID nvarchar(128) = null,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as caller
as
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
dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) as REGISTRANTNAME,
dbo.UFN_CONSTITUENT_BUILDNAME(GUESTOF.CONSTITUENTID) as HOSTNAME,
dbo.UFN_EVENTSEATING_GETREGISTRANTSEATPATH(REGISTRANT.ID) as GUESTSEAT,
dbo.UFN_EVENTSEATING_GETREGISTRANTSEATPATH(GUESTOF.ID) as HOSTSEAT
from
dbo.REGISTRANT
inner join dbo.EVENTSEATINGSEAT on EVENTSEATINGSEAT.REGISTRANTID = REGISTRANT.ID
inner join dbo.REGISTRANT as GUESTOF on GUESTOF.ID = REGISTRANT.GUESTOFREGISTRANTID
where
REGISTRANT.GUESTOFREGISTRANTID IS NOT NULL and
GUESTOF.WILLNOTATTEND = 0 and
exists(select
GUESTOFSEAT.ID
from
dbo.EVENTSEATINGSEAT as GUESTOFSEAT
where
GUESTOFSEAT.REGISTRANTID = REGISTRANT.GUESTOFREGISTRANTID) and
EVENTSEATINGSEAT.EVENTSEATINGSUBSECTIONID <> (select
GUESTOFSEAT.EVENTSEATINGSUBSECTIONID
from
dbo.EVENTSEATINGSEAT as GUESTOFSEAT
where
GUESTOFSEAT.REGISTRANTID = REGISTRANT.GUESTOFREGISTRANTID) and
REGISTRANT.EVENTID = @EVENTID
and (@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
(dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REGISTRANT.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)
and (dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, GUESTOF.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1));