USP_DATALIST_CREDIT_MEMBERSHIPS
Lists all memberships belonging to a refund.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CREDITID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CREDIT_MEMBERSHIPS
(
@CREDITID uniqueidentifier
)
as
set nocount on;
select
LI.[ID],
LI.[DESCRIPTION],
(
select top 1 [MEMBER].[ID]
from dbo.[MEMBER]
where
[MEMBER].[MEMBERSHIPID] = [CREDITITEMMEMBERSHIP].[MEMBERSHIPID] and
[MEMBER].[ISPRIMARY] = 1 and
[MEMBER].[ISDROPPED] = 0
) as [MEMBERID],
[CREDITITEMMEMBERSHIP].[MEMBERSHIPID]
from
dbo.FINANCIALTRANSACTIONLINEITEM as LI
inner join
dbo.[CREDITITEMMEMBERSHIP] on [CREDITITEMMEMBERSHIP].[ID] = LI.ID
where
LI.FINANCIALTRANSACTIONID = @CREDITID
union all
--We want to add in add-on items that do not have a membership on this refund.
--We pick the ID of one of them randomly.
select
max(convert(nvarchar(36), [FINANCIALTRANSACTIONLINEITEM].[ID])),
'Add-on(s)',
(
select top 1 [MEMBER].[ID]
from dbo.[MEMBER]
where
[MEMBER].[MEMBERSHIPID] = [MEMBERSHIP].[ID] and
[MEMBER].[ISPRIMARY] = 1 and
[MEMBER].[ISDROPPED] = 0
) as [MEMBERID],
[MEMBERSHIP].[ID] as [MEMBERSHIPID]
from dbo.[FINANCIALTRANSACTIONLINEITEM]
inner join [MEMBERSHIPADDON] on [MEMBERSHIPADDON].[REVENUESPLITID] = [FINANCIALTRANSACTIONLINEITEM].[SOURCELINEITEMID]
left join dbo.[CREDITITEMMEMBERSHIP] on [CREDITITEMMEMBERSHIP].[MEMBERSHIPID] = [MEMBERSHIPADDON].[MEMBERSHIPID]
left join dbo.[CREDITITEM_EXT] [MEMBERSHIPCREDITITEM] on [MEMBERSHIPCREDITITEM].[ID] = [CREDITITEMMEMBERSHIP].[ID]
inner join dbo.[MEMBERSHIP] on [MEMBERSHIP].[ID] = [MEMBERSHIPADDON].[MEMBERSHIPID]
where [FINANCIALTRANSACTIONLINEITEM].[FINANCIALTRANSACTIONID] = @CREDITID and
([MEMBERSHIPCREDITITEM].[ID] is null or [MEMBERSHIPCREDITITEM].[CREDITID] <> @CREDITID)
group by [MEMBERSHIP].[ID]
return 0;