spTransactions_InsertCapWizTransaction

Parameters

Parameter Parameter Type Mode Description
@ClientsID int IN
@UserID int IN
@xmlData ntext IN
@EmailJobRecipientID int IN
@AlertTitle nvarchar(510) IN
@CapWizActionID int IN

Definition

Copy

            CREATE  PROCEDURE [dbo].[spTransactions_InsertCapWizTransaction]
                (
                @ClientsID int ,
                @UserID int ,
                @xmlData ntext, 
                @EmailJobRecipientID int
                @AlertTitle nvarchar(510),
                @CapWizActionID int
                )
                AS

                BEGIN

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

                    --only save the txn if we don't have it already

                    if not exists (select CapWizTransactionsID from CapWizTransactions where CapWizActionID = @CapWizActionID)
                    begin
                        begin tran    

                        if @UserID=0 set @UserID=NULL
                        declare @EmailID int
                        if @EmailJobRecipientID > 0
                            SELECT @EmailID = EmailID FROM EmailJob_Recipient WHERE [ID] = @EmailJobRecipientID

                        insert into dbo.CapWizTransactions
                        (ClientsID,AddedByUserID,XMLObjectData, EmailJobRecipientID, EMailID, AlertTitle, CapWizActionID) 
                        values
                        (@ClientsID,@UserID,@xmlData, @EmailJobRecipientID, @EmailID, @AlertTitle, @CapWizActionID)


                        --This will save the transaction into the BBNCTransactions Table

                        Declare @BBNCTransactionsPKID int
                        Set @BBNCTransactionsPKID = 0

                        Declare @TransactionPKID int
                        Set @TransactionPKID = @@identity

                        Declare @TransactionType nvarchar(100)
                        Set @TransactionType = '{78902E62-2135-4e3a-A2A1-D92F6E4726D2}'

                        exec spTransactions_InsertTransaction @BBNCTransactionsPKID, @TransactionPKID, @TransactionType, @xmlData, @UserID, 0

                        if @@error = 0
                        begin
                        commit tran
                        return @TransactionPKID
                        end
                        else
                        begin
                        rollback tran
                        return 0
                        end
                    end
                    else
                    begin
                        DECLARE @Date as nvarchar(25)
                        select @Date = Value 
                        FROM GenericData where [Key] = 'CW:DateToken'
                        DECLARE @Message as nvarchar(1000)
                        SET @Message = 'Attempted to save duplicate CapWiz transaction with CapWizActionID ' + cast(@CapWizActionID as nvarchar(100))+ '.  The current timestamp for CapWiz actions is ' + @Date
                        exec dbo.spAddUpdate_Error 0, 'Duplicate CapWiz Transaction', @Message, null
                    end
                END