USP_DATALIST_EVENTPROFILEREPORT_SEATING

Returns seating information for an event.

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN Event ID
@ISVISIBLE bit IN Visible
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_EVENTPROFILEREPORT_SEATING
                (
                    @EVENTID uniqueidentifier,
                    @ISVISIBLE bit = 1,
                    @CURRENTAPPUSERID uniqueidentifier
                )
                as
                    set nocount on;

                    if @ISVISIBLE = 1
                    begin

                        declare @ISADMIN bit;
                        declare @APPUSER_IN_NONRACROLE bit;
                        declare @APPUSER_IN_NOSECGROUPROLE bit;

                        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
                            SECTION.NAME as SECTION,
                            SUBSECTION.NAME as SUBSECTION,
                            SEAT.NAME as SEAT,
                            dbo.UFN_REGISTRANT_GETNAME(REGISTRANT.ID) as REGISTRANT
                        from
                            dbo.EVENTSEATINGSECTION SECTION 
                        inner join    
                            dbo.EVENTSEATINGSUBSECTION SUBSECTION on SECTION.ID = SUBSECTION.EVENTSEATINGSECTIONID
                        inner join 
                            dbo.EVENTSEATINGSEAT SEAT on SUBSECTION.ID = SEAT.EVENTSEATINGSUBSECTIONID
                        inner join
                            dbo.REGISTRANT on SEAT.REGISTRANTID = REGISTRANT.ID
                        left join dbo.CONSTITUENT on REGISTRANT.CONSTITUENTID = CONSTITUENT.ID
                        where 
                            SECTION.EVENTSEATINGID = @EVENTID
                            and ((CONSTITUENT.ID is null
                                or (@ISADMIN = 1 or 
                                    @APPUSER_IN_NONRACROLE = 1 or
                                    dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSECGROUPROLE) = 1))
                        order by
                            SECTION.NAME,SUBSECTION.NAME,SEAT.NAME;
                    end