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