UFN_GIFTAIDREVENUESPLIT_CALCULATERECURRINGGIFTTOTALPAID

Calculates the total paid for a recurring gift, including Gift Aid.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATERECURRINGGIFTTOTALPAID
            (
                @ID uniqueidentifier
            )
            returns money
            with execute as caller
            as begin

                declare @TOTALPAIDWITHGIFTAID money;
                declare @TOTALPAID money;
                declare @TAXCLAIMAMOUNT money;

                select @TOTALPAID = SUM(RECURRINGGIFTACTIVITY.AMOUNT)
                from dbo.RECURRINGGIFTACTIVITY
                where RECURRINGGIFTACTIVITY.SOURCEREVENUEID = @ID and RECURRINGGIFTACTIVITY.TYPECODE = 0;

                if @TOTALPAID is null or @TOTALPAID = 0
                    set @TOTALPAID = 0;
                else
                begin
                    select @TAXCLAIMAMOUNT =
                        sum(
                            case when REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID = RECURRINGGIFTACTIVITY.APPLICATIONCURRENCYID
                                then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
                            else dbo.UFN_CURRENCY_CONVERT(
                                    REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT,
                                    RECURRINGGIFTACTIVITY.APPLICATIONEXCHANGERATEID
                                )
                            end
                        )
                        from dbo.REVENUESPLITGIFTAID
                        inner join dbo.RECURRINGGIFTACTIVITY on RECURRINGGIFTACTIVITY.PAYMENTREVENUEID = REVENUESPLITGIFTAID.ID
                        where (REVENUESPLITGIFTAID.RULES_STATUS & REVENUESPLITGIFTAID.ATTRIBUTES_STATUS) = 1
                        and REVENUESPLITGIFTAID.DECLINESGIFTAID = 0
                        and dbo.UFN_GIFTAIDREVENUESPLIT_ISTAXCLAIMELIGIBILE(REVENUESPLITGIFTAID.ID) = 1
                        and RECURRINGGIFTACTIVITY.SOURCEREVENUEID = @ID;
                end

                if @TAXCLAIMAMOUNT is null
                    set @TOTALPAIDWITHGIFTAID = @TOTALPAID;
                else
                    set @TOTALPAIDWITHGIFTAID = @TOTALPAID + @TAXCLAIMAMOUNT;

                return @TOTALPAIDWITHGIFTAID;

            end