USP_APPUSERCLAIMS_ADD
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAMEIDENTIFIER | nvarchar(450) | IN | |
@APPUSERID | uniqueidentifier | IN | |
@EMAILADDRESS | UDT_EMAILADDRESS | IN |
Definition
Copy
CREATE procedure dbo.USP_APPUSERCLAIMS_ADD
(
@NAMEIDENTIFIER nvarchar(450),
@APPUSERID uniqueidentifier,
@EMAILADDRESS dbo.UDT_EMAILADDRESS = ''
)
as
begin
set nocount on;
declare @CURRENTDATE datetime = getdate();
declare @CHANGEAGENTID uniqueidentifier;
declare @OLDUSERNAME nvarchar(256);
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
select @OLDUSERNAME = USERNAME from dbo.APPUSER where ID=@APPUSERID;
begin try
if exists(select 1 from dbo.APPUSERCLAIMS where APPUSERID = @APPUSERID)
raiserror('BBERR_APPUSER_ALREADYLINKEDTOCLAIM', 13, 1);
if exists(select 1 from dbo.APPUSERCLAIMS where NAMEIDENTIFIER = @NAMEIDENTIFIER)
raiserror('BBERR_APPUSERCLAIM_ALREADYLINKEDTOAPPUSER', 13, 1);
insert into dbo.APPUSERCLAIMS
(NAMEIDENTIFIER, APPUSERID, EMAILADDRESS, ISREGISTERED)
values
(@NAMEIDENTIFIER, @APPUSERID, @EMAILADDRESS, 0);
update dbo.APPUSER
set APPUSER.USERSID = SUSER_SID('NT AUTHORITY\ANONYMOUS LOGON'),
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where APPUSER.ID = @APPUSERID
and APPUSER.USERSID <> SUSER_SID('NT AUTHORITY\ANONYMOUS LOGON');
update dbo.CHANGEAGENT
set USERNAME = (select USERNAME from dbo.APPUSER where ID = @APPUSERID)
where USERNAME = @OLDUSERNAME;
if exists(select 1 from dbo.APPUSERTHIRDPARTYAUTH where ID = @APPUSERID)
update dbo.APPUSERTHIRDPARTYAUTH set
INVITATIONSTATUSCODE = 3, -- Active
INVITATIONDATE = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @APPUSERID;
else
insert into dbo.APPUSERTHIRDPARTYAUTH
(ID, INVITATIONSTATUSCODE, INVITATIONDATE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@APPUSERID, 3, @CURRENTDATE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end