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;