UFN_CONSTITUENT_LASTYEARSGIVINGTOTAL

Returns the amount the constituent gave last year.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


create function dbo.UFN_CONSTITUENT_LASTYEARSGIVINGTOTAL
(
    @ID uniqueidentifier
)
returns money
as
begin
    declare @TOTALAMOUNT money;
    declare @STARTDATE datetime;
    declare @ENDDATE datetime;
    declare @TODAY datetime;
    declare @CONSTITUENTIDS table (ID uniqueidentifier primary key);

    set @TODAY = getdate();
    set @STARTDATE = dbo.UFN_DATE_LASTCALENDARYEAR_FIRSTDAY(@TODAY, 0);
    set @ENDDATE = dbo.UFN_DATE_LASTCALENDARYEAR_LASTDAY(@TODAY, 1);

    insert into @CONSTITUENTIDS(ID) values (@ID);

    if dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@ID) = 1 begin
        insert into @CONSTITUENTIDS(ID) (
            select
                MEMBERID
            from
                dbo.GROUPMEMBER
            where
                (GROUPID = @ID)
            )
    end

    select
        @TOTALAMOUNT = sum(REVENUE.AMOUNT)
    from
        dbo.REVENUE
    where
        (REVENUE.CONSTITUENTID in (
            select ID
            from @CONSTITUENTIDS
            )
        )
        and (REVENUE.TRANSACTIONTYPECODE = 0)
        and (REVENUE.DATE >= @STARTDATE)
        and (REVENUE.DATE <= @ENDDATE);

    return coalesce(@TOTALAMOUNT, 0);

end