USP_APPUSER_ADDCUSTOMAPPUSER
Adds a custom authenticated application user to the system.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CUSTOMNAME | nvarchar(255) | IN | |
@DISPLAYNAME | nvarchar(255) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SITEID | uniqueidentifier | IN | |
@CURRENCYSETID | uniqueidentifier | IN | |
@ISSYSADMIN | bit | IN | |
@ISSYSTEM | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_APPUSER_ADDCUSTOMAPPUSER
(
@ID uniqueidentifier = null output,
@CUSTOMNAME nvarchar(255),
@DISPLAYNAME nvarchar(255),
@CHANGEAGENTID uniqueidentifier = null,
@SITEID uniqueidentifier = null,
@CURRENCYSETID uniqueidentifier = null,
@ISSYSADMIN bit = 0,
@ISSYSTEM bit = 0
)
as
begin
set nocount on;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @DISPLAYNAME is null
set @DISPLAYNAME = @CUSTOMNAME;
if @ISSYSADMIN is null
set @ISSYSADMIN = 0;
if @ISSYSTEM is null
set @ISSYSTEM = 0;
begin try
if exists(select ID from dbo.APPUSER where CUSTOM_AUTHENTICATION_USERID = @CUSTOMNAME)
begin
/*Modeling after other application user add and edit forms*/
select @ID = ID from dbo.APPUSER where CUSTOM_AUTHENTICATION_USERID = @CUSTOMNAME;
/*update existing records with current info*/
update DBO.APPUSER set
SITEID = @SITEID,
DISPLAYNAME = @DISPLAYNAME,
ISSYSADMIN = @ISSYSADMIN,
ISSYSTEM = @ISSYSTEM,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
end
else
begin
insert into dbo.APPUSER
(ID, CUSTOM_AUTHENTICATION_USERID, [DISPLAYNAME], USERSID, SITEID, ISSYSADMIN, ISSYSTEM, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @CUSTOMNAME, @DISPLAYNAME, SUSER_SID('NT AUTHORITY\ANONYMOUS LOGON'), @SITEID, @ISSYSADMIN, @ISSYSTEM, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
if @CURRENCYSETID is not null
insert into dbo.APPUSERCURRENCYSET
(APPUSERID, CURRENCYSETID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @CURRENCYSETID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
return 0;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
end