TR_MEMBERSHIPPROGRAM_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_MEMBERSHIPPROGRAM_INSERTUPDATE_CURRENCY] on [dbo].[MEMBERSHIPPROGRAM]
after insert, update
not for replication
as
begin
set nocount on;
if update(ADDONADULTPRICE) or update(ADDONGUESTPRICE)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
update
dbo.MEMBERSHIPPROGRAM
set
MEMBERSHIPPROGRAM.ORGANIZATIONADDONADULTPRICE = MEMBERSHIPPROGRAM.ADDONADULTPRICE,
MEMBERSHIPPROGRAM.ORGANIZATIONADDONGUESTPRICE = MEMBERSHIPPROGRAM.ADDONGUESTPRICE,
MEMBERSHIPPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
MEMBERSHIPPROGRAM.CHANGEDBYID = MEMBERSHIPPROGRAM.CHANGEDBYID,
MEMBERSHIPPROGRAM.DATECHANGED = MEMBERSHIPPROGRAM.DATECHANGED
from
inserted
inner join
dbo.MEMBERSHIPPROGRAM on inserted.ID = MEMBERSHIPPROGRAM.ID
where
MEMBERSHIPPROGRAM.ORGANIZATIONEXCHANGERATEID is null
and (MEMBERSHIPPROGRAM.BASECURRENCYID is null or MEMBERSHIPPROGRAM.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and (MEMBERSHIPPROGRAM.ORGANIZATIONADDONADULTPRICE <> MEMBERSHIPPROGRAM.ADDONADULTPRICE
or MEMBERSHIPPROGRAM.ORGANIZATIONADDONGUESTPRICE <> MEMBERSHIPPROGRAM.ADDONGUESTPRICE
or (MEMBERSHIPPROGRAM.ADDONADULTPRICE = 0 AND MEMBERSHIPPROGRAM.ADDONGUESTPRICE = 0)
);
end
end