USP_DELETE_RESEARCHGROUPMEMBER
Executes the "Research Group Member: Delete" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DELETE_RESEARCHGROUPMEMBER (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier
) as
set nocount on;
declare @USERCANMODIFY bit;
set @USERCANMODIFY = 0;
declare @RESEARCHGROUPID uniqueidentifier;
select
@USERCANMODIFY = 1,
@RESEARCHGROUPID = RGM.RESEARCHGROUPID
from
dbo.RESEARCHGROUPMEMBER RGM
left join
dbo.RESEARCHGROUP RG on RG.ID = RGM.RESEARCHGROUPID
left join
dbo.APPUSER AU on AU.ID = RG.OWNERID
where
RGM.ID = @ID and
(RG.OTHERSCANMODIFY = 1 or
RG.OWNERID = @CURRENTAPPUSERID or
RG.OWNERID is null or
dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1);
if @USERCANMODIFY = 1 begin
exec dbo.USP_RESEARCHGROUPMEMBER_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
exec dbo.USP_RESEARCHGROUP_INCREMENTNUMMEMBERS @RESEARCHGROUPID, -1, @CHANGEAGENTID;
end
else begin
raiserror ('ERR_RESEARCHGROUP_CANNOTMODIFY',13,1);
return 1;
end
return 0;