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