fnTransactions_GetUnprocessedGiftsForClient

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@ClientID int IN

Definition

Copy



CREATE     function [dbo].[fnTransactions_GetUnprocessedGiftsForClient](@ClientID int)
            returns table as
            return (
            select top 100 percent
            dtran.DonationTransactionsID,
            dtran.DateAdded,
            dtran.LastName,
            dtran.XMLObjectData,
            dbo.fnGetRaisersEdgeRecordIDFromLinkedUserID(frs.ClientUsersID) ConstituentID,
            frs.ID FundRaiserSolicitorID,
            frd.IsAthon,
            case isnull(frd.IsAthon,0) when 0 then frd.Amount else (frd.Amount * frs.AthonUnits) end as AthonTotal

            from dbo.DonationTransactions dtran
            left join dbo.FundRaiserDonations frd on frd.DonationTransactionsID=dtran.DonationTransactionsID
            left join dbo.FundRaiserSolicitors frs on frd.SolicitorID=frs.ID
            left join dbo.FundRaisers fr on dbo.fnGetFundRaiserIDForSolicitor(frs.ID) = fr.ID
            left join dbo.ClientUsers cu on frs.ClientUsersID = cu.ID

            where
            dtran.ClientsID=@ClientID
            and dtran.processed_date is null
            and dtran.IsDeleted=0
            and dtran.[Status] = 1
            and (frs.ID is null or fr.IsCarePageManager=1 or (frs.ID is not null and (cu.Deleted=1 or (frs.BackOfficeID > 0 and dbo.fnGetRaisersEdgeRecordIDFromLinkedUserID(frs.ClientUsersID) > 0))))
            and (fr.ID is null or fr.IsCarePageManager=1 or (fr.ID is not null
            and ((frd.IsAthon=0
            and (fr.AthonDownloadPledges=0
            or (fr.AthonDownloadPledges=1
            and not exists (select null from dbo.FundRaiserDonations frd2
            inner join dbo.DonationTransactions dtran2 on dtran2.DonationTransactionsID=frd2.DonationTransactionsID
            where frd2.ID=frd.PledgeID and dtran2.processed_date is null))))
            or (frd.IsAthon=1 and fr.AthonDownloadPledges=1 and frs.AthonLocked=1 and frs.AthonUnits > 0))
            ))
            order by dtran.DonationTransactionsID
            )