USP_DATAFORMTEMPLATE_EDIT_CLASS
The save procedure used by the edit dataform template "Class Edit 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. |
@SECTION | nvarchar(20) | IN | Section |
@FACULTYID | uniqueidentifier | IN | Faculty |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CLASS
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@SECTION nvarchar(20),
@FACULTYID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
-- handle updating the data
update dbo.CLASS set
SECTION = @SECTION,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
delete from dbo.FACULTYCLASSMEETINGGROUP
from dbo.FACULTYCLASSMEETINGGROUP
inner join dbo.CLASSMEETINGGROUP on FACULTYCLASSMEETINGGROUP.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
where CLASSMEETINGGROUP.CLASSID = @ID
and (@FACULTYID is null or FACULTYCLASSMEETINGGROUP.FACULTYCOURSEID <> @FACULTYID)
if @FACULTYID is not null and @FACULTYID <> '00000000-0000-0000-0000-000000000000'
begin
declare @COURSEID uniqueidentifier
select @COURSEID = COURSEID
from dbo.CLASS where ID = @ID
declare @FACULTYCOURSEID uniqueidentifier
select @FACULTYCOURSEID = ID
from dbo.FACULTYCOURSE where FACULTYID = @FACULTYID and COURSEID = @COURSEID
if @FACULTYCOURSEID is null
begin
set @FACULTYCOURSEID = newid()
insert into dbo.FACULTYCOURSE
(
ID,
FACULTYID,
COURSEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@FACULTYCOURSEID,
@FACULTYID,
@COURSEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
insert into dbo.FACULTYCLASSMEETINGGROUP
(
ID,
FACULTYCOURSEID,
CLASSMEETINGGROUPID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
newid(),
@FACULTYCOURSEID,
CLASSMEETINGGROUP.ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.CLASSMEETINGGROUP
left join dbo.FACULTYCLASSMEETINGGROUP on FACULTYCLASSMEETINGGROUP.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
where CLASSID = @ID
and FACULTYCLASSMEETINGGROUP.ID is null
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;