USP_DATAFORMTEMPLATE_ADD_COURSEGRADING

The save procedure used by the add dataform template "Course Grading Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CONTEXTID 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.
@SESSIONSTARTDATE date IN Session
@SESSIONENDDATE date IN Session
@COURSEGRADINGMARKINGCOLUMNS xml IN Marking columns

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_COURSEGRADING
(
    @ID uniqueidentifier = null output,
    @CONTEXTID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @SESSIONSTARTDATE date,
    @SESSIONENDDATE date,
    @COURSEGRADINGMARKINGCOLUMNS xml = null
)
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
    -- handle inserting the data

    insert into dbo.COURSEGRADING
        (ID, COURSEID, STARTDATE, ENDDATE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
        (@ID, @CONTEXTID, @SESSIONSTARTDATE, @SESSIONENDDATE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

    exec dbo.USP_COURSEGRADING_GETMARKINGCOLUMNS_ADDFROMXML @ID, @CONTEXTID, @SESSIONSTARTDATE, @SESSIONENDDATE, @COURSEGRADINGMARKINGCOLUMNS, @CHANGEAGENTID, @CURRENTDATE;

    if not exists(select ID from dbo.COURSEGRADINGMARKINGCOLUMN where COURSEGRADINGID = @ID)
        raiserror('BBERR_COURSEGRADING_ATLEASTONEMARKINGCOLUMN', 13, 1)    
end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0