UFN_CLASSMEETINGTEMPLATE_GETPERIODTIME

Returns the start and end times corresponding to the starting period and length specified.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@TIMETABLEDAYPERIODID uniqueidentifier IN
@LENGTHINPERIODS int IN

Definition

Copy


create function dbo.UFN_CLASSMEETINGTEMPLATE_GETPERIODTIME
(
    @TIMETABLEDAYPERIODID uniqueidentifier,
    @LENGTHINPERIODS int
)
returns @RESULTS TABLE
(
    STARTTIME dbo.UDT_HOURMINUTE,
    ENDTIME dbo.UDT_HOURMINUTE
)
as begin
    declare @TIMETABLEDAYID uniqueidentifier
    declare @STARTTIME dbo.UDT_HOURMINUTE

    select
        @TIMETABLEDAYID = TIMETABLEDAYPERIOD.TIMETABLEDAYID,
        @STARTTIME = TIMETABLEDAYPERIOD.STARTTIME
    from dbo.TIMETABLEDAYPERIOD
    where TIMETABLEDAYPERIOD.ID = @TIMETABLEDAYPERIODID

    if @LENGTHINPERIODS < 0 or @LENGTHINPERIODS is null
        return

    insert into @RESULTS
    select
        @STARTTIME,
        ENDTIME
    from
        (select
            ENDTIME,
            ROW_NUMBER() over (order by STARTTIME) as ROW
        from dbo.TIMETABLEDAYPERIOD
        where TIMETABLEDAYID = @TIMETABLEDAYID
            and STARTTIME >= @STARTTIME) T
    where ROW = @LENGTHINPERIODS

    return
end