USP_DATAFORMTEMPLATE_ADD_EVENTTASKWITHOUTEVENT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@EVENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@OWNERID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@COMPLETEBYDATE | datetime | IN | |
@COMMENT | nvarchar(250) | IN | |
@REMINDERS | xml | IN |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_ADD_EVENTTASKWITHOUTEVENT
(
@ID uniqueidentifier = null output,
@EVENTID uniqueidentifier = null,
@CHANGEAGENTID uniqueidentifier = null,
@OWNERID uniqueidentifier = null,
@NAME nvarchar(100),
@COMPLETEBYDATE datetime = null,
@COMMENT nvarchar(250) = '',
@REMINDERS xml = null
)
as
begin
set nocount on;
declare @CURRENTDATE datetime
IF @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
begin try
if exists ( select 1 from dbo.EVENTMANAGEMENTOPTIONS where EVENTID = @EVENTID and HASTASKSANDCOORDINATORS = 0)
raiserror('ERR_EVENTCANNOTHAVETASK', 13, 1);
if exists ( select top 1 *
from dbo.UFN_EVENTTASK_GETREMINDERS_FROMITEMLISTXML(@REMINDERS)
where SENDDATE > @COMPLETEBYDATE)
raiserror('ERR_EVENTTASKREMINDER_SENDDATEEXCEEDSTASKDATE', 13, 1);
insert into dbo.EVENTTASK
(ID, EVENTID, OWNERID, NAME, COMPLETEBYDATE, STATUSCODE, COMMENT, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
VALUES
(@ID, @EVENTID, @OWNERID, @NAME, @COMPLETEBYDATE, 0, @COMMENT, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
-- 'SENT' is not part of the Add's dataform definition. Set it to 0.
set @REMINDERS = (
select
ID,
NAME,
SENDDATE,
0 as SENT
from
dbo.UFN_EVENTTASK_GETREMINDERS_FROMITEMLISTXML(@REMINDERS)
for xml raw('ITEM'), type, elements, root('REMINDERS'), binary base64
);
exec dbo.USP_EVENTTASK_GETREMINDERS_ADDFROMXML @ID, @REMINDERS, @CHANGEAGENTID;
if @OWNERID is not null
begin
declare @OWNERAPPUSERID uniqueidentifier;
select
@OWNERAPPUSERID = APPUSER.ID
from
dbo.APPUSER
where
APPUSER.CONSTITUENTID = @OWNERID;
if @OWNERAPPUSERID is not null
exec dbo.USP_ALERTTYPE_SENDTOAPPUSER '6CDB7072-461C-40BF-9C20-6277D16CDA0E', @OWNERAPPUSERID, @ID, @EVENTID;
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0
end