USP_DATAFORMTEMPLATE_EDIT_MEMBERSHIPDETAILS_2
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELTYPECODEID | uniqueidentifier | IN | |
@COMMENTS | nvarchar(1000) | IN | |
@AUTOMATICALLYRENEWMEMBERSHIP | bit | IN | |
@MEMBERSHIPLEVELID | uniqueidentifier | IN | |
@MEMBERSHIPLEVELTERMID | uniqueidentifier | IN | |
@EXPIRATIONDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MEMBERSHIPDETAILS_2
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@MEMBERSHIPLEVELTYPECODEID uniqueidentifier,
@COMMENTS nvarchar(1000),
@AUTOMATICALLYRENEWMEMBERSHIP bit,
@MEMBERSHIPLEVELID uniqueidentifier,
@MEMBERSHIPLEVELTERMID uniqueidentifier,
@EXPIRATIONDATE datetime
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
update dbo.MEMBERSHIP set
MEMBERSHIPLEVELTYPECODEID = @MEMBERSHIPLEVELTYPECODEID,
COMMENTS = @COMMENTS,
AUTOMATICALLYRENEWMEMBERSHIP = @AUTOMATICALLYRENEWMEMBERSHIP,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
declare @LATESTTRANSACTIONID uniqueidentifier, @TRANSACTIONDATE datetime
--This edit basically works like the transaction edit, but only affects the latest transaction
select top 1 @LATESTTRANSACTIONID = ID, @TRANSACTIONDATE = TRANSACTIONDATE
from dbo.MEMBERSHIPTRANSACTION
where MEMBERSHIPID = @ID
order by TRANSACTIONDATE desc, DATEADDED desc
--Call the transaction edit save so we get the same behavior
EXEC USP_DATAFORMTEMPLATE_EDIT_MEMBERSHIPTRANSACTION_2
@ID = @LATESTTRANSACTIONID,
@CHANGEAGENTID = @CHANGEAGENTID,
@MEMBERSHIPLEVELID = @MEMBERSHIPLEVELID,
@MEMBERSHIPLEVELTERMID = @MEMBERSHIPLEVELTERMID,
@TRANSACTIONDATE = @TRANSACTIONDATE,
@EXPIRATIONDATE = @EXPIRATIONDATE,
@CANCELLATIONREASONCODE = null
update dbo.MEMBERSHIPTRANSACTION set
MEMBERSHIPLEVELTYPECODEID = @MEMBERSHIPLEVELTYPECODEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @LATESTTRANSACTIONID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;