![]() |
---|
CREATE trigger [dbo].[TR_REGISTRANTREGISTRATION_INSERTUPDATE_CURRENCY] on [dbo].[REGISTRANTREGISTRATION] 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.REGISTRANTREGISTRATION set REGISTRANTREGISTRATION.ORGANIZATIONAMOUNT = REGISTRANTREGISTRATION.AMOUNT, REGISTRANTREGISTRATION.CHANGEDBYID = REGISTRANTREGISTRATION.CHANGEDBYID, REGISTRANTREGISTRATION.DATECHANGED = REGISTRANTREGISTRATION.DATECHANGED from inserted inner join dbo.REGISTRANTREGISTRATION on inserted.ID = REGISTRANTREGISTRATION.ID inner join dbo.REGISTRANT on REGISTRANTREGISTRATION.REGISTRANTID = REGISTRANT.ID inner join dbo.EVENT on REGISTRANT.EVENTID = EVENT.ID where REGISTRANTREGISTRATION.ORGANIZATIONEXCHANGERATEID is null and (EVENT.BASECURRENCYID is null or EVENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( REGISTRANTREGISTRATION.ORGANIZATIONAMOUNT <> REGISTRANTREGISTRATION.AMOUNT or REGISTRANTREGISTRATION.AMOUNT = 0 ) end |