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