UFN_FAFEVENT_GETEVENTTOTAL_BY_CATEGORY

For reports, provide total raised by revenue category for FAF events based on revenue configurations

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@ISRETAINEDMODE tinyint IN

Definition

Copy


CREATE function [dbo].[UFN_FAFEVENT_GETEVENTTOTAL_BY_CATEGORY]
(
    @EVENTID uniqueidentifier,
    @STARTDATE datetime = null,
    @ENDDATE datetime = null,
    @ISRETAINEDMODE tinyint = 0  --0: Total Revenue for current event, 1: Revenue retained for that current event.

)
returns @EventRevenueByCategory table 
(
     REVENUETYPECODE    tinyint 
    ,REVENUETYPE        nvarchar(50)
    ,TOTAL                money
    ,TOTALCOUNT            integer
)
as 
begin
    --10/28/2010: For the logic on how to calculate all total, please contact DBA group

    declare 
            @ISUNPAIDPLEDGES                    bit = 0
          , @ISUNPAIDRECURRINGGIFTS                bit = 0
          , @ISSPONSORSHIPREVENUE                bit = 0
          , @ISUNPAIDSPONSORSHIPREVENUE            bit = 0
          , @ISREGISTRATIONREVENUE                bit = 0
          , @ISPENDINGMATCHINGGIFTS                bit = 0
          , @UNCONFIRMEDPARTICIPANTGIFTENTRY    bit = 0;

    -- Get configuration settings

    select 
        @ISUNPAIDPLEDGES                 = C.ISUNPAIDPLEDGES
      , @ISUNPAIDRECURRINGGIFTS             = C.ISUNPAIDRECURRINGGIFTS
      , @ISSPONSORSHIPREVENUE             = C.ISSPONSORSHIPREVENUE
      , @ISUNPAIDSPONSORSHIPREVENUE         = C.ISUNPAIDSPONSORSHIPREVENUE
      , @ISREGISTRATIONREVENUE             = C.ISREGISTRATIONREVENUE
      , @ISPENDINGMATCHINGGIFTS             = C.ISPENDINGMATCHINGGIFTS
      , @UNCONFIRMEDPARTICIPANTGIFTENTRY = C.UNCONFIRMEDPARTICIPANTGIFTENTRY
    from    dbo.FAFEVENTDONATIONOPTIONSCONFIG C
    where    EVENTID = @EVENTID;

    ;with [EVENTTOTAL_CTE]
    as    
    (
        select     SUM([ORIGINAL amount]) AS [ORIGINALAMOUNT]
                ,SUM([APPLIED AMOUNT])    AS [APPLIEDAMOUNT]
                ,TRANSACTIONTYPE        AS [REVENUETYPE]
                ,COUNT(CONSTITUENTID)   AS [TOTALCOUNT]
        from    [dbo].[UFN_FAFEVENT_REVENUEDETAILS](@EVENTID,@STARTDATE,@ENDDATE,@ISRETAINEDMODE
        group by transactiontype
    )
     insert @EventRevenueByCategory 
    (
         [REVENUETYPECODE]    
        ,[REVENUETYPE]        
        ,[TOTAL]                
        ,[TOTALCOUNT]
    )
    select    
            case 
                when [REVENUETYPE] = 'Donation'                THEN 0
                when [REVENUETYPE] = 'Event registration'    THEN 1
                when [REVENUETYPE] = 'Pledge'                THEN 2
                when [REVENUETYPE] = 'Event sponsorship'    THEN 15
                when [REVENUETYPE] = 'Matching gift'        THEN 7
                when [REVENUETYPE] = 'Recurring gift'        THEN 3
            end as [REVENUETYPECODE]        
            ,[REVENUETYPE]
            ,[ORIGINALAMOUNT] as [TOTAL]
            ,[TOTALCOUNT]
    from    [EVENTTOTAL_CTE];

    return
end