USP_DATAFORMTEMPLATE_EDIT_TRANSFERSTUDENT

The save procedure used by the edit dataform template "Transfer Student Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(73) IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@TRANSFERDATE date IN Transfer date
@TRANSFERTERMID uniqueidentifier IN Transfer starting in
@TRANSFERTO_CLASSID uniqueidentifier IN Transfer to
@EXCEEDTARGETCLASSSIZE bit IN Exceed target class size

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_TRANSFERSTUDENT (
    @ID nvarchar(73),
    @CHANGEAGENTID uniqueidentifier = null,
    @TRANSFERDATE date,
    @TRANSFERTERMID uniqueidentifier,
    @TRANSFERTO_CLASSID uniqueidentifier,
  @EXCEEDTARGETCLASSSIZE bit
)
as

    set nocount on;

    declare @CLASSID uniqueidentifier
    declare @STUDENTID uniqueidentifier

    begin try
        select
            @CLASSID = cast(substring(@ID,1,36) as uniqueidentifier),
            @STUDENTID = cast(substring(@ID,38,36) as uniqueidentifier)

        declare @STUDENTCOURSEID uniqueidentifier
        select
            @STUDENTCOURSEID = STUDENTCOURSE.ID
        from dbo.STUDENTCOURSE
            inner join dbo.STUDENTCLASSMEETINGGROUP on STUDENTCOURSE.ID = STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID
            inner join dbo.CLASSMEETINGGROUP on STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
        where STUDENTCOURSE.STUDENTID = @STUDENTID
            and CLASSMEETINGGROUP.CLASSID = @CLASSID

        declare @TERM_STARTDATE date
        select @TERM_STARTDATE = TERM.STARTDATE
        from dbo.TERM
        where TERM.ID = @TRANSFERTERMID    

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

        declare @CURRENTDATE datetime = getdate()

        update dbo.STUDENTCLASSMEETINGGROUP set
            STUDENTCLASSMEETINGGROUP.STATUSCODE = 3,
            STUDENTCLASSMEETINGGROUP.STATUSDATE = @TRANSFERDATE,
            STUDENTCLASSMEETINGGROUP.CHANGEDBYID = @CHANGEAGENTID,
            STUDENTCLASSMEETINGGROUP.DATECHANGED = @CURRENTDATE
        from dbo.STUDENTCOURSE
            inner join dbo.STUDENTCLASSMEETINGGROUP on STUDENTCOURSE.ID = STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID
            inner join dbo.CLASSMEETINGGROUP on STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
        where STUDENTCOURSE.STUDENTID = @STUDENTID
            and CLASSMEETINGGROUP.CLASSID = @CLASSID
            and CLASSMEETINGGROUP.STARTDATE >= @TERM_STARTDATE
            and STUDENTCLASSMEETINGGROUP.STATUSCODE = 0

        exec dbo.USP_STUDENTCLASS_ADD @STUDENTID, @TRANSFERTO_CLASSID, @EXCEEDTARGETCLASSSIZE, @CHANGEAGENTID, @STUDENTCOURSEID, @TRANSFERTERMID

        exec dbo.USP_STUDENTMARKINGCOLUMN_CLEARBLANKGRADES @STUDENTCOURSEID, @CHANGEAGENTID
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;