TR_MATCHINGGIFTCONDITION_INSERTUPDATE_CURRENCY

Trigger Definition


				
					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