UFN_MEMBERSHIP_GETLEVELBYDATE
Returns the membership level for the given time.
Return
Return Type |
---|
uniqueidentifier |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MEMBERSHIPID | uniqueidentifier | IN | |
@DATE | datetime | IN |
Definition
Copy
CREATE function dbo.UFN_MEMBERSHIP_GETLEVELBYDATE
(
@MEMBERSHIPID uniqueidentifier,
@DATE datetime = null
)
returns uniqueidentifier
as begin
declare @MEMBERSHIPLEVELID uniqueidentifier = null;
select top (1) @MEMBERSHIPLEVELID =
case
when [ACTIONCODE] = 4 then --If the latest transaction was dropped
null
when [MEMBERSHIPTRANSACTION].[EXPIRATIONDATE] <= @DATE then --If the latest transaction had expired
null
else
[MEMBERSHIPLEVELID]
end
from dbo.[MEMBERSHIPTRANSACTION]
where [MEMBERSHIPTRANSACTION].[TRANSACTIONDATE] <= @DATE
and [MEMBERSHIPTRANSACTION].[MEMBERSHIPID] = @MEMBERSHIPID
order by [MEMBERSHIPTRANSACTION].[TRANSACTIONDATE] desc;
return @MEMBERSHIPLEVELID;
end