UFN_REVENUE_GETDONORRAISEDTOTAL

UFN_REVENUE_GETDONORRAISEDTOTAL

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@EVENTID uniqueidentifier IN
@CLIENTUSERID int IN

Definition

Copy


CREATE function dbo.UFN_REVENUE_GETDONORRAISEDTOTAL
(
    @CONSTITUENTID  uniqueidentifier,
    @EVENTID              uniqueidentifier,
    @CLIENTUSERID   int
)
returns money
with execute as caller
as begin
    -- do work here and return a value

  DECLARE @OWNERCONSTITUENTID  uniqueidentifier
  DECLARE @TEAMCONSTITUENTID  uniqueidentifier
  DECLARE @TOTAL money

  -- get addressbook owners

  Select @OWNERCONSTITUENTID = dbo.UFN_CONSTITUENT_GET_BY_CLIENTUSERID(@CLIENTUSERID)  

  Select @TEAMCONSTITUENTID = TT.TEAMCONSTITUENTID
     From dbo.REGISTRANT R
         INNER JOIN dbo.TEAMFUNDRAISER TF 
             ON R.CONSTITUENTID = TF.CONSTITUENTID
         INNER JOIN dbo.TEAMFUNDRAISINGTEAMMEMBER TM
             ON TF.ID = TM.TEAMFUNDRAISERID
           INNER JOIN dbo.TEAMFUNDRAISINGTEAM T
               ON TM.TEAMFUNDRAISINGTEAMID = T.ID
         Inner Join dbo.TEAMEXTENSION TT
             ON TT.TEAMFUNDRAISINGTEAMID = T.ID
  WHERE R.CONSTITUENTID = @OWNERCONSTITUENTID

  Select @TOTAL = IsNull(Sum(R.AMOUNT), 0.00)
      from  Revenue  R inner join  REVENUESPLIT (nolock) on REVENUESPLIT.REVENUEID = R.ID   
            inner join dbo.REVENUERECOGNITION RC on RC.REVENUESPLITID = REVENUESPLIT.ID 
            inner join [EVENT] E on E.APPEALID = R.APPEALID
      where RC.CONSTITUENTID  in (@OWNERCONSTITUENTID, @TEAMCONSTITUENTID)
            and E.ID = @EVENTID
            and R.CONSTITUENTID = @CONSTITUENTID
            and R.TRANSACTIONTYPE ='payment'
  --no payment exists

  if @TOTAL = 0 
  begin
     Select @TOTAL = IsNull(Sum(R.AMOUNT), 0.00)
        from  Revenue  R inner join  REVENUESPLIT (nolock) on REVENUESPLIT.REVENUEID = R.ID   
              inner join dbo.REVENUERECOGNITION RC on RC.REVENUESPLITID = REVENUESPLIT.ID 
              inner join [EVENT] E on E.APPEALID = R.APPEALID
        where RC.CONSTITUENTID  in (@OWNERCONSTITUENTID, @TEAMCONSTITUENTID)
              and E.ID = @EVENTID
              and R.CONSTITUENTID = @CONSTITUENTID
  end

    return
    (
          @TOTAL
    )
end