USP_EVENTSEATING_SEATEDREGISTRANTS

Returns registrants that are currently seated.

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@REPORTUSERID nvarchar(128) IN
@ALTREPORTUSERID nvarchar(128) IN

Definition

Copy


            CREATE procedure dbo.USP_EVENTSEATING_SEATEDREGISTRANTS
            (
                @EVENTID uniqueidentifier,
                @REPORTUSERID nvarchar(128) = null,
                @ALTREPORTUSERID nvarchar(128) = null
            )
            with execute as caller
            as

            set nocount on;

            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_GETNAMEDIRECTORYSTYLE(REGISTRANT.ID) as REGISTRANTNAME,
                    case SUBSECTIONTYPECODE when 2 then
                        EVENTSEATINGSUBSECTION.NAME
                    else
                        EVENTSEATINGSECTION.NAME 
                    end as SECTIONNAME,
                    EVENTSEATINGSUBSECTION.NAME as SUBSECTIONNAME,
                    EVENTSEATINGSEAT.NAME as SEATNAME,
                    dbo.UFN_REGISTRANT_GETHOSTNAMEDIRECTORYSTYLE(REGISTRANT.ID, GUESTOFREGISTRANTID) as HOSTNAME,
                    case SUBSECTIONTYPECODE when 0 then
                        'Table'
                    when 1 then
                        'Row'
                    else
                        'Section'
                    end as SUBSECTIONTYPETEXT,
                    SUBSECTIONTYPECODE AS SUBSECTIONTYPECODE,
                    case SUBSECTIONTYPECODE when 2 then
                        EVENTSEATINGSUBSECTION.SEQUENCE
                    else EVENTSEATINGSECTION.SEQUENCE
                    end as [SECTIONSORT],
                    EVENTSEATINGSUBSECTION.SEQUENCE as [SUBSECTIONSORT],
                    EVENTSEATINGSEAT.SEQUENCE as [SEATSORT],
                    case
                        when REGISTRANT.CONSTITUENTID is null then dbo.UFN_REGISTRANT_GETHOSTNAMEDIRECTORYSTYLE(REGISTRANT.ID, GUESTOFREGISTRANTID)
                        else dbo.UFN_REGISTRANT_GETNAMEDIRECTORYSTYLE(REGISTRANT.ID)
                    end as [REGISTRANTSORT] --Sort unnamed guests with their hosts

                from
                    dbo.REGISTRANT
                    inner join dbo.EVENTSEATINGSEAT on EVENTSEATINGSEAT.REGISTRANTID = REGISTRANT.ID
                    inner join dbo.EVENTSEATINGSUBSECTION on EVENTSEATINGSUBSECTION.ID = EVENTSEATINGSEAT.EVENTSEATINGSUBSECTIONID
                    inner join dbo.EVENTSEATINGSECTION on EVENTSEATINGSECTION.ID = EVENTSEATINGSUBSECTION.EVENTSEATINGSECTIONID
                    inner join dbo.EVENTSEATING on EVENTSEATING.ID = EVENTSEATINGSECTION.EVENTSEATINGID
                where
                    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)
                order by
                    SECTIONSORT, SUBSECTIONSORT, SEATSORT;