TR_CUSTOMFORMENTRY_INSERT_UPDATE

Definition

Copy

            CREATE trigger [dbo].[TR_CUSTOMFORMENTRY_INSERT_UPDATE] 
                on [dbo].[CUSTOMFORMENTRY] 
                    after insert, update 
                not for replication
            as 
            begin
              set nocount on;    

                update [dbo].[customformentry]
                set [PAYMENTAMOUNT] = I.EntryData.value('(CustomFormEntry/PaymentAmount/node())[1]', 'money'),
                    [CREDITCARDTYPE] = I.EntryData.value('(CustomFormEntry/CreditCardType/node())[1]', 'nvarchar(100)'),
                    [CARDHOLDERNAME] = I.EntryData.value('(CustomFormEntry/CardHolderName/node())[1]', 'nvarchar(255)'),
                    [CREDITCARDNUMBER] = I.EntryData.value('(CustomFormEntry/CreditCardNumber/node())[1]', 'nvarchar(20)'),
                    [PAYMENTMETHOD] = I.EntryData.value('(CustomFormEntry/PaymentMethod/node())[1]', 'nvarchar(100)'),
                    [PAYMENTDATE] = I.EntryData.value('(CustomFormEntry/PaymentDate/node())[1]', 'datetimeoffset'),
                    [REFERENCENUMBER] = I.EntryData.value('(CustomFormEntry/CreditCardReferenceNumber/node())[1]', 'nvarchar(100)')
                from INSERTED as I
                where I.EntryID = [dbo].[customformentry].EntryID

                --MaryR 06.25.2012  Following call is to cache more info from the xml, primarily for non-common forms.
                --  There is enough logic in there that I don't want to simply copy the code here, and I don't see a need (currently)
                --  to update the USP to handle passing in the group of records inserted or updated as the USP is already optimized
                --  to only act on forms that have not been cached yet or that have recently changed.
                exec dbo.USP_CUSTOMFORMDASHBOARD_UPDATEFORMENTRYCACHE;
            end;