UFN_MERCHANTACCOUNT_SITESECUREDATALIST

Retrieves merchant accounts available for the application user and given filter options.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN
@SITEFILTERMODE tinyint IN
@SITESSELECTED xml IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


            CREATE function dbo.UFN_MERCHANTACCOUNT_SITESECUREDATALIST
            (
                @CURRENTAPPUSERID uniqueidentifier,
                @SITEFILTERMODE tinyint = 0,
                @SITESSELECTED xml = null,
                @SECURITYFEATUREID uniqueidentifier = null,
                @SECURITYFEATURETYPE tinyint = null
            )
            returns table
            as return
            (
                select
                    MERCHANTACCOUNT.ID as MERCHANTACCOUNTID,
                    SITELIST.SITES as SITES,
                    case
                        when 
                        (
                            (
                                @SITEFILTERMODE = 0 
                                and 
                                dbo.UFN_MERCHANTACCOUNT_USERHASSITEACCESS(MERCHANTACCOUNT.ID, @CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 1
                            )
                            or
                            ( 
                                @SITEFILTERMODE <> 0 
                                and 
                                dbo.UFN_MERCHANTACCOUNT_USERHASSITEACCESS(MERCHANTACCOUNT.ID, @CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 1
                                and
                                exists (select ID from dbo.MERCHANTACCOUNTSITE
                                        inner join dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) S on S.SITEID = MERCHANTACCOUNTSITE.SITEID
                                        where MERCHANTACCOUNTSITE.MERCHANTACCOUNTID = MERCHANTACCOUNT.ID) 
                            )
                        ) 
                            then 1
                        else 0
                    end as ACCESSGRANTED
                from
                    dbo.MERCHANTACCOUNT        
                    left join dbo.UFN_MERCHANTACCOUNT_GETSITELIST() SITELIST on MERCHANTACCOUNT.ID = SITELIST.MERCHANTACCOUNTID

            )