UFN_COMBINATION_CANBEONLINE

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_COMBINATION_CANBEONLINE(@ID uniqueidentifier)
returns bit
as begin
    if exists (select 1 from dbo.COMBINATION where ID = @ID and EVENTSSAMEDAY = 0) begin
        return 0;
    end

    if exists (select 1 from dbo.COMBINATIONMEMBER where COMBINATIONID = @ID) begin
        return 0;
    end

    if exists (select 1 from dbo.COMBINATIONCONSTITUENCY where COMBINATIONID = @ID) begin
        return 0;
    end

    -- Determines if a program group for this combination has multiple programs

    if exists (
        select 
            1
        from dbo.PROGRAMGROUP
        left outer join dbo.PROGRAMGROUPPROGRAM 
            on PROGRAMGROUPPROGRAM.PROGRAMGROUPID = PROGRAMGROUP.ID
        outer apply (
            select ID
            from dbo.UFN_IDSETREADER_GETRESULTS(PROGRAMGROUP.IDSETREGISTERID)
        ) IDSETRESULTS
        where PROGRAMGROUP.COMBINATIONID = @ID
        group by PROGRAMGROUP.ID
        having count(*) > 1
    ) begin
        return 0;
    end

    return 1;
end