UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGETOTALPAID
Calculates the total paid for a pledge, including Gift Aid.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGETOTALPAID
(
@ID uniqueidentifier
)
returns money
with execute as caller
as begin
declare @TOTALPAIDWITHGIFTAID money;
declare @TOTALPAID money;
declare @TAXCLAIMAMOUNT money;
select @TOTALPAID = SUM(AMOUNT) from dbo.INSTALLMENTSPLITPAYMENT where PLEDGEID = @ID;
if @TOTALPAID is null
set @TOTALPAID = 0;
else
begin
select @TAXCLAIMAMOUNT =
sum(
case when REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID = INSTALLMENTSPLITPAYMENT.APPLICATIONCURRENCYID
then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
else dbo.UFN_CURRENCY_CONVERT(
REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT,
INSTALLMENTSPLITPAYMENT.APPLICATIONEXCHANGERATEID
)
end
)
from dbo.REVENUESPLITGIFTAID
inner join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.PAYMENTID = REVENUESPLITGIFTAID.ID
and (REVENUESPLITGIFTAID.RULES_STATUS & REVENUESPLITGIFTAID.ATTRIBUTES_STATUS) = 1
and REVENUESPLITGIFTAID.DECLINESGIFTAID = 0
and dbo.UFN_GIFTAIDREVENUESPLIT_ISTAXCLAIMELIGIBILE(REVENUESPLITGIFTAID.ID) = 1
and INSTALLMENTSPLITPAYMENT.PLEDGEID = @ID;
end
if @TAXCLAIMAMOUNT is null
set @TOTALPAIDWITHGIFTAID = @TOTALPAID;
else
select @TOTALPAIDWITHGIFTAID = @TOTALPAID + @TAXCLAIMAMOUNT;
return @TOTALPAIDWITHGIFTAID;
end