USP_DATAFORMTEMPLATE_EDIT_TIMETABLEDAY
The save procedure used by the edit dataform template "Timetable Day 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. |
@PERIODS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_TIMETABLEDAY (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@PERIODS xml
)
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.TIMETABLEDAY set
TIMETABLEDAY.CHANGEDBYID = @CHANGEAGENTID,
TIMETABLEDAY.DATECHANGED = @CURRENTDATE
where TIMETABLEDAY.ID = @ID
declare @contextCache varbinary(128);
/* cache current context information */
set @contextCache = CONTEXT_INFO();
/* set CONTEXT_INFO to @CHANGEAGENTID */
if not @CHANGEAGENTID is null
set CONTEXT_INFO @CHANGEAGENTID
delete
PATTERNBLOCKMEETING
from
PATTERNBLOCKMEETING
where
PATTERNBLOCKMEETING.TIMETABLEDAYID = @ID
and PATTERNBLOCKMEETING.TIMETABLEDAYPERIODID not in (select ID from dbo.UFN_TIMETABLEDAY_GETTIMETABLEDAYPERIODS_FROMITEMLISTXML(@PERIODS))
/* reset CONTEXT_INFO to previous value */
if not @contextCache is null
set CONTEXT_INFO @contextCache
exec dbo.USP_PATTERNBLOCK_UNUSED_DELETE @CHANGEAGENTID
exec dbo.USP_TIMETABLEDAY_GETTIMETABLEDAYPERIODS_UPDATEFROMXML @ID, @PERIODS, @CHANGEAGENTID;
if not exists(select ID from dbo.TIMETABLEDAYPERIOD where TIMETABLEDAYID = @ID)
raiserror('BBERR_TIMETABLEDAY_ATLEASTONEPERIOD', 13, 1)
exec dbo.USP_PATTERNBLOCKMEETING_TIMES_UPDATE @ID, @CHANGEAGENTID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;