USP_DATAFORMTEMPLATE_EDIT_APPLICATIONUSERINACTIVE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@APPUSERINACTIVEREASONCODEID | uniqueidentifier | IN | |
@DETAILS | nvarchar(300) | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_APPLICATIONUSERINACTIVE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@APPUSERINACTIVEREASONCODEID uniqueidentifier,
@DETAILS nvarchar(300)
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
begin try
update dbo.APPUSER set
ISACTIVE = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
update dbo.APPUSERINACTIVEDETAIL set
APPUSERINACTIVEREASONCODEID = @APPUSERINACTIVEREASONCODEID,
DETAILS = @DETAILS,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
if @@ROWCOUNT = 0
insert into dbo.APPUSERINACTIVEDETAIL (ID, APPUSERINACTIVEREASONCODEID, DETAILS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@ID, @APPUSERINACTIVEREASONCODEID, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
--USP executed to revoke PATs for inactive proxy user
exec dbo.USP_PROXYUSER_MARKINACTIVE_REVOKEPERSONALACCESSTOKEN @ID, @CHANGEAGENTID, @CURRENTDATE, @DETAILS;
declare @CURRENTDATETIMEOFFSET datetimeoffset = [dbo].[UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET](getutcdate(), 1);
if exists (select 1 from [dbo].[APPUSERTHIRDPARTYAUTH] where ID = @ID)
update [dbo].[APPUSERTHIRDPARTYAUTH] set
[INACTIVE] = 1,
[INACTIVEDATE] = @CURRENTDATETIMEOFFSET,
[INACTIVEDETAILS] = @DETAILS,
[INVITATIONID] = null,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
else
insert into [dbo].[APPUSERTHIRDPARTYAUTH]
([ID], [INACTIVE], [INACTIVEDATE], [INACTIVEDETAILS], [ADDEDBYID], [CHANGEDBYID], [DATEADDED], [DATECHANGED])
values
(@ID, 1, @CURRENTDATETIMEOFFSET, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
declare @ISPROXYOWNER bit = 0;
exec @ISPROXYOWNER = dbo.UFN_APPUSER_HASPROXYUSER @ID;
if @ISPROXYOWNER = 1
begin
exec dbo.USP_APPUSER_WITHPROXY_UPDATEPROXYINACTIVEREVOKEPAT @ID, @APPUSERINACTIVEREASONCODEID, @DETAILS, @CHANGEAGENTID, @CURRENTDATE;
end
if exists (select 1 from dbo.CONDITIONSETTING where NAME = 'SkyApi')
begin
declare @APPUSERCLAIMSLINKID uniqueidentifier = null;
select @APPUSERCLAIMSLINKID = APPUSERCLAIMSLINK.ID
from dbo.APPUSERCLAIMSLINK
where APPUSERCLAIMSLINK.APPUSERID = @ID;
if (@APPUSERCLAIMSLINKID is not null)
begin
exec dbo.USP_APPUSERCLAIMSLINK_DELETEBYID_WITHCHANGEAGENTID @APPUSERCLAIMSLINKID, @CHANGEAGENTID;
end
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;