USP_DATAFORMTEMPLATE_ADD_CLASS_MEETING_TEMPLATE_SINGLE

The save procedure used by the add dataform template "Class Meeting Template Add Data Form Single".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CLASSID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@STARTTIME UDT_HOURMINUTE IN Start time
@ENDTIME UDT_HOURMINUTE IN End time
@CYCLEDAYID uniqueidentifier IN Cycle day
@TIMETABLEDAYPERIODID uniqueidentifier IN Starting in period
@LENGTHINPERIODS int IN Length in periods

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CLASS_MEETING_TEMPLATE_SINGLE
(
    @ID uniqueidentifier = null output,
    @CLASSID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @STARTTIME dbo.UDT_HOURMINUTE = null,
    @ENDTIME dbo.UDT_HOURMINUTE = null,
    @CYCLEDAYID uniqueidentifier = null,
    @TIMETABLEDAYPERIODID uniqueidentifier = null,
    @LENGTHINPERIODS int = null
)
as

    set nocount on;

    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        if not @TIMETABLEDAYPERIODID is null
        begin
            exec dbo.USP_CLASSMEETINGTEMPLATE_MOVE_GETNEWPERIODVALUES @CLASSID, @STARTTIME, @ENDTIME, @CYCLEDAYID, @TIMETABLEDAYPERIODID output, @LENGTHINPERIODS output, @STARTTIME output, @ENDTIME output
        end

        if @STARTTIME = '' or @ENDTIME = ''
        begin
            raiserror('BBERR_CLASSMEETINGTEMPLATE_INVALIDPERIODLENGTH', 13, 1);
            return 1
        end

        insert into dbo.CLASSMEETINGTEMPLATE
        (
            ID,
            CLASSMEETINGGROUPID,
            STARTTIME,
            ENDTIME,
            CYCLEDAYID,
            TIMETABLEDAYPERIODID,
            LENGTHINPERIODS,
            ADDEDBYID,
            CHANGEDBYID,
            DATEADDED,
            DATECHANGED        
        )
        select
            newid(),
            CLASSMEETINGGROUP.ID,
            @STARTTIME,
            @ENDTIME,
            @CYCLEDAYID,
            @TIMETABLEDAYPERIODID,
            @LENGTHINPERIODS,
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            @CURRENTDATE,
            @CURRENTDATE
        from dbo.CLASSMEETINGGROUP
        where CLASSMEETINGGROUP.CLASSID = @CLASSID

        update dbo.CLASSMEETINGGROUP
            set PATTERNBLOCKID = null
        from dbo.CLASSMEETINGGROUP
        where CLASSMEETINGGROUP.CLASSID = @CLASSID
            and PATTERNBLOCKID is not null

        exec dbo.USP_CLASSMEETING_CREATEFROMTEMPLATES @CLASSID, @CHANGEAGENTID
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch
return 0