UFN_CLASSMEETINGTEMPLATE_GETMEETINGS

Returns the meetings and times associated with the given class.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CLASSID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_CLASSMEETINGTEMPLATE_GETMEETINGS
(
    @CLASSID uniqueidentifier
)
returns @RESULTS TABLE
(
    ID uniqueidentifier,
    CYCLEDAY nvarchar(60),
    PERIODS nvarchar(1000),
    TIMES nvarchar(1000)
)
as begin
    insert into @RESULTS
    select
        T.ID,
        CYCLEDAY.DESCRIPTION as CYCLEDAY,
        dbo.UFN_CLASSMEETINGTEMPLATE_GETPERIODSTRING(T.ID, T.LENGTHINPERIODS) as PERIODS,
        dbo.UFN_HOURMINUTE_DISPLAYTIME(T.STARTTIME) + ' - '
            + dbo.UFN_HOURMINUTE_DISPLAYTIME(T.ENDTIME) as TIMES
    from (
        select
            CLASSMEETINGTEMPLATE.ID,
            CLASSMEETINGTEMPLATE.CYCLEDAYID,
            CLASSMEETINGTEMPLATE.STARTTIME,
            CLASSMEETINGTEMPLATE.ENDTIME,
            CLASSMEETINGTEMPLATE.LENGTHINPERIODS,
            ROW_NUMBER() OVER (PARTITION BY
                CLASSMEETINGTEMPLATE.CYCLEDAYID,
                CLASSMEETINGTEMPLATE.STARTTIME,
                CLASSMEETINGTEMPLATE.ENDTIME,
                CLASSMEETINGTEMPLATE.LENGTHINPERIODS
                ORDER BY CLASSMEETINGTEMPLATE.DATEADDED DESC
            ) ROW
        from dbo.CLASSMEETINGTEMPLATE
            inner join dbo.CLASSMEETINGGROUP on CLASSMEETINGTEMPLATE.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
        where CLASSMEETINGGROUP.CLASSID = @CLASSID
    ) T
        inner join dbo.CYCLEDAY on T.CYCLEDAYID = CYCLEDAY.ID
    where T.ROW = 1
    order by CYCLEDAY.SEQUENCE, T.STARTTIME

    return
end