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