UFN_CONSTITUENTSOLICITCODE_NOOVERLAPPINGDATES

Validate if the constituent solicit code is unique

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@SOLICITCODEID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN

Definition

Copy


            CREATE function dbo.UFN_CONSTITUENTSOLICITCODE_NOOVERLAPPINGDATES
            (
            @CONSTITUENTID    uniqueidentifier,
            @SOLICITCODEID uniqueidentifier,
            @STARTDATE datetime,
            @ENDDATE datetime
            )
            returns bit
        with execute as caller
        as begin

            declare @CONSTITSOLICITCODES table
            (
                ID uniqueidentifier,
                STARTDATE datetime,
                ENDDATE datetime
            )

            insert into @CONSTITSOLICITCODES
                (ID, STARTDATE, ENDDATE)
            select
                ID,
                STARTDATE,
                ENDDATE
            from dbo.CONSTITUENTSOLICITCODE
            where
                CONSTITUENTID = @CONSTITUENTID and
                SOLICITCODEID = @SOLICITCODEID

            if @@ROWCOUNT <=1
            begin
                return 1
            end
            else
            begin
                declare @SOLICITCODECOUNT int
                select @SOLICITCODECOUNT = count(ID)
                from @CONSTITSOLICITCODES
                where dbo.UFN_DATES_AREDATESOVERLAPPING(@STARTDATE, @ENDDATE, STARTDATE, ENDDATE) = 1

                if @SOLICITCODECOUNT <=1
                begin
                    return 1
                end
            end

            return 0;
        end