USP_DATALIST_GIVING_HISTORY

Get the Giving History info.

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN Event ID
@ADDRESSBOOKFAFID uniqueidentifier IN Address book faf ID

Definition

Copy


CREATE procedure dbo.USP_DATALIST_GIVING_HISTORY
    ( @EVENTID uniqueidentifier,
    @ADDRESSBOOKFAFID uniqueidentifier
      --, @CLIENTUSERSID integer

    )WITH EXECUTE AS CALLER
    as

    BEGIN
    SET NOCOUNT ON;

  DECLARE @CONSTITUENTID uniqueidentifier, @DONORCONSTITUENTID uniqueidentifier, @CLIENTUSERSID integer, @PRIORYEAREVENTID uniqueidentifier

  SELECT @DONORCONSTITUENTID=  CONSTITUENTID, @CLIENTUSERSID= CLIENTUSERSID FROM ADDRESSBOOKFAF    WHERE ID= @ADDRESSBOOKFAFID
  SELECT @CONSTITUENTID= dbo.UFN_CONSTITUENT_GET_BY_CLIENTUSERID(@CLIENTUSERSID)
  SET @PRIORYEAREVENTID= (select top 1 PRIORYEAREVENTID FROM EVENTEXTENSION WHERE EVENTID= @EVENTID)

  DECLARE    @GROUPCONSTITUENTID uniqueidentifier, @GROUPTYPE varchar(9)
  ----

  SELECT    @GROUPCONSTITUENTID= TEAMCONSTITUENTID, @GROUPTYPE= TEAMEXTENSION.TYPE
  FROM        TEAMEXTENSION                            (NOLOCK)
  JOIN        TEAMFUNDRAISINGTEAM                (NOLOCK)    ON        TEAMFUNDRAISINGTEAM.ID    = [TEAMEXTENSION].TEAMFUNDRAISINGTEAMID
  JOIN        TEAMFUNDRAISINGTEAMMEMBER    (NOLOCK)    ON        TEAMFUNDRAISINGTEAMMEMBER.TEAMFUNDRAISINGTEAMID = TEAMFUNDRAISINGTEAM.ID
  JOIN        TEAMFUNDRAISER                        (NOLOCK)    ON        TEAMFUNDRAISER.ID = TEAMFUNDRAISINGTEAMMEMBER.TEAMFUNDRAISERID
  WHERE        TEAMFUNDRAISER.CONSTITUENTID    = @CONSTITUENTID AND TEAMEXTENSION.EVENTID= @EVENTID
  --------------------------------------------------


  SELECT         DISTINCT A.FIRSTNAME, A.LASTNAME, DL.DATEADDED AS DATE, DL.CURRENTDONATIONAMOUNT AS AMOUNT, E.ID AS EVENTID, E.NAME + ' (Current)' AS EVENTNAME, TFT.NAME AS TEAMNAME
                   --, CASE WHEN TE.TYPECODE= 1 THEN 'TEAM'     WHEN TE.TYPECODE= 2 THEN 'COMPANY' WHEN TE.TYPECODE= 3 THEN 'HOUSEHOLD' ELSE 'INDIVIDUAL' END as GROUPTYPE

               , CASE WHEN FT1.DONORID IS NOT NULL THEN 'Personal' WHEN FT2.DONORID IS NOT NULL THEN @GROUPTYPE END as GROUPTYPE         
                     --, '' as SEP, A.ID AS ADDRESSBOOKFAFID, A.CLIENTUSERSID, REG.ID AS REGISTRANTID, A.CONSTITUENTID


  FROM              dbo.ADDRESSBOOKFAF A                    (NOLOCK) 
  LEFT JOIN        dbo.REGISTRANT REG                        (NOLOCK)     ON    A.CONSTITUENTID = REG.CONSTITUENTID
  LEFT JOIN        dbo.CONSTITUENT C                            (NOLOCK)    ON    C.ID =REG.CONSTITUENTID 

  LEFT JOIN        dbo.UFN_FAFADDRESSBOOK_DONORS_LIST    (@EVENTID, @CLIENTUSERSID)  DL  ON A.CONSTITUENTID= DL.CONSTITUENTID    
  LEFT JOIN        dbo.UFN_FAFEVENT_TRANSACTIONS          (@EVENTID)  FT1  ON A.CONSTITUENTID= FT1.DONORID    AND FT1.RECEIVERID= @CONSTITUENTID        
  LEFT JOIN        dbo.UFN_FAFEVENT_TRANSACTIONS          (@EVENTID)  FT2  ON A.CONSTITUENTID= FT2.DONORID    AND FT2.RECEIVERID= @GROUPCONSTITUENTID    

  LEFT JOIN        dbo.EVENT E                                        (NOLOCK) ON    DL.APPEALID = E.APPEALID
  LEFT JOIN        dbo.TEAMFUNDRAISER TFR                            (NOLOCK) ON TFR.CONSTITUENTID = @CONSTITUENTID
  LEFT JOIN        dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM    (NOLOCK) ON TFR.ID = TFTM.TEAMFUNDRAISERID 
  LEFT JOIN        dbo.TEAMFUNDRAISINGTEAM TFT                    (NOLOCK) ON TFTM.TEAMFUNDRAISINGTEAMID = TFT.ID 
  LEFT JOIN        dbo.TEAMEXTENSION TE                                (NOLOCK) ON TFTM.TEAMFUNDRAISINGTEAMID = TE.TEAMFUNDRAISINGTEAMID 

  WHERE            E.ID= @EVENTID
  AND                A.ID= @ADDRESSBOOKFAFID

  UNION  ALL

  SELECT         DISTINCT A.FIRSTNAME, A.LASTNAME, DL.DATEADDED AS DATE, DL.CURRENTDONATIONAMOUNT AS AMOUNT, E.ID AS EVENTID, E.NAME AS EVENTNAME, TFT.NAME AS TEAMNAME
                   --, CASE WHEN TE.TYPECODE= 1 THEN 'TEAM'     WHEN TE.TYPECODE= 2 THEN 'COMPANY' WHEN TE.TYPECODE= 3 THEN 'HOUSEHOLD' ELSE 'INDIVIDUAL' END as GROUPTYPE

                          , CASE WHEN FT1.DONORID IS NOT NULL THEN 'Personal' WHEN FT2.DONORID IS NOT NULL THEN @GROUPTYPE END as GROUPTYPE
             --, '' as SEP, A.ID AS ADDRESSBOOKFAFID, A.CLIENTUSERSID, REG.ID AS REGISTRANTID, A.CONSTITUENTID


  FROM              dbo.ADDRESSBOOKFAF A                    (NOLOCK) 
  LEFT JOIN        dbo.REGISTRANT REG                        (NOLOCK)     ON    A.CONSTITUENTID = REG.CONSTITUENTID
  LEFT JOIN        dbo.CONSTITUENT C                            (NOLOCK)    ON    C.ID =REG.CONSTITUENTID 
  LEFT JOIN        dbo.UFN_FAFADDRESSBOOK_DONORS_LIST  (@PRIORYEAREVENTID, @CLIENTUSERSID)  DL  ON A.CONSTITUENTID= DL.CONSTITUENTID    
  LEFT JOIN        dbo.UFN_FAFEVENT_TRANSACTIONS          (@PRIORYEAREVENTID)  FT1  ON A.CONSTITUENTID= FT1.DONORID    AND FT1.RECEIVERID= @CONSTITUENTID        
  LEFT JOIN        dbo.UFN_FAFEVENT_TRANSACTIONS          (@PRIORYEAREVENTID)  FT2  ON A.CONSTITUENTID= FT2.DONORID    AND FT2.RECEIVERID= @GROUPCONSTITUENTID    

  LEFT JOIN        dbo.EVENT E                                        (NOLOCK) ON    DL.APPEALID = E.APPEALID
  LEFT JOIN        dbo.TEAMFUNDRAISER TFR                            (NOLOCK) ON TFR.CONSTITUENTID = @CONSTITUENTID
  LEFT JOIN        dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM    (NOLOCK) ON TFR.ID = TFTM.TEAMFUNDRAISERID 
  LEFT JOIN        dbo.TEAMFUNDRAISINGTEAM TFT                    (NOLOCK) ON TFTM.TEAMFUNDRAISINGTEAMID = TFT.ID 
  LEFT JOIN        dbo.TEAMEXTENSION TE                                (NOLOCK) ON TFTM.TEAMFUNDRAISINGTEAMID = TE.TEAMFUNDRAISINGTEAMID 

  WHERE       E.ID  IN (SELECT PRIORYEAREVENTID FROM EVENTEXTENSION WHERE EVENTID= @EVENTID)
  AND                A.ID=@ADDRESSBOOKFAFID
  ORDER BY       DL.DATEADDED DESC
    END