TR_EVENTPRICE_INSERTUPDATE_CURRENCY
Definition
Copy
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