USP_EVENTCONFLICT_BUILDANYWAY
Executes the "Event Conflict:Schedule One" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_EVENTCONFLICT_BUILDANYWAY
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier=null
)
as
set nocount on;
declare @SCHEDULEID uniqueidentifier;
declare @PROGRAMID uniqueidentifier;
declare @NAME nvarchar(100);
declare @DESC nvarchar(500);
declare @CAPACITY int;
declare @EVENTSTARTDATE datetime;
declare @EVENTENDDATE datetime;
declare @STARTTIME datetime;
declare @ENDTIME datetime;
declare @STIME dbo.UDT_HOURMINUTE;
declare @ETIME dbo.UDT_HOURMINUTE;
declare @CURRENTDATE datetime;
declare @SUPERCEDESPROGRAMPUBLICDESCRIPTION bit;
declare @PUBLICDESCRIPTIONTEXT nvarchar(max);
declare @PUBLICDESCRIPTIONHTML nvarchar(max);
declare @SOURCEEVENTID uniqueidentifier;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
select
@SCHEDULEID = EVENTCONFLICT.SCHEDULEID,
@PROGRAMID = EVENTCONFLICT.PROGRAMID,
@NAME = EVENTCONFLICT.NAME,
@DESC = EVENTCONFLICT.DESCRIPTION,
@CAPACITY = EVENTCONFLICT.CAPACITY,
@EVENTSTARTDATE = EVENTCONFLICT.STARTDATE,
@EVENTENDDATE = EVENTCONFLICT.ENDDATE,
@STIME = EVENTCONFLICT.STARTTIME,
@ETIME = EVENTCONFLICT.ENDTIME,
@SUPERCEDESPROGRAMPUBLICDESCRIPTION = EVENTCONFLICT.SUPERCEDESPROGRAMPUBLICDESCRIPTION,
@PUBLICDESCRIPTIONTEXT = EVENTCONFLICT.PUBLICDESCRIPTIONTEXT,
@PUBLICDESCRIPTIONHTML = EVENTCONFLICT.PUBLICDESCRIPTIONHTML,
@SOURCEEVENTID = EVENTCONFLICT.SOURCEEVENTID
from
dbo.EVENTCONFLICT
where
EVENTCONFLICT.ID = @ID;
set @STARTTIME=dbo.UFN_DATE_ADDHOURMINUTE(@EVENTSTARTDATE,@STIME);
set @ENDTIME=dbo.UFN_DATE_ADDHOURMINUTE(@EVENTENDDATE,@ETIME);
begin
--1.insert into the event table
declare @EVENTID uniqueidentifier;
exec dbo.USP_EVENT_INSERT @EVENTID output, @SCHEDULEID,@PROGRAMID,@NAME,@DESC,@CAPACITY,@EVENTSTARTDATE,@EVENTENDDATE,@STARTTIME,@ENDTIME,@CHANGEAGENTID,@SUPERCEDESPROGRAMPUBLICDESCRIPTION,@PUBLICDESCRIPTIONTEXT,@PUBLICDESCRIPTIONHTML,@SOURCEEVENTID;
--2.update the event location table
update dbo.PROGRAMEVENTLOCATION
set EVENTID=@EVENTID,
EVENTCONFLICTID=null,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where EVENTCONFLICTID=@ID;
--3.Update the resource table
update dbo.EVENTRESOURCE
set EVENTID=@EVENTID,
EVENTCONFLICTID=null,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where EVENTCONFLICTID=@ID;
--4.Update the event staff resource
update dbo.EVENTSTAFFRESOURCE
set EVENTID=@EVENTID,
EVENTCONFLICTID=null,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where EVENTCONFLICTID=@ID;
exec dbo.USP_PROGRAMEVENT_COPYPROGRAMPREFERENCES @EVENTID, @ID, @PROGRAMID, null, null, @CHANGEAGENTID, @CURRENTDATE;
--4.delete it from the event conflict table.
exec USP_EVENTCONFLICT_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
end
return 0;