UFN_ORGANIZATION_GETCURRENTCONTACTS

Returns the current contacts of an organization including itself.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@ORGID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@DATAFORMINSTANCEID uniqueidentifier IN
@INCLUDEORG bit IN

Definition

Copy


CREATE function dbo.UFN_ORGANIZATION_GETCURRENTCONTACTS
(
    @ORGID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier = null,
    @DATAFORMINSTANCEID uniqueidentifier = null,
    @INCLUDEORG bit = 1
)
returns @contacts table
(
    ID uniqueidentifier,
    NAME nvarchar(154)
)
as
begin
    if @INCLUDEORG = 1
        insert into @contacts
        (
            ID,
            NAME
        )
        select
            ID,
            NAME
        from dbo.CONSTITUENT where ID = @ORGID

    declare @CURRENTDATE datetime;
    set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

    insert into @contacts
    (
        ID,
        NAME
    )
    select
        RELATIONSHIP.RECIPROCALCONSTITUENTID as VALUE,
        NF.NAME as LABEL
    from
        dbo.RELATIONSHIP
    cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(RELATIONSHIP.RECIPROCALCONSTITUENTID) NF

    where RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @ORGID
        and RELATIONSHIP.ISCONTACT = 1

        and (RELATIONSHIP.STARTDATE is null or RELATIONSHIP.STARTDATE <= @CURRENTDATE)
        and    (RELATIONSHIP.ENDDATE is null or RELATIONSHIP.ENDDATE >= @CURRENTDATE)

        and (
            (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
            or (dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, @DATAFORMINSTANCEID, RELATIONSHIP.RECIPROCALCONSTITUENTID) = 1)
        )

    return
end