![]() |
---|
CREATE trigger dbo.[TR_MKTSPONSORSHIPMAILINGTEMPLATERULE_INSERTUPDATE_CURRENCY] on dbo.[MKTSPONSORSHIPMAILINGTEMPLATERULE] 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.[MKTSPONSORSHIPMAILINGTEMPLATERULE] set [MKTSPONSORSHIPMAILINGTEMPLATERULE].[BASECURRENCYID] = [MKTSPONSORSHIPMAILINGTEMPLATE].[BASECURRENCYID], [MKTSPONSORSHIPMAILINGTEMPLATERULE].[CHANGEDBYID] = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[CHANGEDBYID], [MKTSPONSORSHIPMAILINGTEMPLATERULE].[DATECHANGED] = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[DATECHANGED] from inserted inner join dbo.[MKTSPONSORSHIPMAILINGTEMPLATERULE] on inserted.ID = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[ID] inner join dbo.[MKTSPONSORSHIPMAILINGTEMPLATE] on [MKTSPONSORSHIPMAILINGTEMPLATE].[ID] = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[SPONSORSHIPMAILINGTEMPLATEID] where [MKTSPONSORSHIPMAILINGTEMPLATERULE].[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.[MKTSPONSORSHIPMAILINGTEMPLATERULE] set [MKTSPONSORSHIPMAILINGTEMPLATERULE].[ORGANIZATIONGIFTAMOUNT] = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[GIFTAMOUNT], [MKTSPONSORSHIPMAILINGTEMPLATERULE].[CHANGEDBYID] = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[CHANGEDBYID], [MKTSPONSORSHIPMAILINGTEMPLATERULE].[DATECHANGED] = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[DATECHANGED] from inserted inner join dbo.[MKTSPONSORSHIPMAILINGTEMPLATERULE] on inserted.ID = [MKTSPONSORSHIPMAILINGTEMPLATERULE].[ID] where [MKTSPONSORSHIPMAILINGTEMPLATERULE].[CURRENCYEXCHANGERATEID] is null and [MKTSPONSORSHIPMAILINGTEMPLATERULE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID and ([MKTSPONSORSHIPMAILINGTEMPLATERULE].[ORGANIZATIONGIFTAMOUNT] <> [MKTSPONSORSHIPMAILINGTEMPLATERULE].[GIFTAMOUNT] or [MKTSPONSORSHIPMAILINGTEMPLATERULE].[GIFTAMOUNT] = 0); end end |