UFN_PAYMENTAPPLICATION_GETDESCRIPTION

Return

Return Type
nvarchar(700)

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


                create function dbo.UFN_PAYMENTAPPLICATION_GETDESCRIPTION
                (
                    @ID uniqueidentifier
                )
                returns nvarchar(700)
                as
                begin

                    declare @DESCRIPTION nvarchar(700);
                    declare @APPLICATIONCODE tinyint;

                    select @APPLICATIONCODE = APPLICATIONCODE from dbo.REVENUESPLIT where ID = @ID;

                    --Donation

                    if @APPLICATIONCODE = 0
                        select @DESCRIPTION = dbo.UFN_DESIGNATION_BUILDNAME(REVENUESPLIT.DESIGNATIONID)
                        from dbo.REVENUESPLIT 
                        where ID = @ID;

                    --Event registration

                    if @APPLICATIONCODE = 1
                        select @DESCRIPTION = EVENT.NAME
                        from dbo.REVENUESPLIT
                        inner join dbo.EVENTREGISTRANTPAYMENT on EVENTREGISTRANTPAYMENT.PAYMENTID = REVENUESPLIT.ID
                        inner join dbo.REGISTRANT on REGISTRANT.ID = EVENTREGISTRANTPAYMENT.REGISTRANTID
                        inner join dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
                        where REVENUESPLIT.ID = @ID;

                    --Pledge

                    if @APPLICATIONCODE = 2
                        select @DESCRIPTION = dbo.UFN_CONSTITUENT_BUILDNAME(PLEDGEREVENUE.CONSTITUENTID)
                        from dbo.REVENUESPLIT
                        inner join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.PAYMENTID = REVENUESPLIT.ID
                        inner join dbo.REVENUE as [PLEDGEREVENUE] on [PLEDGEREVENUE].ID = INSTALLMENTSPLITPAYMENT.PLEDGEID
                        where REVENUESPLIT.ID = @ID;


                    --Recurring gift

                    if @APPLICATIONCODE = 3
                        select @DESCRIPTION = dbo.UFN_CONSTITUENT_BUILDNAME(TEMPLATE.CONSTITUENTID)
                        from dbo.REVENUESPLIT
                        inner join dbo.RECURRINGGIFTACTIVITY on PAYMENTREVENUEID = REVENUESPLIT.ID
                        inner join dbo.REVENUE TEMPLATE on TEMPLATE.ID = RECURRINGGIFTACTIVITY.SOURCEREVENUEID
                        where REVENUESPLIT.ID = @ID;

                    --Other

                    if @APPLICATIONCODE = 4
                        select @DESCRIPTION = REVENUEOTHERTYPECODE.DESCRIPTION
                        from dbo.REVENUESPLITOTHER
                        inner join dbo.REVENUEOTHERTYPECODE on REVENUESPLITOTHER.OTHERTYPECODEID = REVENUEOTHERTYPECODE.ID
                        where REVENUESPLITOTHER.ID = @ID;

                    --Membership

                    if @APPLICATIONCODE = 5
                        select @DESCRIPTION = dbo.UFN_MEMBERSHIPPROGRAM_GETNAME(MEMBERSHIP.MEMBERSHIPPROGRAMID) + ' - ' + dbo.UFN_MEMBERSHIPLEVEL_GETNAME(MEMBERSHIP.MEMBERSHIPLEVELID)
                        from dbo.REVENUESPLIT
                        inner join dbo.MEMBERSHIPTRANSACTION on MEMBERSHIPTRANSACTION.REVENUESPLITID = REVENUESPLIT.ID
                        inner join dbo.MEMBERSHIP on MEMBERSHIP.ID = MEMBERSHIPTRANSACTION.MEMBERSHIPID
                        where REVENUESPLIT.ID = @ID;

                    --Planned gift

                    if @APPLICATIONCODE = 6
                        select @DESCRIPTION = dbo.UFN_CONSTITUENT_BUILDNAME(PLEDGEREVENUE.CONSTITUENTID)
                        from dbo.REVENUESPLIT
                        inner join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.PAYMENTID = REVENUESPLIT.ID
                        inner join dbo.REVENUE as [PLEDGEREVENUE] on [PLEDGEREVENUE].ID = INSTALLMENTSPLITPAYMENT.PLEDGEID
                        where REVENUESPLIT.ID = @ID;

                    --Matching gift

                    if @APPLICATIONCODE = 7
                        select @DESCRIPTION = dbo.UFN_CONSTITUENT_BUILDNAME(PLEDGEREVENUE.CONSTITUENTID)
                        from dbo.REVENUESPLIT
                        inner join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.PAYMENTID = REVENUESPLIT.ID
                        inner join dbo.REVENUE as [PLEDGEREVENUE] on [PLEDGEREVENUE].ID = INSTALLMENTSPLITPAYMENT.PLEDGEID
                        where REVENUESPLIT.ID = @ID;



                    return @DESCRIPTION;
                end