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