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