UFN_BATCHREVENUECONSTITUENTCOMMITMENTS_GETDESCRIPTION
Return
Return Type |
---|
nvarchar(255) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(60) | IN |
Definition
Copy
CREATE function dbo.UFN_BATCHREVENUECONSTITUENTCOMMITMENTS_GETDESCRIPTION(@ID nvarchar(60)) returns nvarchar(255)
as
begin
declare @SINGLEAPPLICATIONID uniqueidentifier
declare @APPLICATIONTYPECODE int
declare @APPLICATIONCODE tinyint
declare @RETURN nvarchar(255)
if len(@ID) > 0
if len(@ID) = 3
begin
set @APPLICATIONCODE = cast(substring(@ID, 3, 1) as tinyint);
set @RETURN = case @APPLICATIONCODE
when 0 then 'Donation'
when 1 then 'Other'
when 2 then 'Unapplied matching gift payment'
when 3 then 'Sponsorship additional donation'
end;
end
else
begin
select
@SINGLEAPPLICATIONID = SINGLEAPPLICATIONID,
@APPLICATIONTYPECODE = APPLICATIONTYPECODE
from dbo.UFN_REVENUEBATCH_PARSEAPPLICATIONINFO(@ID)
if @APPLICATIONTYPECODE = 1
begin
select @RETURN = 'Recurring gift for ' + CONSTITUENT_NF.NAME + coalesce(' ' + convert(varchar(10), REVENUESCHEDULE.NEXTTRANSACTIONDATE, 101), '') +
coalesce(' - ' + (select top 1 dbo.UDA_BUILDLIST(DESIGNATION.USERID) as DESIGNATIONLIST
from dbo.REVENUESPLIT
inner join dbo.DESIGNATION on REVENUESPLIT.DESIGNATIONID = DESIGNATION.ID
where REVENUESPLIT.REVENUEID = REVENUE.ID), '') +
' - ' + cast(REVENUE.TRANSACTIONAMOUNT as varchar(20)) + ' ' + dbo.UFN_CURRENCY_GETISO(REVENUE.TRANSACTIONCURRENCYID)
from dbo.REVENUE
left outer join dbo.REVENUESCHEDULE on REVENUE.ID = REVENUESCHEDULE.ID
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) CONSTITUENT_NF
where dbo.REVENUE.ID = @SINGLEAPPLICATIONID
end
else if @APPLICATIONTYPECODE = 2
begin
select @RETURN = dbo.UFN_MEMBERSHIPPROGRAM_GETNAME(MEMBERSHIP.MEMBERSHIPPROGRAMID) + ' - ' + dbo.UFN_MEMBERSHIPLEVEL_GETNAME(MEMBERSHIP.MEMBERSHIPLEVELID) + ' for ' + CONSTITUENT_NF.NAME + coalesce(' ' + convert(varchar(10), MEMBERSHIP.EXPIRATIONDATE, 101), '') + ' - ' + cast(MEMBERSHIPLEVELTERM.AMOUNT as varchar(20)) + ' ' + dbo.UFN_CURRENCY_GETISO(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY())
from dbo.MEMBERSHIP
inner join dbo.MEMBER on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(MEMBER.CONSTITUENTID) CONSTITUENT_NF
inner join dbo.MEMBERSHIPLEVELTERM on MEMBERSHIP.MEMBERSHIPLEVELTERMID = MEMBERSHIPLEVELTERM.ID
where dbo.MEMBERSHIP.ID = @SINGLEAPPLICATIONID
end
else if @APPLICATIONTYPECODE = 4
begin
select @RETURN = 'Recurring gift for ' + CONSTITUENT_NF.NAME + coalesce(' ' + convert(varchar(10), REVENUESCHEDULE.NEXTTRANSACTIONDATE, 101), '') +
coalesce(' - ' + (select top 1 dbo.UDA_BUILDLIST(DESIGNATION.USERID) as DESIGNATIONLIST
from dbo.REVENUESPLIT
inner join dbo.DESIGNATION on REVENUESPLIT.DESIGNATIONID = DESIGNATION.ID
where REVENUESPLIT.REVENUEID = REVENUE.ID), '') +
' - ' + cast(REVENUE.TRANSACTIONAMOUNT as varchar(20)) + ' ' + dbo.UFN_CURRENCY_GETISO(REVENUE.TRANSACTIONCURRENCYID)
from dbo.REVENUE
left outer join dbo.REVENUESCHEDULE on REVENUE.ID = REVENUESCHEDULE.ID
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) CONSTITUENT_NF
where dbo.REVENUE.ID = @SINGLEAPPLICATIONID
end
else if @APPLICATIONTYPECODE = 7
begin
select @RETURN = [EVENT].NAME + ' registration for ' + CONSTITUENT_NF.NAME + ' ' + convert(varchar(10), [EVENT].STARTDATE, 101) + ' - ' + cast(dbo.UFN_EVENTREGISTRANT_GETBALANCE(REGISTRANT.ID) as varchar(20)) + ' ' + dbo.UFN_CURRENCY_GETISO(EVENT.BASECURRENCYID)
from dbo.REGISTRANT
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REGISTRANT.CONSTITUENTID) CONSTITUENT_NF
inner join dbo.[EVENT] on [EVENT].ID = REGISTRANT.EVENTID
where dbo.REGISTRANT.ID = @SINGLEAPPLICATIONID
end
else
begin
select @RETURN = case @APPLICATIONTYPECODE when 3 then 'Order for ' + CONSTITUENT_NF.NAME
when 5 then 'Pledge for ' + CONSTITUENT_NF.NAME
when 6 then 'Planned gift for ' + CONSTITUENT_NF.NAME
when 8 then 'Matching gift claim for ' + CONSTITUENT_NF.NAME + ' - ' + (
select
C1_NF.NAME
from
dbo.REVENUEMATCHINGGIFT MG1
inner join dbo.REVENUE R1 on R1.ID = MG1.MGSOURCEREVENUEID
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(R1.CONSTITUENTID) C1_NF
where
MG1.ID = REVENUE.ID)
when 9 then 'Grant award from ' + CONSTITUENT_NF.NAME
when 10 then 'Donor challenge claim from ' + CONSTITUENT_NF.NAME
end + coalesce(' ' + convert(varchar(10), INSTALLMENT.DATE, 101), '') +
coalesce(' - ' + (select top 1 dbo.UDA_BUILDLIST(DESIGNATION.USERID) as DESIGNATIONLIST
from dbo.REVENUESPLIT
inner join dbo.DESIGNATION on REVENUESPLIT.DESIGNATIONID = DESIGNATION.ID
where REVENUESPLIT.REVENUEID = REVENUE.ID), '') +
coalesce(' - ' + cast(dbo.UFN_INSTALLMENT_GETINSTALLMENTBALANCE(INSTALLMENT.ID) as varchar(20)) , ' - 0.00') + ' ' + dbo.UFN_CURRENCY_GETISO(REVENUE.TRANSACTIONCURRENCYID)
from dbo.REVENUE
cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) CONSTITUENT_NF
left outer join dbo.INSTALLMENT on INSTALLMENT.ID = dbo.UFN_REVENUE_GETNEXTINSTALLMENT(REVENUE.ID)
where dbo.REVENUE.ID = @SINGLEAPPLICATIONID
end
end
return @RETURN
end