USP_DATALIST_MEMBERSHIPCARD
Displays a list of membership cards for a membership.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MEMBERSHIPID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@MEMBERID | uniqueidentifier | IN | Member |
@INCLUDEINACTIVECARDS | bit | IN | Include inactive cards |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_MEMBERSHIPCARD
(
@MEMBERSHIPID uniqueidentifier,
@MEMBERID uniqueidentifier = null,
@INCLUDEINACTIVECARDS bit = 1
)
as
set nocount on;
declare @LOWERBOUND datetime;
set @LOWERBOUND = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
select
MC.ID,
MC.STATUSCODE,
case
when @LOWERBOUND > MC.EXPIRATIONDATE then
1
else
0
end ISEXPIRED,
NF.NAME MEMBER,
case
when MC.STATUSCODE <> 2 and @LOWERBOUND > MC.EXPIRATIONDATE then
'Expired'
else
MC.STATUS
end [STATUS],
MC.NAMEONCARD,
MC.DATEADDED,
MC.PRINTDATE,
MC.EXPIRATIONDATE,
MC.COMMENTS,
dbo.UFN_CHANGEAGENT_GETUSERNAME(MC.ADDEDBYID) ISSUEDBY,
dbo.UFN_CHANGEAGENT_GETUSERNAME(MC.PRINTEDBYID) PRINTEDBY
from
dbo.MEMBERSHIP MS
inner join
dbo.MEMBER M
on MS.ID = M.MEMBERSHIPID
inner join
dbo.MEMBERSHIPCARD MC
on M.ID = MC.MEMBERID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(M.CONSTITUENTID) NF
where
MS.ID = @MEMBERSHIPID
and (
@MEMBERID is null
or @MEMBERID = M.ID
)
and (
@INCLUDEINACTIVECARDS = 1
or (
MC.STATUSCODE <> 2
and @LOWERBOUND <= MC.EXPIRATIONDATE
)
)
order by
MEMBER,
MC.DATEADDED