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