USP_BBNC_INTEGRATIONCLIENTUSERADDUPDATE
Adds a constituent's Blackbaud Internet Solutions user information from the Blackbaud Internet Solutions integration service.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BBNCUSERID | int | IN | |
@CONSTITUENTMAPID | int | IN | |
@USERNAME | nvarchar(50) | IN | |
@USERADDEDDATE | datetime | IN | |
@LASTLOGINDATE | datetime | IN | |
@ACTIVE | bit | IN | |
@DELETED | bit | IN | |
@USERUPDATEDATE | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_BBNC_INTEGRATIONCLIENTUSERADDUPDATE
(
@BBNCUSERID int,
@CONSTITUENTMAPID int,
@USERNAME nvarchar(50),
@USERADDEDDATE datetime,
@LASTLOGINDATE datetime,
@ACTIVE bit,
@DELETED bit,
@USERUPDATEDATE datetime,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CHANGEDATE is null
set @CHANGEDATE = getdate();
begin try
if not (@BBNCUSERID > 0)
raiserror('ERR_BBNCUSERID_REQUIRED',16,1);
declare @CONSTITUENTID uniqueidentifier;
select
@CONSTITUENTID = [CONSTITUENT].[ID]
from
dbo.CONSTITUENT
where
[CONSTITUENT].[SEQUENCEID] = @CONSTITUENTMAPID;
if @ACTIVE = 1 and @DELETED = 0
update dbo.CONSTITUENT set
[NETCOMMUNITYMEMBER] = 1,
[ISCONSTITUENT] = 1,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CHANGEDATE
where
[CONSTITUENT].[ID] = @CONSTITUENTID
and [CONSTITUENT].[NETCOMMUNITYMEMBER] = 0;
else
update dbo.CONSTITUENT set
[NETCOMMUNITYMEMBER] = 0,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CHANGEDATE
where
[CONSTITUENT].[ID] = @CONSTITUENTID
and [CONSTITUENT].[NETCOMMUNITYMEMBER] = 1;
if exists
(
select
[ID]
from
dbo.NETCOMMUNITYCLIENTUSER
where
@BBNCUSERID = [BBNCUSERID]
)
update dbo.NETCOMMUNITYCLIENTUSER
set
[CONSTITUENTID] = @CONSTITUENTID,
[USERNAME] = coalesce(@USERNAME, ''),
[USERADDEDDATE] = @USERADDEDDATE,
[LASTLOGINDATE] = @LASTLOGINDATE,
[ACTIVE] = coalesce(@ACTIVE, 0),
[DELETED] = coalesce(@DELETED, 0),
[USERUPDATEDATE] = @USERUPDATEDATE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CHANGEDATE
where
[BBNCUSERID] = @BBNCUSERID
and
(
coalesce([CONSTITUENTID], '00000000-0000-0000-0000-000000000000') <> coalesce(@CONSTITUENTID, '00000000-0000-0000-0000-000000000000')
or [USERNAME] <> coalesce(@USERNAME, '')
or ([USERADDEDDATE] <> @USERADDEDDATE or ([USERADDEDDATE] is null and @USERADDEDDATE is not null) or ([USERADDEDDATE] is not null and @USERADDEDDATE is null))
or ([LASTLOGINDATE] <> @LASTLOGINDATE or ([LASTLOGINDATE] is null and @LASTLOGINDATE is not null) or ([LASTLOGINDATE] is not null and @LASTLOGINDATE is null))
or [ACTIVE] <> coalesce(@ACTIVE, 0)
or [DELETED] <> coalesce(@DELETED, 0)
or ([USERUPDATEDATE] <> @USERUPDATEDATE or ([USERUPDATEDATE] is null and @USERUPDATEDATE is not null) or ([USERUPDATEDATE] is not null and @USERUPDATEDATE is null))
);
else
insert into dbo.NETCOMMUNITYCLIENTUSER
(
[BBNCUSERID],
[CONSTITUENTID],
[USERNAME],
[USERADDEDDATE],
[LASTLOGINDATE],
[ACTIVE],
[DELETED],
[USERUPDATEDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@BBNCUSERID,
@CONSTITUENTID,
coalesce(@USERNAME, ''),
@USERADDEDDATE,
@LASTLOGINDATE,
coalesce(@ACTIVE, 0),
coalesce(@DELETED, 0),
@USERUPDATEDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE
);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;