USP_DATAFORMTEMPLATE_EDIT_THIRDPARTYAUTH_APPLICATIONUSER
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@SYSTEMROLES | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_THIRDPARTYAUTH_APPLICATIONUSER
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier,
@SYSTEMROLES xml
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
begin try
if @CONSTITUENTID is not null
--Remove any old link because duplicates are not allowed.
update dbo.APPUSER set
CONSTITUENTID = null,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where (CONSTITUENTID = @CONSTITUENTID)
and (ID <> @ID);
update dbo.APPUSER set
CONSTITUENTID = @CONSTITUENTID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
and (
(CONSTITUENTID is null and @CONSTITUENTID is not null)
or (CONSTITUENTID is not null and @CONSTITUENTID is null)
or (CONSTITUENTID <> @CONSTITUENTID)
);
if not exists(select 1 from dbo.APPUSERTHIRDPARTYAUTH where ID = @ID)
insert into dbo.APPUSERTHIRDPARTYAUTH
(ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
exec dbo.USP_APPUSER_GETALLSYSTEMROLES_UPDATEFROMXML @ID, @SYSTEMROLES;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;