TR_TEAMFUNDRAISER_INSERTUPDATE_CURRENCY

Definition

Copy


                        CREATE trigger [dbo].[TR_TEAMFUNDRAISER_INSERTUPDATE_CURRENCY] on [dbo].[TEAMFUNDRAISER]
                            after insert, update
                            not for replication
                            as
                            begin
                                set nocount on;

                                if update(GOAL)
                                begin
                                    declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

                                    update
                                        dbo.TEAMFUNDRAISER
                                    set
                                        TEAMFUNDRAISER.ORGANIZATIONGOAL = TEAMFUNDRAISER.GOAL,
                                        TEAMFUNDRAISER.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                                        TEAMFUNDRAISER.CHANGEDBYID = TEAMFUNDRAISER.CHANGEDBYID,
                                        TEAMFUNDRAISER.DATECHANGED = TEAMFUNDRAISER.DATECHANGED
                                    from
                                        inserted
                                    inner join
                                        dbo.TEAMFUNDRAISER on inserted.ID = TEAMFUNDRAISER.ID
                                    where
                                        TEAMFUNDRAISER.ORGANIZATIONEXCHANGERATEID is null
                                        and (TEAMFUNDRAISER.BASECURRENCYID is null or TEAMFUNDRAISER.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                                        and
                                        (
                                            TEAMFUNDRAISER.ORGANIZATIONGOAL <> TEAMFUNDRAISER.GOAL
                                            or TEAMFUNDRAISER.GOAL = 0
                                        );
                                end
                            end