USP_BBNC_CONSTITPHONEOREMAIL_FOR_GIVEN_CONSTITIDS

Parameters

Parameter Parameter Type Mode Description
@IDs nvarchar(max) IN

Definition

Copy


CREATE procedure [dbo].[USP_BBNC_CONSTITPHONEOREMAIL_FOR_GIVEN_CONSTITIDS] (
    @IDs nvarchar(max)
) as begin
    set nocount on;

    declare @IDS_TABLE table (
        SEQUENCEID int,
        CONSTITUENTID uniqueidentifier
    );

    insert into
        @IDS_TABLE (SEQUENCEID)
    select
        ID
    from
        dbo.fnMakeIDsTableFromString(@IDs, ',');

    update
        @IDS_TABLE
    set
        CONSTITUENTID = C.ID
    from
        @IDS_TABLE IDT
    inner join
        dbo.CONSTITUENT C on C.SEQUENCEID = IDT.SEQUENCEID;

    select
        coalesce(EMAILADDRESSTYPECODE.DESCRIPTION, '') as [PHONETYPE],
        EMAILADDRESS.EMAILADDRESS as [NUMBER],
        cast(1 as bit) as [ISEMAIL],
        EMAILADDRESS.ISPRIMARY,
        coalesce(dbo.[UFN_BBNC_GETCODETABLEMAPID] ('E0473233-93ED-4509-9C42-65E037405497', EMAILADDRESS.EMAILADDRESSTYPECODEID), 0) as SYSTEMID,
        CONSTITUENT.SEQUENCEID
    from
        dbo.CONSTITUENT
        inner join dbo.EMAILADDRESS on CONSTITUENT.ID = EMAILADDRESS.CONSTITUENTID
        inner join @IDS_TABLE IDs on IDS.CONSTITUENTID = EMAILADDRESS.CONSTITUENTID
        left join dbo.EMAILADDRESSTYPECODE on EMAILADDRESS.EMAILADDRESSTYPECODEID = EMAILADDRESSTYPECODE.ID

    union all

    select
        PHONETYPECODE.DESCRIPTION as [PHONETYPE],
        PHONE.NUMBER,
        cast(0 as bit) as [ISEMAIL],
        PHONE.ISPRIMARY,
        BBNCCODETABLEIDMAP.ID as SYSTEMID,
        CONSTITUENT.SEQUENCEID
    from
        dbo.CONSTITUENT
        inner join dbo.PHONE on CONSTITUENT.ID = PHONE.CONSTITUENTID
        inner join dbo.PHONETYPECODE on PHONE.PHONETYPECODEID = PHONETYPECODE.ID
        inner join dbo.BBNCCODETABLEIDMAP on
            PHONE.PHONETYPECODEID = BBNCCODETABLEIDMAP.TABLEENTRYID
            and 'D57063E8-9DEA-4651-90A7-F86FE010AFC3' = BBNCCODETABLEIDMAP.CODETABLECATALOGID
        inner join 
            @IDS_TABLE IDs on IDs.CONSTITUENTID = PHONE.CONSTITUENTID

    union all

    select 
        'WebAddress' as [PHONETYPE],
        CONSTITUENT.WEBADDRESS,
        cast(0 as bit) as [ISEMAIL],
        cast(1 as bit) as [ISPRIMARY],
        0 as SYSTEMID,
        CONSTITUENT.SEQUENCEID
    from 
        dbo.CONSTITUENT
    inner join 
        @IDS_TABLE IDs on IDs.CONSTITUENTID = CONSTITUENT.ID
end