USP_DATAFORMTEMPLATE_EDIT_CLASS_MEETING_TEMPLATE_SINGLE
The save procedure used by the edit dataform template "Class Meeting Template Edit Form Single".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@STARTTIME | UDT_HOURMINUTE | IN | Start time |
@ENDTIME | UDT_HOURMINUTE | IN | End time |
@CYCLEDAYID | uniqueidentifier | IN | Cycle day |
@TIMETABLEDAYPERIODID | uniqueidentifier | IN | Starting in period |
@LENGTHINPERIODS | int | IN | Length in periods |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CLASS_MEETING_TEMPLATE_SINGLE
(
@ID uniqueidentifier,
@STARTTIME dbo.UDT_HOURMINUTE,
@ENDTIME dbo.UDT_HOURMINUTE,
@CYCLEDAYID uniqueidentifier,
@TIMETABLEDAYPERIODID uniqueidentifier,
@LENGTHINPERIODS int,
@CHANGEAGENTID uniqueidentifier = null
)
as
set nocount on
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @CLASSID uniqueidentifier
select @CLASSID = CLASSMEETINGGROUP.CLASSID
from dbo.CLASSMEETINGTEMPLATE
inner join dbo.CLASSMEETINGGROUP on CLASSMEETINGTEMPLATE.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
where CLASSMEETINGTEMPLATE.ID = @ID
begin try
if not @TIMETABLEDAYPERIODID is null
begin
exec dbo.USP_CLASSMEETINGTEMPLATE_MOVE_GETNEWPERIODVALUES @CLASSID, @STARTTIME, @ENDTIME, @CYCLEDAYID, @TIMETABLEDAYPERIODID output, @LENGTHINPERIODS output, @STARTTIME output, @ENDTIME output
end
if @STARTTIME = '' or @ENDTIME = ''
begin
raiserror('BBERR_CLASSMEETINGTEMPLATE_INVALIDPERIODLENGTH', 13, 1);
return 1
end
update dbo.CLASSMEETINGTEMPLATE set
STARTTIME = @STARTTIME,
ENDTIME = @ENDTIME,
CYCLEDAYID = @CYCLEDAYID,
TIMETABLEDAYPERIODID = @TIMETABLEDAYPERIODID,
LENGTHINPERIODS = @LENGTHINPERIODS,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
or ID in (select B.ID from CLASSMEETINGTEMPLATE A
inner join CLASSMEETINGGROUP A_CMG on A_CMG.ID = A.CLASSMEETINGGROUPID
inner join CLASSMEETINGTEMPLATE B on A.STARTTIME = B.STARTTIME and A.ENDTIME = B.ENDTIME and A.CYCLEDAYID = B.CYCLEDAYID
inner join CLASSMEETINGGROUP B_CMG on B_CMG.ID = B.CLASSMEETINGGROUPID and A_CMG.CLASSID = B_CMG.CLASSID
where A.ID = @ID)
update dbo.CLASSMEETINGGROUP
set PATTERNBLOCKID = null
from dbo.CLASSMEETINGGROUP
where CLASSMEETINGGROUP.CLASSID = @CLASSID
and PATTERNBLOCKID is not null
exec dbo.USP_CLASSMEETING_CREATEFROMTEMPLATES @CLASSID, @CHANGEAGENTID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0