USP_DATALIST_GETCONTACTDETAILS

Use to pull a list of contact detail for an user login in Address Book

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN eventid
@CLIENTUSERID int IN CLIENTUSERID
@ADDRESSBOOKID uniqueidentifier IN ADDRESSBOOKID
@CONSTITUENTID uniqueidentifier IN CONSTITUENTID
@ROLECODE tinyint IN ROLECODE
@REGISTRANTID uniqueidentifier IN REGISTRANTID
@REGISTRANTTEAMID uniqueidentifier IN REGISTRANTTEAMID
@FULLNAME nvarchar(100) IN FULLNAME

Definition

Copy


CREATE procedure dbo.USP_DATALIST_GETCONTACTDETAILS
(
    @EVENTID uniqueidentIFier = NULL,
    @CLIENTUSERID integer = NULL,
    @ADDRESSBOOKID uniqueidentIFier,
    --to be deleted

    @CONSTITUENTID uniqueidentIFier = NULL,
    @ROLECODE tinyint = 0,
    @REGISTRANTID uniqueidentIFier = NULL,
    @REGISTRANTTEAMID uniqueidentIFier = NULL,
    @FULLNAME nvarchar(100) = ''
    --to be deleted end


)
as
set nocount on;

---This datalist returns an address book contact by passing @ADDRESSBOOKID and CLIENTUSERID 


    DECLARE   
         @IsCompanyLeader tinyint   
    ,@IsCompanyIndividual tinyint

  select @CONSTITUENTID = CONSTITUENTID from ADDRESSBOOKFAF A WHERE  A.ID=@ADDRESSBOOKID
  EXEC dbo.USP_FAF_REGISTRANT_ROLE
        @CONSTITUENTID = @CONSTITUENTID
        ,@EVENTID =@EVENTID
        ,@IsCompanyLeader   = @IsCompanyLeader OUTPUT
    ,@IsCompanyIndividual = @IsCompanyIndividual OUTPUT

SELECT 
    A.ID,A.FIRSTNAME,A.LASTNAME,A.EMAILADDRESS,
    CASE WHEN D.DATEADDED IS NOT NULL THEN D.DATEADDED ELSE '' END As DONDATE,
    ISNULL((SELECT COALESCE(
    CASE WHEN PART.CONSTITUENTID IS NOT NULL THEN PART.DATEADDED ELSE NULL END,  
        CASE WHEN TM.CONSTITUENTID IS NOT NULL THEN TM.DATEADDED ELSE NULL END,
        CASE WHEN HH.CONSTITUENTID IS NOT NULL THEN HH.DATEADDED ELSE NULL END 
    )),'') AS REGDATE, 
 (
        case 
            when PART.CONSTITUENTID IS NOT NULL then (select count(*) from dbo.UFN_FAFPARTICIPANT_DONORS(@EVENTID ,PART.CONSTITUENTID))
            when TM.CONSTITUENTID IS NOT NULL    then (select count(*) from dbo.UFN_FAFPARTICIPANT_DONORS(@EVENTID ,TM.CONSTITUENTID))
            when HH.CONSTITUENTID IS NOT NULL    then (select count(*) from dbo.UFN_FAFPARTICIPANT_DONORS(@EVENTID ,HH.CONSTITUENTID))
            else -1
        end
    )AS DONORS,
    D.CURRENTDONATIONAMOUNT AS DONATIONAMOUNT,       
    CASE WHEN R.ID IS NOT NULL OR (HH.CONSTITUENTID IS NOT NULL  AND HH.ISHOUSEHOLDLEADER = 'y') THEN 
        CASE WHEN (HH.CONSTITUENTID IS NOT NULL  AND HH.ISHOUSEHOLDLEADER = 'y') THEN 
            (SELECT TE.TARGETFUNDRAISINGGOAL FROM dbo.TEAMEXTENSION (NOLOCK) TE 
            INNER JOIN dbo.UFN_FAF_HOUSEHOLDLEADERLIST(HH.CONSTITUENTID,@EVENTID) HHL ON HHL.TEAMID = TE.TEAMFUNDRAISINGTEAMID WHERE HHL.ID = HH.CONSTITUENTID)
        ELSE 
            (SELECT RE.TARGETFUNDRAISINGGOAL FROM REGISTRANTEXTENSION RE WHERE RE.REGISTRANTID=R.ID)
        END 
    ELSE -1 END  AS GOAL,
    CASE WHEN HH.CONSTITUENTID IS NOT NULL THEN  
        CASE WHEN HH.ISHOUSEHOLDLEADER = 'y' THEN 
            (SELECT ([dbo].[UFN_REVENUE_CONSTITUENTRECOGNIZEDAMOUNT](@EVENTID,(SELECT TE.TEAMCONSTITUENTID from dbo.TEAMEXTENSION (NOLOCK) TE 
            INNER JOIN dbo.UFN_FAF_HOUSEHOLDLEADERLIST(HH.CONSTITUENTID,@EVENTID) HHL ON HHL.TEAMID = TE.TEAMFUNDRAISINGTEAMID WHERE HHL.ID = HH.CONSTITUENTID))))
        ELSE 0 END
    ELSE
        --CASE WHEN R.ID IS NOT NULL THEN [dbo].[UFN_REVENUE_CONSTITUENTRECOGNIZEDAMOUNT](@EVENTID, R.CONSTITUENTID) ELSE 0 END

      CASE WHEN R.ID IS NOT NULL THEN [dbo].[UFN_REVENUE_GETPARTICIPANTRAISEDTOTAL](R.ID, @EVENTID) ELSE 0 END
    END AS REGISTRANTRAISED,
    (SELECT COUNT(FCL.CLIENTUSERSID) 
    FROM dbo.FAFCOMMUNICATIONSLOG FCL 
    WHERE FCL.ADDRESSBOOKID=A.ID 
      AND FCL.MESSAGETYPECODE=1 
      AND FCL.EVENTID=@EVENTID 
      AND FCL.CLIENTUSERSID in (select CLIENTUSERID from dbo.UFN_CLIENTUSERS_GETIDLISTBYCURRENTCLIENTUSERID(@CLIENTUSERID))
  ) AS NUMOFSENTMESSAGES,
    CASE WHEN TM.CONSTITUENTID IS NOT NULL THEN 1 ELSE 0 END AS [ISTEAMMEMBER],          
    CASE WHEN D.CONSTITUENTID IS NOT NULL THEN 1 ELSE 0 END AS [ISDONOR],  
    CASE WHEN A.CONSTITUENTID IS NULL THEN 1 ELSE 0 END AS [ISPROSPECT],
    CASE WHEN D.STATUS IS NULL THEN 'N/A' ELSE D.STATUS END AS DONORSTATUS,  
    CASE WHEN TM.STATUS IS NULL THEN 'N/A' ELSE TM.STATUS END AS TEAMSTATUS,
    A.MIDDLENAME,A.PREFERREDCOMMUNICATION,A.SALUTATION,A.ADDRESSBLOCK,A.CITY,A.STATEID,A.POSTCODE,A.COUNTRYID,A.CELLPHONE,A.TEXTMESSAGESEND,
    A.HOMEPHONE,A.BUSINESSPHONE,A.BUSINESSADDRESS,A.SECONDARYEMAILADDRESS,A.SECONDARYCITY,A.SECONDARYSTATEID,A.SECONDARYPOSTCODE,A.SECONDARYCOUNTRYID,    
    CASE WHEN TM.ISTEAMCAPTAIN IS NOT NULL THEN 1 ELSE 0 END AS [ISTEAMCAPTAIN],
    CASE WHEN R.ID IS NOT NULL THEN (SELECT SIE.[SITEIMAGESID] from STORY S (NOLOCK) LEFT OUTER JOIN dbo.SITEIMAGESEXTENSION SIE (NOLOCK) ON S.FAFIMAGESID = SIE.ID WHERE S.REGISTRANTID = R.ID) ELSE NULL END AS FAFIMAGEID,
    R.ID AS REGISTRANTID,
  CASE WHEN HH.CONSTITUENTID IS NOT NULL THEN 1 ELSE 0 END AS [ISHOUSEHOLD],
  HH.CURRENTHOUSEHOLDID,
  CASE WHEN HH.CONSTITUENTID IS NOT NULL THEN 1 ELSE 0 END AS [ISHOUSEHOLDMEMBER],
    CASE WHEN HH.ISHOUSEHOLDLEADER IS NOT NULL THEN 1 ELSE 0 END AS [ISHOUSEHOLDHEAD],
  @IsCompanyLeader AS [ISCOMPANYLEADER],
  @IsCompanyIndividual AS [ISCOMPANYINDIVIDUAL]

FROM [dbo].[ADDRESSBOOKFAF] A (NOLOCK)  
  LEFT JOIN [dbo].[UFN_FAFADDRESSBOOK_PARTICIPANTS_LIST](@EVENTID,@CLIENTUSERID) PART  
    ON A.CONSTITUENTID = PART.CONSTITUENTID      
    LEFT JOIN [dbo].[UFN_FAFADDRESSBOOK_HOUSEHOLDMEMBERS_LIST](@EVENTID,@CLIENTUSERID) HH
        ON    A.CONSTITUENTID = HH.CONSTITUENTID    
    LEFT JOIN [dbo].[UFN_FAFADDRESSBOOK_TEAMMEMBERS_LIST](@EVENTID,@CLIENTUSERID) TM    
        ON  A.CONSTITUENTID = TM.CONSTITUENTID          
    LEFT JOIN [dbo].UFN_FAFADDRESSBOOK_DONORS_LIST(@EVENTID,@CLIENTUSERID) D    
        ON  A.CONSTITUENTID = D.CONSTITUENTID  
    LEFT JOIN dbo.UFN_FAFADDRESSBOOK_PROSPECTS_LIST(@EVENTID,@CLIENTUSERID) P 
        ON P.CONSTITUENTID=D.CONSTITUENTID
    LEFT JOIN [dbo].REGISTRANT R (NOLOCK)
        ON R.EVENTID= @EVENTID AND R.CONSTITUENTID = A.CONSTITUENTID
WHERE A.CLIENTUSERSID in (select CLIENTUSERID from dbo.UFN_CLIENTUSERS_GETIDLISTBYCURRENTCLIENTUSERID(@CLIENTUSERID))
    AND A.ID=@ADDRESSBOOKID