fnFundraiserTeamDonationTotal
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FundraiserTeamID | int | IN | |
@RootFundraiserID | int | IN | |
@Depth | int | IN |
Definition
Copy
CREATE FUNCTION [dbo].[fnFundraiserTeamDonationTotal] (
@FundraiserTeamID int,
@RootFundraiserID int,
@Depth int)
RETURNS money
AS
BEGIN
DECLARE @Total money
DECLARE @AthonTotal money
DECLARE @FRDTable Table(
Amount Money,
SolicitorID int,
IsAthon bit)
INSERT INTO @FRDTable
SELECT frd.amount, frd.solicitorid, frd.IsAthon
FROM dbo.fnFundRaiserTeamSolicitors(@FundRaiserTeamID, @RootFundRaiserID, @Depth) frs
INNER JOIN dbo.FundRaiserDonations frd on frs.SolicitorID = frd.SolicitorID
INNER JOIN DonationTransactions tx ON frd.DonationTransactionsID = tx.DonationTransactionsID
WHERE tx.IsDeleted = 0 AND tx.Status = 1
SELECT @Total=isnull(sum(Amount),0)
FROM @FRDTable
WHERE IsAthon = 0
SELECT @AthonTotal=isnull(sum(Amount*frs.AthonUnits),0)
FROM @FRDTable
INNER JOIN dbo.FundraiserSolicitors frs on frs.ID = SolicitorID
WHERE IsAthon = 1 AND frs.AthonUnits > 0
RETURN(@Total+@AthonTotal)
END