fnFundRaiserTotalDonationAmountBySolicitorContactID

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@FundRaiserSolicitorContactID int IN

Definition

Copy

            CREATE   FUNCTION [dbo].[fnFundRaiserTotalDonationAmountBySolicitorContactID]
            (
                @FundRaiserSolicitorContactID int
            )
            RETURNS money
            AS
            BEGIN
                DECLARE @Total money
                DECLARE @AthonTotal money
                DECLARE @Temp TABLE(FRDID int, Amount money, IsAthon bit, AthonUnits int)

                INSERT INTO @Temp
                SELECT frd.ID, frd.Amount, frd.IsAthon, frs.AthonUnits
                FROM
                dbo.FundRaiserSolicitorContactAction frsca
                inner join dbo.FundRaiserDonations frd ON frd.id = frsca.FundRaiserDonationsID 
                inner join dbo.FundRaiserSolicitors frs ON frs.id = frd.SolicitorID
                inner join dbo.DonationTransactions dt on dt.DonationTransactionsID = frd.DonationTransactionsID and dt.IsDeleted = 0 and dt.Status = 1
                where frsca.FundraiserSolicitorContactID = @FundRaiserSolicitorContactID

                SELECT @Total=isnull(sum(Amount),0)
                FROM @Temp
                WHERE IsAthon = 0

                SELECT @AthonTotal=isnull(sum(Amount * AthonUnits),0)
                FROM @Temp
                where not exists (select null from dbo.FundRaiserDonations frd where frd.PledgeID = FRDID)
                and IsAthon = 1

                RETURN(@Total+@AthonTotal)

            END