TR_MATCHINGGIFTCONDITION_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_MATCHINGGIFTCONDITION_INSERTUPDATE_CURRENCY] on [dbo].[MATCHINGGIFTCONDITION]
after insert, update
not for replication
as
begin
set nocount on;
if update(MAXMATCHANNUAL) or update(MAXMATCHPERGIFT) or update(MAXMATCHTOTAL) or update(MINMATCHPERGIFT)
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
update
dbo.MATCHINGGIFTCONDITION
set
MATCHINGGIFTCONDITION.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
MATCHINGGIFTCONDITION.ORGANIZATIONMAXMATCHANNUAL = MATCHINGGIFTCONDITION.MAXMATCHANNUAL,
MATCHINGGIFTCONDITION.ORGANIZATIONMAXMATCHPERGIFT = MATCHINGGIFTCONDITION.MAXMATCHPERGIFT,
MATCHINGGIFTCONDITION.ORGANIZATIONMAXMATCHTOTAL = MATCHINGGIFTCONDITION.MAXMATCHTOTAL,
MATCHINGGIFTCONDITION.ORGANIZATIONMINMATCHPERGIFT = MATCHINGGIFTCONDITION.MINMATCHPERGIFT,
MATCHINGGIFTCONDITION.CHANGEDBYID = MATCHINGGIFTCONDITION.CHANGEDBYID,
MATCHINGGIFTCONDITION.DATECHANGED = MATCHINGGIFTCONDITION.DATECHANGED
from
inserted
inner join dbo.MATCHINGGIFTCONDITION on inserted.ID = MATCHINGGIFTCONDITION.ID
where
MATCHINGGIFTCONDITION.ORGANIZATIONEXCHANGERATEID is null
and (MATCHINGGIFTCONDITION.BASECURRENCYID is null
or MATCHINGGIFTCONDITION.BASECURRENCYID = @ORGANIZATIONCURRENCYID
)
and (MATCHINGGIFTCONDITION.ORGANIZATIONMAXMATCHANNUAL <> MATCHINGGIFTCONDITION.MAXMATCHANNUAL
or MATCHINGGIFTCONDITION.ORGANIZATIONMAXMATCHPERGIFT <> MATCHINGGIFTCONDITION.MAXMATCHPERGIFT
or MATCHINGGIFTCONDITION.ORGANIZATIONMAXMATCHTOTAL <> MATCHINGGIFTCONDITION.MAXMATCHTOTAL
or MATCHINGGIFTCONDITION.ORGANIZATIONMINMATCHPERGIFT <> MATCHINGGIFTCONDITION.MINMATCHPERGIFT
or (
MATCHINGGIFTCONDITION.MAXMATCHANNUAL = 0
and MATCHINGGIFTCONDITION.MAXMATCHPERGIFT = 0
and MATCHINGGIFTCONDITION.MAXMATCHTOTAL = 0
and MATCHINGGIFTCONDITION.MINMATCHPERGIFT = 0
)
);
end
end