UFN_EVENTREGISTRANT_GETBALANCEIGNOREPAYMENT
Returns the balance for an event registrant, ignoring the given payment.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REGISTRANTID | uniqueidentifier | IN | |
@PAYMENTID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_EVENTREGISTRANT_GETBALANCEIGNOREPAYMENT
(
@REGISTRANTID uniqueidentifier,
@PAYMENTID uniqueidentifier
)
returns money
as
begin
declare @REGISTRANTAMOUNT money;
declare @PAIDAMOUNT money;
declare @CREDITEDAMOUNT money;
set @PAIDAMOUNT = 0;
set @CREDITEDAMOUNT = 0;
set @REGISTRANTAMOUNT= 0;
select
@REGISTRANTAMOUNT= sum(AMOUNT)
from dbo.REGISTRANTREGISTRATION
where REGISTRANTID = @REGISTRANTID;
select
@PAIDAMOUNT = sum(EVENTREGISTRANTPAYMENT.AMOUNT)
from dbo.EVENTREGISTRANTPAYMENT
inner join dbo.REVENUESPLIT on REVENUESPLIT.ID = EVENTREGISTRANTPAYMENT.PAYMENTID
where EVENTREGISTRANTPAYMENT.REGISTRANTID = @REGISTRANTID
and REVENUESPLIT.REVENUEID <> @PAYMENTID;
-- RobertDi 6/14/2010 - Credit items are an Arts and Cultural feature right now;
-- this will need to be updated for multicurrency when the rest of
-- the A&C features are.
select @CREDITEDAMOUNT = sum([CREDITITEMS].[TOTAL])
from dbo.[UFN_REGISTRANT_GETCREDITITEMS](@REGISTRANTID) as [CREDITITEMS]
return coalesce(@REGISTRANTAMOUNT, 0) - coalesce(@PAIDAMOUNT, 0) + coalesce(@CREDITEDAMOUNT, 0);
end