![]() |
---|
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 |