USP_DATAFORMTEMPLATE_EDIT_RESEARCHGROUP_2
The save procedure used by the edit dataform template "Research Group 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. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@SITES | xml | IN | Sites |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESEARCHGROUP_2 (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@SITES xml
) as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @USERCANMODIFY bit;
set @USERCANMODIFY = 0;
select
@USERCANMODIFY = 1
from
dbo.RESEARCHGROUP RG
left join
dbo.APPUSER AU on AU.ID = RG.OWNERID
where
RG.ID = @ID and
(RG.OTHERSCANMODIFY = 1 or
RG.OWNERID = @CURRENTAPPUSERID or
RG.OWNERID is null or
dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1);
begin try
exec dbo.USP_RESEARCHGROUP_VALIDATESITES @SITES, @CURRENTAPPUSERID, 'AF2DC029-55BF-463B-8371-95F40CC1A47C', 1, 1;
if @USERCANMODIFY = 1 begin
update
dbo.RESEARCHGROUP
set
NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
exec dbo.USP_RESEARCHGROUP_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
end
else begin
raiserror ('ERR_RESEARCHGROUP_CANNOTMODIFY',13,1);
return 0;
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;