USP_DATAFORMTEMPLATE_ADD_COURSE
The save procedure used by the add dataform template "Course 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. |
@COURSEID | nvarchar(12) | IN | Course ID |
@NAME | nvarchar(60) | IN | Course name |
@DESCRIPTION | nvarchar(1024) | IN | Description |
@SCHOOLID | uniqueidentifier | IN | School |
@COURSEGRADELEVELS | xml | IN | Grade Levels |
@SELECTEDTYPESCODE | tinyint | IN | Course types |
@COURSETYPES | xml | IN | |
@SELECTEDDEPARTMENTSCODE | tinyint | IN | Departments |
@DEPARTMENTS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_COURSE
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@COURSEID nvarchar(12),
@NAME nvarchar(60),
@DESCRIPTION nvarchar(1024) = '',
@SCHOOLID uniqueidentifier = null,
@COURSEGRADELEVELS xml = null,
@SELECTEDTYPESCODE tinyint = null,
@COURSETYPES xml = null,
@SELECTEDDEPARTMENTSCODE tinyint = 2,
@DEPARTMENTS 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()
--default based on school
declare @GENDERCODE tinyint
select
@GENDERCODE = GENDERCODE
from
dbo.SCHOOL
where
ID = @SCHOOLID
begin try
-- handle inserting the data
insert into dbo.COURSE
(ID, NAME, DESCRIPTION, COURSEID, SCHOOLID, GENDERCODE, SELECTEDTYPESCODE, SELECTEDDEPARTMENTSCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @NAME, @DESCRIPTION, @COURSEID, @SCHOOLID, @GENDERCODE, @SELECTEDTYPESCODE, @SELECTEDDEPARTMENTSCODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
-- link grade levels
exec dbo.USP_COURSE_GETGRADELEVELS_ADDFROMXML @ID, @COURSEGRADELEVELS, @CHANGEAGENTID;
if not exists(select ID from dbo.COURSEGRADELEVEL where COURSEID = @ID)
raiserror('CK_COURSE_ATLEASTONEGRADELEVEL', 13, 1)
--selected course types
if @SELECTEDTYPESCODE = 1
begin
exec dbo.USP_COURSE_GETTYPES_ADDFROMXML @ID, @COURSETYPES, @CHANGEAGENTID;
if not exists(select ID from dbo.COURSETYPE where COURSEID = @ID)
raiserror('CK_COURSETYPE_ATLEASTONETYPE', 13, 1)
end
--selected course types
if @SELECTEDDEPARTMENTSCODE = 1
begin
exec dbo.USP_COURSE_GETDEPARTMENTS_ADDFROMXML @ID, @DEPARTMENTS, @CHANGEAGENTID;
if not exists(select ID from dbo.COURSEACADEMICCATALOGDEPARTMENT where COURSEID = @ID)
raiserror('CK_COURSEDEPARTMENT_ATLEASTONEDEPARTMENT', 13, 1)
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0