USP_DATAFORMTEMPLATE_EDIT_EVENTCOORDINATOR_2
The save procedure used by the edit dataform template "Event Coordinator 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. |
@CONSTITUENTID | uniqueidentifier | IN | Coordinator |
@ISPRIMARY | bit | IN | Is primary |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EVENTCOORDINATOR_2
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier,
@ISPRIMARY bit,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
-- Verify the user has access to the new constituent
declare @DATAFORMINSTANCEID uniqueidentifier;
set @DATAFORMINSTANCEID = 'B77A583B-1B91-4D9A-A918-F8EB4A73603A';
declare @ISADMIN bit;
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
if (@ISADMIN = 0)
begin
select
top(1) ID
from
dbo.CONSTITUENT
where
CONSTITUENT.ID = @CONSTITUENTID
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
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
--remove the event's primary coordinator if this coordinator has ISPRIMARY set to 1.
if @ISPRIMARY = 1
begin
update dbo.EVENTCOORDINATOR
set
ISPRIMARY = 0
where
EVENTCOORDINATOR.EVENTID = (select EVENTID from EVENTCOORDINATOR where ID = @ID) and
ISPRIMARY = 1
end
begin try
update
dbo.EVENTCOORDINATOR
set
CONSTITUENTID = @CONSTITUENTID,
ISPRIMARY = @ISPRIMARY,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0