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