UFN_TIMETABLEDAYPERIOD_OVERLAP

Check to see if dates overlap an existing period for a given day

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@TIMETABLEDAYID uniqueidentifier IN
@STARTTIME UDT_HOURMINUTE IN
@ENDTIME UDT_HOURMINUTE IN

Definition

Copy


            CREATE function dbo.UFN_TIMETABLEDAYPERIOD_OVERLAP
            (
              @ID uniqueidentifier,
              @TIMETABLEDAYID uniqueidentifier,
              @STARTTIME dbo.UDT_HOURMINUTE,
              @ENDTIME dbo.UDT_HOURMINUTE
            )
            returns BIT
            as begin
                if exists(select TIMETABLEDAYPERIOD.ID from dbo.TIMETABLEDAYPERIOD
                inner join TIMETABLEDAY on TIMETABLEDAY.ID = TIMETABLEDAYPERIOD.TIMETABLEDAYID
                    where  TIMETABLEDAY.ID = @TIMETABLEDAYID and TIMETABLEDAYPERIOD.ID <> @ID and 
                          ((TIMETABLEDAYPERIOD.STARTTIME > @STARTTIME and TIMETABLEDAYPERIOD.STARTTIME < @ENDTIME
                          or (TIMETABLEDAYPERIOD.ENDTIME > @STARTTIME and TIMETABLEDAYPERIOD.ENDTIME < @ENDTIME)
                          or TIMETABLEDAYPERIOD.STARTTIME = @STARTTIME or TIMETABLEDAYPERIOD.ENDTIME = @ENDTIME))
                    return 1;             
                return 0;
            end