USP_DATALIST_DONORCHALLENGEMEMBERSHIPS
A datalist of all memberships for a given donor challenge.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_DONORCHALLENGEMEMBERSHIPS
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier
)
as
set nocount on;
declare @DONORCHALLENGEBASECURRENCYID uniqueidentifier;
select @DONORCHALLENGEBASECURRENCYID = BASECURRENCYID from dbo.DONORCHALLENGE where ID = @ID;
with DESIGNATIONAMOUNTS_CTE as
(
--Note this shows all funds given to a membership level regardless of if they were all mapped to the same designation
select
MT.MEMBERSHIPLEVELID,
DCE.STATUSTYPECODE,
coalesce(sum(
case
when @DONORCHALLENGEBASECURRENCYID = RS.TRANSACTIONCURRENCYID
then RS.TRANSACTIONAMOUNT
else dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY(RS.ID, @DONORCHALLENGEBASECURRENCYID)
end
),0) GIVENAMOUNT,
coalesce(sum(DCE.AMOUNT),0) CHALLENGEAMOUNT
from
dbo.DONORCHALLENGEENCUMBERED DCE
inner join
dbo.REVENUESPLIT RS on RS.ID = DCE.REVENUESPLITID
inner join
dbo.MEMBERSHIPTRANSACTION MT on MT.REVENUESPLITID = RS.ID
where
DCE.DONORCHALLENGEID = @ID
and DCE.STATUSTYPECODE in (0,1)
group by
MT.MEMBERSHIPLEVELID, DCE.STATUSTYPECODE
)
select
DCMM.ID,
MP.ID as MEMBERSHIPPROGRAMID,
MP.NAME as MEMBERSHIPPROGRAMNAME,
ML.NAME as MEMBERSHIPLEVELNAME,
(select coalesce(sum(GIVENAMOUNT),0) from DESIGNATIONAMOUNTS_CTE where DESIGNATIONAMOUNTS_CTE.MEMBERSHIPLEVELID = DCMM.MEMBERSHIPLEVELID) as AMOUNTGIVEN,
(select coalesce(sum(CHALLENGEAMOUNT),0) from DESIGNATIONAMOUNTS_CTE where DESIGNATIONAMOUNTS_CTE.MEMBERSHIPLEVELID = DCMM.MEMBERSHIPLEVELID and STATUSTYPECODE = 0) as AMOUNTENCUMBERED,
(select coalesce(sum(CHALLENGEAMOUNT),0) from DESIGNATIONAMOUNTS_CTE where DESIGNATIONAMOUNTS_CTE.MEMBERSHIPLEVELID = DCMM.MEMBERSHIPLEVELID and STATUSTYPECODE = 1) as AMOUNTMATCHED,
DCMM.MATCHINGDESIGNATIONID,
dbo.UFN_DESIGNATION_BUILDNAME(DCMM.MATCHINGDESIGNATIONID) as MATCHINGDESIGNATIONNAME,
MD.USERID as MATCHINGDESIGNATIONLOOKUPID,
@DONORCHALLENGEBASECURRENCYID
from
dbo.DONORCHALLENGEMEMBERSHIPLEVELMAP DCMM
inner join
dbo.MEMBERSHIPLEVEL ML on ML.ID = DCMM.MEMBERSHIPLEVELID
inner join
dbo.MEMBERSHIPPROGRAM MP on MP.ID = ML.MEMBERSHIPPROGRAMID
left join
dbo.DESIGNATION MD on MD.ID = DCMM.MATCHINGDESIGNATIONID
where
DONORCHALLENGEID = @ID
order by
MEMBERSHIPPROGRAMNAME, MEMBERSHIPLEVELNAME