![]() |
---|
CREATE trigger [dbo].[TR_MEMBERSHIPLEVELTERM_INSERTUPDATE_CURRENCY] on [dbo].[MEMBERSHIPLEVELTERM] after insert, update not for replication as begin set nocount on; declare @ORGANIZATIONCURRENCYID uniqueidentifier; if update(AMOUNT) begin set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); update dbo.MEMBERSHIPLEVELTERM set MEMBERSHIPLEVELTERM.ORGANIZATIONAMOUNT = MEMBERSHIPLEVELTERM.AMOUNT, MEMBERSHIPLEVELTERM.BASECURRENCYID = @ORGANIZATIONCURRENCYID, MEMBERSHIPLEVELTERM.CHANGEDBYID = MEMBERSHIPLEVELTERM.CHANGEDBYID, MEMBERSHIPLEVELTERM.DATECHANGED = MEMBERSHIPLEVELTERM.DATECHANGED from inserted inner join dbo.MEMBERSHIPLEVELTERM on inserted.ID = MEMBERSHIPLEVELTERM.ID where MEMBERSHIPLEVELTERM.ORGANIZATIONEXCHANGERATEID is null and (MEMBERSHIPLEVELTERM.BASECURRENCYID is null or MEMBERSHIPLEVELTERM.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( MEMBERSHIPLEVELTERM.ORGANIZATIONAMOUNT <> MEMBERSHIPLEVELTERM.AMOUNT or MEMBERSHIPLEVELTERM.AMOUNT = 0 ); end if update(LOWAMOUNT) begin set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); update dbo.MEMBERSHIPLEVELTERM set MEMBERSHIPLEVELTERM.ORGANIZATIONLOWAMOUNT = MEMBERSHIPLEVELTERM.LOWAMOUNT, MEMBERSHIPLEVELTERM.BASECURRENCYID = @ORGANIZATIONCURRENCYID, MEMBERSHIPLEVELTERM.CHANGEDBYID = MEMBERSHIPLEVELTERM.CHANGEDBYID, MEMBERSHIPLEVELTERM.DATECHANGED = MEMBERSHIPLEVELTERM.DATECHANGED from inserted inner join dbo.MEMBERSHIPLEVELTERM on inserted.ID = MEMBERSHIPLEVELTERM.ID where MEMBERSHIPLEVELTERM.ORGANIZATIONEXCHANGERATEID is null and (MEMBERSHIPLEVELTERM.BASECURRENCYID is null or MEMBERSHIPLEVELTERM.BASECURRENCYID = @ORGANIZATIONCURRENCYID) and ( MEMBERSHIPLEVELTERM.ORGANIZATIONLOWAMOUNT <> MEMBERSHIPLEVELTERM.LOWAMOUNT or MEMBERSHIPLEVELTERM.LOWAMOUNT = 0 ); end end |