USP_EVENTTASK_COPY
Copies tasks from one event to another event.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEEVENTID | uniqueidentifier | IN | |
@DESTINATIONEVENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_EVENTTASK_COPY
(
@SOURCEEVENTID uniqueidentifier,
@DESTINATIONEVENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
with execute as caller
as
set nocount on;
-- Cannot copy if the source event does not exist
if not exists (select ID from dbo.EVENT where ID = @SOURCEEVENTID)
raiserror('The source event specified does not exist.',13,1);
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @EVENTDATEDIFFINDAYS int;
set @EVENTDATEDIFFINDAYS = datediff
(
day,
(select STARTDATE from dbo.EVENT where ID = @SOURCEEVENTID),
(select STARTDATE from dbo.EVENT where ID = @DESTINATIONEVENTID)
)
insert into dbo.EVENTTASK
(
[NAME],
EVENTID,
COMPLETEBYDATE,
COMMENT,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
[NAME],
@DESTINATIONEVENTID,
dateadd(day, @EVENTDATEDIFFINDAYS, COMPLETEBYDATE),
COMMENT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
dbo.EVENTTASK
where
EVENTID = @SOURCEEVENTID;
return 0;