fnFundraiserSolicitorDonationTotal

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@FundraiserSolicitorID int IN

Definition

Copy


            CREATE   FUNCTION [dbo].[fnFundraiserSolicitorDonationTotal]
            (
            @FundraiserSolicitorID int
            )
            RETURNS money
            AS
            BEGIN

            DECLARE @Total money
            DECLARE @AthonTotal money
            DECLARE @AthonUnits int
            DECLARE @FRDTable Table(
            Amount Money,
            IsAthon bit)

            IF EXISTS(SELECT TOP 1 null FROM FundraiserDonations WHERE SolicitorID = @FundraiserSolicitorID)
                BEGIN
                    INSERT INTO @FRDTable
                    SELECT frd.amount, frd.IsAthon
                    FROM dbo.FundRaiserDonations frd
                    INNER JOIN DonationTransactions tx ON frd.DonationTransactionsID = tx.DonationTransactionsID
                    where frd.SolicitorID = @FundraiserSolicitorID AND tx.IsDeleted = 0 and tx.Status = 1

                    SELECT @AthonUnits = isnull(AthonUnits, 0)  from FundraiserSolicitors where ID = @FundraiserSolicitorID

                    SELECT @Total=isnull(sum(frd.Amount),0)
                    FROM @FRDTable frd
                    WHERE frd.IsAthon = 0

                    SELECT @AthonTotal=isnull(sum(frd.Amount*@AthonUnits),0)
                    FROM @FRDTable frd
                    WHERE frd.IsAthon = 1
                END

            RETURN(isnull(@Total+@AthonTotal, 0))

            END