USP_DATAFORMTEMPLATE_EDIT_EVENTTASK_2
The save procedure used by the edit dataform template "Event Task Edit 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. |
@OWNERID | uniqueidentifier | IN | Owner |
@NAME | nvarchar(100) | IN | Name |
@COMPLETEBYDATE | datetime | IN | Date due |
@STATUSCODE | tinyint | IN | Status |
@DATECOMPLETED | datetime | IN | Date completed |
@COMMENT | nvarchar(250) | IN | Comment |
@REMINDERS | xml | IN | Reminders |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EVENTTASK_2
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@OWNERID uniqueidentifier,
@NAME nvarchar(100),
@COMPLETEBYDATE datetime,
@STATUSCODE tinyint,
@DATECOMPLETED datetime,
@COMMENT nvarchar(250),
@REMINDERS xml,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
-- Verify the user has access to the new constituent
declare @DATAFORMINSTANCEID uniqueidentifier;
set @DATAFORMINSTANCEID = 'A86926F7-5894-427A-91F6-EF3497C7D86A';
declare @ISADMIN bit;
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
if (@ISADMIN = 0 and @OWNERID is not null)
begin
select
top(1) ID
from
dbo.CONSTITUENT
where
CONSTITUENT.ID = @OWNERID
and(
dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, @DATAFORMINSTANCEID, CONSTITUENT.ID) = 1
and
exists(select SITEID from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(CONSTITUENT.ID)
where dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORSITE(@CURRENTAPPUSERID, @DATAFORMINSTANCEID, SITEID) = 1)
)
if @@ROWCOUNT = 0
begin
raiserror('BBERR_CONSTITUENT_NOACCESS',13,1);
return 0;
end
end
declare @CURRENTDATE datetime = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
if exists (select top 1 *
from dbo.UFN_EVENTTASK_GETREMINDERS_FROMITEMLISTXML(@REMINDERS)
where SENDDATE > @COMPLETEBYDATE)
raiserror('ERR_EVENTTASKREMINDER_SENDDATEEXCEEDSTASKDATE', 13, 1);
declare @PREVIOUSOWNERID uniqueidentifier;
select
@PREVIOUSOWNERID = OWNERID
from
dbo.EVENTTASK
where
ID = @ID;
update
dbo.EVENTTASK
set
OWNERID = @OWNERID,
NAME = @NAME,
COMPLETEBYDATE = @COMPLETEBYDATE,
STATUSCODE = @STATUSCODE,
DATECOMPLETED = @DATECOMPLETED,
COMMENT = @COMMENT,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
exec dbo.USP_EVENTTASK_GETREMINDERS_UPDATEFROMXML @ID, @REMINDERS, @CHANGEAGENTID;
if (@PREVIOUSOWNERID is null) or (@OWNERID <> @PREVIOUSOWNERID)
begin
declare @OWNERAPPUSERID uniqueidentifier;
select
@OWNERAPPUSERID = APPUSER.ID
from
dbo.APPUSER
where
APPUSER.CONSTITUENTID = @OWNERID;
declare @EVENTID uniqueidentifier;
select
@EVENTID = EVENTID
from
dbo.EVENTTASK
where
ID = @ID;
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;