TR_PROPERTYDETAILADJUSTMENT_INSERTUPDATE_CURRENCY

Trigger Definition


				
					create trigger [dbo].[TR_PROPERTYDETAILADJUSTMENT_INSERTUPDATE_CURRENCY] on [dbo].[PROPERTYDETAILADJUSTMENT] 
					after insert, update 
					not for replication
					as
					begin
						set nocount on;
						
						declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 

						-- if we try to save an amount without explicitly setting an organization amount and an exchange rate, 
						-- copy the amount to the organization and transaction amounts.
						if update(PREVIOUSAMOUNT)
							update
								dbo.PROPERTYDETAILADJUSTMENT
							set
								PROPERTYDETAILADJUSTMENT.ORGANIZATIONPREVIOUSAMOUNT = PROPERTYDETAILADJUSTMENT.PREVIOUSAMOUNT,
								PROPERTYDETAILADJUSTMENT.TRANSACTIONPREVIOUSAMOUNT = PROPERTYDETAILADJUSTMENT.PREVIOUSAMOUNT,
								PROPERTYDETAILADJUSTMENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
								PROPERTYDETAILADJUSTMENT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
								PROPERTYDETAILADJUSTMENT.CHANGEDBYID = PROPERTYDETAILADJUSTMENT.CHANGEDBYID,
								PROPERTYDETAILADJUSTMENT.DATECHANGED = PROPERTYDETAILADJUSTMENT.DATECHANGED
							from
								inserted
							inner join
								dbo.PROPERTYDETAILADJUSTMENT on inserted.ID = PROPERTYDETAILADJUSTMENT.ID
							where
								PROPERTYDETAILADJUSTMENT.ORGANIZATIONEXCHANGERATEID is null
								and (PROPERTYDETAILADJUSTMENT.BASECURRENCYID is null or PROPERTYDETAILADJUSTMENT.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
								and PROPERTYDETAILADJUSTMENT.BASEEXCHANGERATEID is null
								and (PROPERTYDETAILADJUSTMENT.TRANSACTIONCURRENCYID is null or PROPERTYDETAILADJUSTMENT.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
								and 
								(
									PROPERTYDETAILADJUSTMENT.ORGANIZATIONPREVIOUSAMOUNT <> PROPERTYDETAILADJUSTMENT.PREVIOUSAMOUNT
									or PROPERTYDETAILADJUSTMENT.TRANSACTIONPREVIOUSAMOUNT <> PROPERTYDETAILADJUSTMENT.PREVIOUSAMOUNT
									or PROPERTYDETAILADJUSTMENT.PREVIOUSAMOUNT = 0
								)
					end