UFN_MEMBERSHIPLEVEL_CREATERENEWALAFTEREXPIRATIONDATE_2

This function calculates the after expiration renewal date by looking at the transaction date.

Return

Return Type
datetime

Parameters

Parameter Parameter Type Mode Description
@MEMBERSHIPLEVELID uniqueidentifier IN
@EXPIRATIONDATE datetime IN
@TRANSACTIONDATE datetime IN

Definition

Copy


            CREATE function dbo.UFN_MEMBERSHIPLEVEL_CREATERENEWALAFTEREXPIRATIONDATE_2
            (
                @MEMBERSHIPLEVELID uniqueidentifier,
                @EXPIRATIONDATE datetime,
                @TRANSACTIONDATE datetime
            )
            returns datetime with execute as caller
            as
            begin
                declare @AFTEREXPIRATION smallint

                 select @AFTEREXPIRATION = AFTEREXPIRATION
                from dbo.MEMBERSHIPLEVELRENEWALRULES
                where MEMBERSHIPLEVELID = @MEMBERSHIPLEVELID and 
                    ((ENDDATE is not null and @TRANSACTIONDATE >= STARTDATE and @TRANSACTIONDATE < ENDDATE) or 
                        (ENDDATE is null and @TRANSACTIONDATE >= STARTDATE))

                if @AFTEREXPIRATION is null
                    select @AFTEREXPIRATION = AFTEREXPIRATION
                    from dbo.MEMBERSHIPLEVEL
                    where @MEMBERSHIPLEVELID = ID

                return dateadd(month, @AFTEREXPIRATION, @EXPIRATIONDATE)
            end