UFN_CONSTITUENT_GETGIFTTOTALINCURRENCY_RESPECTSITE2

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@CURRENCYID uniqueidentifier IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


            CREATE function dbo.UFN_CONSTITUENT_GETGIFTTOTALINCURRENCY_RESPECTSITE2
            (
                @CONSTITUENTID uniqueidentifier = null,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @CURRENCYID uniqueidentifier = null,
                @SECURITYFEATUREID uniqueidentifier = null,
                @SECURITYFEATURETYPE tinyint = null
            ) 
            returns money
            as
            begin
                declare @r money

                select @r = coalesce(sum(dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY(REVENUESPLIT.ID, @CURRENCYID)), 0)
                from dbo.REVENUE
                inner join dbo.REVENUESPLIT
                    on REVENUESPLIT.REVENUEID = REVENUE.ID
                where REVENUE.CONSTITUENTID = @CONSTITUENTID 
                    and 
                    (
                        (REVENUE.TRANSACTIONTYPECODE = 0 and (REVENUESPLIT.APPLICATIONCODE in (0, 2, 3) or (REVENUESPLIT.APPLICATIONCODE = 1 and REVENUESPLIT.TYPECODE = 0)))
                        or
                        REVENUE.TRANSACTIONTYPECODE = 7
                    )        
                    and    exists
                    (
                        select top 1 REVSITES.SITEID 
                        from dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(REVENUESPLIT.ID) REVSITES
                        where
                            case 
                                when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then 1
                                when exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)) then 1
                                else 0 
                            end = 1
                    )


                return @r
            end