spTransactions_AddUpdateMembership

Parameters

Parameter Parameter Type Mode Description
@PKID int INOUT
@ClientMembershipsID int IN
@UserID int IN
@xmlData ntext IN
@EmailID int IN
@GiftAmount numeric(30, 6) IN
@GiftPaymentMethod int IN
@GiftCurrencyType int IN
@TransactionGUID uniqueidentifier IN
@BackOfficeUserID int IN
@Status int IN
@EmailJobRecipientID int IN

Definition

Copy


            CREATE PROCEDURE [dbo].[spTransactions_AddUpdateMembership]
            (
                @PKID int output,
                @ClientMembershipsID int,
                @UserID int,
                @xmlData ntext,
                @EmailID int
                @GiftAmount numeric(30,6), 
                @GiftPaymentMethod int
                @GiftCurrencyType int,
                @TransactionGUID uniqueidentifier,
                @BackOfficeUserID int,
                @Status int,
                @EmailJobRecipientID int
            )
            AS

            if datalength(@xmlData)<8 
            begin
                RAISERROR ('Unable to insert transaction - membershipTransactions.XMLObjectData cannot be a zero-length string and must be well formed XML',16,1)
                return 0
            end

            if @UserID=0 set @UserID=NULL
            if @EmailJobRecipientID <= 0 set @EmailJobRecipientID = NULL

            begin transaction

            if (@PKID<=0)

            begin
                insert into dbo.MembershipTransactions
                (ClientMembershipsID,AddedByUserID,XMLObjectData, EmailID, GiftAmount, GiftPaymentMethod, GiftCurrencyType,TransactionGUID,[Status],[EmailJobRecipientID]) 
                values
                (@ClientMembershipsID,@UserID,@xmlData, @EmailID, @GiftAmount, @GiftPaymentMethod,@GiftCurrencyType,@TransactionGUID,@Status,@EmailJobRecipientID)

                SELECT @PKID = SCOPE_IDENTITY()

            end 
            else 
            begin
                UPDATE dbo.MembershipTransactions SET
                    ClientMembershipsID         =@ClientMembershipsID,
                    AddedByUserID         =@UserID,
                    XMLObjectData         =@xmlData,
                    EmailID            = @EmailID,
                    GiftAmount        = @GiftAmount,
                    GiftPaymentMethod    = @GiftPaymentMethod,
                    GiftCurrencyType    = @GiftCurrencyType,
                    TransactionGUID     =@TransactionGUID,
                    [Status]            =@Status,
                    [EmailJobRecipientID] = @EmailJobRecipientID
                WHERE ID=@PKID
            end

            if @Status = 1
                begin

                    --This will save the transaction into the BBNCTransactions Table

                Declare @BBNCTransactionsPKID int
                Set @BBNCTransactionsPKID = 0

                Declare @TransactionType nvarchar(100)
                Set @TransactionType = '{D7D6143F-823D-4c74-AC2F-947CC96B7008}'

                if @Status=1
                begin
                    exec spTransactions_InsertTransaction @BBNCTransactionsPKID, @PKID, @TransactionType, @xmlData, @UserID, @BackOfficeUserID
                end

                end        

                commit transaction