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