UFN_RECURRINGGIFTACTIVITY_GETAMOUNTINCURRENCY
Gets the amount field in recurring gift activity table based on ID and currency
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@RECURRINGGIFTACTIVITYID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_RECURRINGGIFTACTIVITY_GETAMOUNTINCURRENCY(
@RECURRINGGIFTACTIVITYID uniqueidentifier,
@CURRENCYID uniqueidentifier
)
returns money
as
begin
declare @AMOUNT money = 0;
declare @APPLICATIONCURRENCYID uniqueidentifier;
declare @RECORDDATE datetime;
select
@APPLICATIONCURRENCYID = RECURRINGGIFTACTIVITY .APPLICATIONCURRENCYID,
@RECORDDATE = RECURRINGGIFTACTIVITY .DATEADDED
from
dbo.RECURRINGGIFTACTIVITY
where
RECURRINGGIFTACTIVITY .ID = @RECURRINGGIFTACTIVITYID ;
if @CURRENCYID = @APPLICATIONCURRENCYID
begin
select
@AMOUNT = RECURRINGGIFTACTIVITY.AMOUNT
from
dbo.RECURRINGGIFTACTIVITY
where
RECURRINGGIFTACTIVITY.ID = @RECURRINGGIFTACTIVITYID;
end
else
begin
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(@APPLICATIONCURRENCYID, @CURRENCYID, @RECORDDATE, 1, null);
if (@CURRENCYEXCHANGERATEID is not null)
begin
select
@AMOUNT = dbo.UFN_CURRENCY_CONVERT(RECURRINGGIFTACTIVITY.AMOUNT, @CURRENCYEXCHANGERATEID)
from
dbo.RECURRINGGIFTACTIVITY
where
RECURRINGGIFTACTIVITY.ID = @RECURRINGGIFTACTIVITYID;
end
else
begin
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(@CURRENCYID, @APPLICATIONCURRENCYID, @RECORDDATE, 1, null);
select
@AMOUNT = dbo.UFN_CURRENCY_CONVERTINVERSE(RECURRINGGIFTACTIVITY.AMOUNT, @CURRENCYEXCHANGERATEID)
from
dbo.RECURRINGGIFTACTIVITY
where
RECURRINGGIFTACTIVITY.ID = @RECURRINGGIFTACTIVITYID;
end
end
return @AMOUNT;
end