USP_DATAFORMTEMPLATE_ADD_STUDENT_CLASS_MEETING_GROUP

The save procedure used by the add dataform template "Student Class Meeting Group Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@STUDENTID uniqueidentifier IN Student
@CLASSID uniqueidentifier IN Input parameter indicating the context ID for the record being added.

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STUDENT_CLASS_MEETING_GROUP
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @STUDENTID uniqueidentifier,
    @CLASSID uniqueidentifier
)
as

set nocount on;

if @ID is null
    set @ID = newid()

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

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

begin try
    declare @COURSEID uniqueidentifier
    select @COURSEID=COURSEID from dbo.CLASS where ID=@CLASSID

    declare @CLASSMEETINGGROUPID uniqueidentifier
    select @CLASSMEETINGGROUPID=ID from dbo.CLASSMEETINGGROUP where CLASSID=@CLASSID

    declare @STUDENTCOURSEID uniqueidentifier
    select @STUDENTCOURSEID=ID from dbo.STUDENTCOURSE where COURSEID=@COURSEID and STUDENTID=@STUDENTID

    if @STUDENTCOURSEID is null
        begin
            set @STUDENTCOURSEID = newid()

            -- add the student to the student course

            insert into dbo.STUDENTCOURSE
                (ID, STUDENTID, COURSEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
            values
                (@STUDENTCOURSEID, @STUDENTID, @COURSEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
        end

    -- handle inserting the data

    insert into dbo.STUDENTCLASSMEETINGGROUP
        (ID, STUDENTCOURSEID, CLASSMEETINGGROUPID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
        (@ID, @STUDENTCOURSEID, @CLASSMEETINGGROUPID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0