UFN_TEAMFUNDRAISINGTEAMGROUP_GETGROUPGOALFOREVENTSINCURRENCY

Returns the sum of the goals for teams that were associated with appeals on events in the given group and date range in a given currency.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@GROUPID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@CURRENCYID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_TEAMFUNDRAISINGTEAMGROUP_GETGROUPGOALFOREVENTSINCURRENCY
            (
                @GROUPID uniqueidentifier=null,
                @STARTDATE datetime=null,
                @ENDDATE datetime=null,
        @CURRENCYID uniqueidentifier=null
            )
            returns money
            as
            begin

                declare @GROUPGOAL money

                select @GROUPGOAL=sum(case
                                when @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() then
                                  TEAMFUNDRAISINGTEAM.ORGANIZATIONGOAL
                                when @CURRENCYID = TEAMFUNDRAISINGTEAM.BASECURRENCYID then
                                  TEAMFUNDRAISINGTEAM.GOAL
                                else
                                  dbo.UFN_CURRENCY_CONVERT(TEAMFUNDRAISINGTEAM.ORGANIZATIONGOAL, dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @CURRENCYID, APPEAL.DATEADDED, 1, null))
                                end)
                from TEAMFUNDRAISINGTEAM
                    inner join APPEAL on APPEAL.ID = TEAMFUNDRAISINGTEAM.APPEALID
                    inner join EVENT on EVENT.APPEALID = APPEAL.ID
                where
                    TEAMFUNDRAISINGTEAM.TEAMFUNDRAISINGTEAMGROUPID=@GROUPID
                        and (APPEAL.STARTDATE >= @STARTDATE or @STARTDATE is null)   --On or after start date

                        and (APPEAL.STARTDATE <= @ENDDATE or @ENDDATE is null)   --On or before end date


                return @GROUPGOAL
            end