USP_DATAFORMTEMPLATE_EDIT_STUDENTPROGRESSION

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

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier 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.
@SCHOOLID uniqueidentifier IN School
@ACADEMICYEARID uniqueidentifier IN Academic year
@SCHOOLGRADELEVELID uniqueidentifier IN Grade level
@HOMEROOMTEACHERID uniqueidentifier IN Homeroom teacher
@STUDENTADVISORID uniqueidentifier IN
@ADVISORID uniqueidentifier IN Advisor

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_STUDENTPROGRESSION (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @SCHOOLID uniqueidentifier,
                    @ACADEMICYEARID uniqueidentifier,
                    @SCHOOLGRADELEVELID uniqueidentifier,
                    @HOMEROOMTEACHERID uniqueidentifier,
                    @STUDENTADVISORID uniqueidentifier,
                    @ADVISORID uniqueidentifier
                )
                as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    declare @STARTDATE date, @ENDDATE date
                    select @STARTDATE = dbo.ACADEMICYEAR.[STARTDATE], @ENDDATE = dbo.ACADEMICYEAR.[ENDDATE]
                    from dbo.ACADEMICYEAR
                    where dbo.ACADEMICYEAR.[ID] = @ACADEMICYEARID

                    declare @OLDADVISORID uniqueidentifier
                    select @OLDADVISORID =  [FACULTYID] from dbo.STUDENTADVISOR where dbo.STUDENTADVISOR.[ID] = @STUDENTADVISORID

                    begin try
                        -- handle updating the data

                        update dbo.STUDENTPROGRESSION set
                            SCHOOLGRADELEVELID = @SCHOOLGRADELEVELID,
                            STARTDATE = @STARTDATE,
                            ENDDATE = @ENDDATE,
                            HOMEROOMTEACHERID = @HOMEROOMTEACHERID,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID

                        -- handle multiple student advisors

                        if @ADVISORID is null
                            begin
                                delete from dbo.STUDENTADVISOR where dbo.STUDENTADVISOR.[ID] = @STUDENTADVISORID
                            end
                        else
                            begin
                                if @OldAdvisorID is null
                                    begin
                                        INSERT INTO [dbo].STUDENTADVISOR
                                        (
                                        [STUDENTPROGRESSIONID],
                                        [FACULTYID],
                                        [ADDEDBYID],
                                        [CHANGEDBYID],
                                        [DATEADDED],
                                        [DATECHANGED]
                                        )
                                        values
                                        (
                                        @ID,
                                        @ADVISORID,
                                        @CHANGEAGENTID,
                                        @CHANGEAGENTID,
                                        @CURRENTDATE,
                                        @CURRENTDATE
                                        )
                                    end
                                else if @OLDADVISORID <> @ADVISORID
                                begin
                                    update [dbo].STUDENTADVISOR set
                                        [FACULTYID] = @ADVISORID
                                    where ID = @STUDENTADVISORID
                                end
                            end
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                return 0;