USP_RECORDOPERATION_MEMBERSHIPCARDDELETE

Executes the "Membership Card: Delete" record operation.

Parameters

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

Definition

Copy


                    CREATE procedure dbo.USP_RECORDOPERATION_MEMBERSHIPCARDDELETE
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as
                        set nocount on;

                        if @CHANGEAGENTID is null
                            exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;

                        declare @CURRENTDATE datetime = getdate();

                        declare @STATUSCODE tinyint;
                        select @STATUSCODE = STATUSCODE from dbo.MEMBERSHIPCARD where ID = @ID

                        begin try
                            if @STATUSCODE <> 0
                                raiserror('BBERR_INVALIDMEMBERSHIPCARDSTATUS', 13, 1);

                            --Remove relationship with sales orders pointing to card

                            update dbo.[SALESORDERITEMMEMBERSHIPCARD]
                            set 
                                [MEMBERSHIPCARDID] = null,
                                [CHANGEDBYID] = @CHANGEAGENTID,
                                [DATECHANGED] = @CURRENTDATE
                            where [MEMBERSHIPCARDID] = @ID;

                            exec dbo.USP_MEMBERSHIPCARD_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;