![]() |
---|
CREATE trigger [dbo].[TR_REGISTRANTDESIGNATION_INSERTUPDATE_CURRENCY] on [dbo].[REGISTRANTDESIGNATION] after insert, update not for replication as begin set nocount on; declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); -- if we try to save an amount without explicitly setting an organization amount and an exchange rate, -- copy the amount to the organization amount. if update(AMOUNT) update dbo.REGISTRANTDESIGNATION set REGISTRANTDESIGNATION.ORGANIZATIONAMOUNT = REGISTRANTDESIGNATION.AMOUNT, REGISTRANTDESIGNATION.CHANGEDBYID = REGISTRANTDESIGNATION.CHANGEDBYID, REGISTRANTDESIGNATION.DATECHANGED = REGISTRANTDESIGNATION.DATECHANGED from inserted inner join dbo.REGISTRANTDESIGNATION on inserted.ID = REGISTRANTDESIGNATION.ID inner join dbo.REGISTRANT on REGISTRANTDESIGNATION.REGISTRANTID = REGISTRANT.ID inner join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID where REGISTRANTDESIGNATION.ORGANIZATIONEXCHANGERATEID is null and (EVENT.BASECURRENCYID is null or EVENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( REGISTRANTDESIGNATION.ORGANIZATIONAMOUNT <> REGISTRANTDESIGNATION.AMOUNT or REGISTRANTDESIGNATION.AMOUNT = 0 ) end |