TR_MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger dbo.[TR_MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE_INSERTUPDATE_CURRENCY] on dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE]
after insert, update
not for replication
as
begin
set nocount on;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
--Make sure the base currency is set equal to the parent if it is not already set...
update dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] set
[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[BASECURRENCYID] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATE].[BASECURRENCYID],
[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[CHANGEDBYID] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[CHANGEDBYID],
[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[DATECHANGED] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[DATECHANGED]
from inserted
inner join dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] on inserted.ID = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[ID]
inner join dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE] on [MKTACKNOWLEDGEMENTMAILINGTEMPLATE].[ID] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[ACKNOWLEDGEMENTMAILINGTEMPLATEID]
where [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[BASECURRENCYID] is null;
if update(GIFTAMOUNT)
begin
set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
--Base currency will always be set by the update statement above, so we don't have to worry about it here...
update dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] set
[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[ORGANIZATIONGIFTAMOUNT] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[GIFTAMOUNT],
[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[CHANGEDBYID] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[CHANGEDBYID],
[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[DATECHANGED] = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[DATECHANGED]
from inserted
inner join dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] on inserted.ID = [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[ID]
where [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[CURRENCYEXCHANGERATEID] is null
and [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID
and ([MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[ORGANIZATIONGIFTAMOUNT] <> [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[GIFTAMOUNT] or [MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE].[GIFTAMOUNT] = 0);
end
end