UFN_REVENUE_USERHASDESIGNATIONSITEACCESS_BULK

Returns a table indicating whether the given user has site access to any of the designations of the revenue splits for revenue records in the system.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


            create function dbo.UFN_REVENUE_USERHASDESIGNATIONSITEACCESS_BULK
            (
                @CURRENTAPPUSERID uniqueidentifier
            )
            returns table
            as
            return (
                select
                    REVENUE.ID,
                    case
                        when (select ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID) = 1
                            then 1
                        when exists (
                                select 1
                                from
                                    dbo.REVENUESPLIT
                                    left join dbo.UFN_SITEID_MAPFROM_DESIGNATIONID_BULK() as DESIGNATIONSITE
                                        on DESIGNATIONSITE.ID = REVENUESPLIT.DESIGNATIONID
                                where
                                    REVENUESPLIT.REVENUEID = REVENUE.ID
                                    and exists (
                                        select
                                            SYSTEMROLEAPPUSER.ID
                                        from
                                            dbo.SYSTEMROLEAPPUSER
                                            left join dbo.SITEPERMISSION on SITEPERMISSION.SYSTEMROLEAPPUSERID = SYSTEMROLEAPPUSER.ID 
                                        where 
                                            SYSTEMROLEAPPUSER.APPUSERID = @CURRENTAPPUSERID AND
                                            (                                            
                                                (SITEPERMISSION.SITEID = DESIGNATIONSITE.SITEID) or
                                                (SYSTEMROLEAPPUSER.SECURITYMODECODE = 0) or
                                                (SYSTEMROLEAPPUSER.SECURITYMODECODE = 1 and DESIGNATIONSITE.SITEID is null)
                                            )                         
                                    )
                            ) then 1
                        else 0
                    end as ACCESSGRANTED
                from
                    dbo.REVENUE
            )