USP_DATAFORMTEMPLATE_EDIT_FACULTYACADEMICCATALOGDEPARTMENT

The save procedure used by the edit dataform template "Faculty Academic Catalog Department 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.
@ISDEPARTMENTHEAD bit IN Faculty is department head
@ISTEACHERINDEPARTMENT bit IN Faculty teaches in department
@ISPRIMARY bit IN Primary department for faculty member

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_FACULTYACADEMICCATALOGDEPARTMENT (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @ISDEPARTMENTHEAD bit,
    @ISTEACHERINDEPARTMENT bit,
    @ISPRIMARY bit
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    declare @FACULTYID uniqueidentifier
    select @FACULTYID = FACULTYID from dbo.FACULTYACADEMICCATALOGDEPARTMENT where ID = @ID

    begin try

        -- if setting this one as primary, turn their other primary off, if it exists

        if @ISPRIMARY = 1
            update 
                dbo.FACULTYACADEMICCATALOGDEPARTMENT 
            set 
                ISPRIMARY = 0,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE            
            where 
                FACULTYID = @FACULTYID
                and ISPRIMARY = 1
                and ID <> @ID

        -- handle updating the data

        update dbo.FACULTYACADEMICCATALOGDEPARTMENT set
            ISDEPARTMENTHEAD = @ISDEPARTMENTHEAD,
            ISTEACHERINDEPARTMENT = @ISTEACHERINDEPARTMENT,
            ISPRIMARY = @ISPRIMARY,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID
    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;