spFundRaiserSolicitorsOverview

Parameters

Parameter Parameter Type Mode Description
@FundRaiserSolicitorID int IN

Definition

Copy


CREATE  PROCEDURE dbo.spFundRaiserSolicitorsOverview
(@FundRaiserSolicitorID int)
AS
BEGIN
    DECLARE @total money
    DECLARE @totalonline money
    DECLARE @onlinecount int
    DECLARE @totaloffline money
    DECLARE @offlinecount int
    DECLARE @totalcount int

    SELECT 
    @totaloffline = isnull(sum(offlinedonation.amount),0),
    @offlinecount =  count(offlinedonation.id)
    FROM
    dbo.FundRaiserSolicitors Solicitor
    left join dbo.FundRaiserDonations offlinedonation on offlinedonation.solicitorid = solicitor.id        
    WHERE
    offlinedonation.isoffline = 1
    and
    Solicitor.ID = @FundRaiserSolicitorID

    SELECT
    @totalonline = isnull(sum(onlinedonation.amount),0),
    @onlinecount = count(onlinedonation.id)
    FROM
    dbo.FundRaiserSolicitors Solicitor
    left join dbo.FundRaiserDonations onlinedonation on onlinedonation.solicitorid = solicitor.id        
    WHERE
    onlinedonation.isoffline = 0
    and
    Solicitor.ID = @FundRaiserSolicitorID

    if @@rowcount > 0 
    BEGIN
        set @total = @totalonline+@totaloffline
        set @totalcount = @offlinecount+@onlinecount

    END

    SELECT @total as TotalDonationAmount, @totalonline as TotalOnlineAmount, @onlinecount as TotalOnlineCount, @totaloffline as TotalOfflineAmount, @offlinecount as TotalOfflineCount, @totalcount as TotalDonationCount

END