USP_MEMBERSHIP_MARKACTIVE

Executes the "Membership: Mark Active" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


                CREATE procedure dbo.USP_MEMBERSHIP_MARKACTIVE
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier
                )
                as begin
                    declare @CURRENTDATE datetime
                    declare @NEWEXPIRATION datetime

                    set @CURRENTDATE = getdate()
                    select @NEWEXPIRATION = dbo.UFN_MEMBERSHIP_CALCULATEEXPIRATIONDATEBYLEVEL(MEMBERSHIPLEVELID, MEMBERSHIPLEVELTERMID, @CURRENTDATE)
                    from dbo.MEMBERSHIP
                    where ID = @ID;

                    update dbo.MEMBERSHIP 
                        set STATUSCODE = 0,
                            EXPIRATIONDATE = @NEWEXPIRATION,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID;

                    update dbo.MEMBERSHIPTRANSACTION
                        set EXPIRATIONDATE = @NEWEXPIRATION,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where MEMBERSHIPTRANSACTION.MEMBERSHIPID = @ID

                    -- Lifetime membership

                    if @NEWEXPIRATION is not null
                        update dbo.MEMBERSHIPCARD
                            set EXPIRATIONDATE = @NEWEXPIRATION,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            from dbo.MEMBERSHIPCARD
                            inner join dbo.MEMBER
                            on MEMBER.ID = MEMBERSHIPCARD.MEMBERID
                            inner join dbo.MEMBERSHIP
                            on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
                            where MEMBERSHIP.ID = @ID;
                    end