USP_RECORDOPERATION_THIRDPARTYAUTH_APPUSER_MARKACTIVE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_RECORDOPERATION_THIRDPARTYAUTH_APPUSER_MARKACTIVE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
set nocount on;
declare @INACTIVE bit = 0;
select
@INACTIVE = case when isnull(APPUSERTHIRDPARTYAUTH.INACTIVE, 0) = 0 and APPUSER.ISACTIVE = 1 then 0 else 1 end
from dbo.APPUSER
left outer join dbo.APPUSERTHIRDPARTYAUTH
on APPUSER.ID = APPUSERTHIRDPARTYAUTH.ID
where APPUSER.ID = @ID;
if @INACTIVE = 0
raiserror('BBERR_APPUSERALREADYACTIVE', 13, 1);
declare @CURRENTDATE datetime = getdate();
declare @PROXYOWNERID uniqueidentifier;
declare @ISPROXYUSER bit;
select @ISPROXYUSER = dbo.UFN_APPUSER_ISPROXYUSER(@ID);
if @ISPROXYUSER = 1
begin
select @PROXYOWNERID = PROXYOWNERID from dbo.APPUSER where ID = @ID;
--if appuser is inactive in any of the tables below then the proxy user can't be marked active again
if exists (select ID from dbo.APPUSER where ID = @PROXYOWNERID and ISACTIVE = 0) or
exists (select ID from dbo.APPUSERTHIRDPARTYAUTH where ID = @PROXYOWNERID and INACTIVE = 1)
begin
raiserror('ERR_PROXYOWNER_INACTIVE', 13, 1);
end
else
begin
exec USP_RECORDOPERATION_APPUSER_APPUSERTHIRDPARTYAUTH_MARKACTIVE @ID;
end
end
else
begin
exec USP_RECORDOPERATION_APPUSER_APPUSERTHIRDPARTYAUTH_MARKACTIVE @ID;
end
return 0;