USP_CREDITCARD_ADD

Adds a new credit card record if the token doesn't already exist.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CREDITCARDTOKEN uniqueidentifier IN
@CARDHOLDERNAME nvarchar(255) IN
@CREDITCARDPARTIALNUMBER nvarchar(4) IN
@CREDITTYPECODEID uniqueidentifier IN
@EXPIRESON UDT_FUZZYDATE IN
@VALIDFROM UDT_FUZZYDATE IN
@ISSUENUMBER nvarchar(3) IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_CREDITCARD_ADD
            (
                @ID uniqueidentifier output,
                @CREDITCARDTOKEN uniqueidentifier,
                @CARDHOLDERNAME nvarchar(255),
                @CREDITCARDPARTIALNUMBER nvarchar(4),
                @CREDITTYPECODEID uniqueidentifier,
                @EXPIRESON dbo.UDT_FUZZYDATE,
                @VALIDFROM dbo.UDT_FUZZYDATE = '00000000',
                @ISSUENUMBER nvarchar(3) = '',
                @CHANGEAGENTID uniqueidentifier = null
            )
            as
                set nocount on

                if @CHANGEAGENTID is null
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                declare @CURRENTDATE datetime
                if @CURRENTDATE is null
                    set @CURRENTDATE = getdate()

                if @ID is null
                    set @ID = newid()

                begin try
                    -- Only insert if the token isn't already in use

                    if not exists (select 1 from dbo.CREDITCARD where CREDITCARDTOKEN = @CREDITCARDTOKEN)
                        insert into dbo.CREDITCARD 
                        (
                            [ID], 
                            [CREDITCARDTOKEN], 
                            [CARDHOLDERNAME], 
                            [CREDITTYPECODEID], 
                            [CREDITCARDPARTIALNUMBER], 
                            [EXPIRESON],
                            [VALIDFROM],
                            [ISSUENUMBER],
                            [ADDEDBYID], [CHANGEDBYID], [DATEADDED], [DATECHANGED]
                        )
                        values 
                        (
                            @ID
                            @CREDITCARDTOKEN
                            @CARDHOLDERNAME
                            @CREDITTYPECODEID
                            @CREDITCARDPARTIALNUMBER
                            @EXPIRESON,
                            @VALIDFROM,
                            @ISSUENUMBER,
                            @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
                        )
                end try
                begin catch
                    exec dbo.USP_RAISE_ERROR;

                    return 1;
                end catch

                return 0;