USP_BBNC_INTEGRATIONEMAILINFOADDUPDATE
Adds client user email information from the Blackbaud Internet Solutions integration service.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EMAILINFOMAPID | int | IN | |
@BBNCUSERID | int | IN | |
@OPTEDIN | bit | IN | |
@FORWARDINGENABLED | bit | IN | |
@INCOMINGEMAILADDRESS | nvarchar(510) | IN | |
@FORWARDINGEMAILADDRESS | nvarchar(510) | IN | |
@UPDATEDATE | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_BBNC_INTEGRATIONEMAILINFOADDUPDATE
(
@EMAILINFOMAPID int,
@BBNCUSERID int,
@OPTEDIN bit,
@FORWARDINGENABLED bit,
@INCOMINGEMAILADDRESS nvarchar(510),
@FORWARDINGEMAILADDRESS nvarchar(510),
@UPDATEDATE 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 (@EMAILINFOMAPID > 0)
raiserror('ERR_EMAILINFOMAPID_REQUIRED',16,1);
declare @NETCOMMUNITYCLIENTUSERID uniqueidentifier;
if @BBNCUSERID > 0
begin
select
@NETCOMMUNITYCLIENTUSERID = NETCOMMUNITYCLIENTUSER.ID
from
dbo.NETCOMMUNITYCLIENTUSER
where
BBNCUSERID = @BBNCUSERID;
if @NETCOMMUNITYCLIENTUSERID is null
begin
set @NETCOMMUNITYCLIENTUSERID = newid();
insert into dbo.NETCOMMUNITYCLIENTUSER
(
[ID],
[BBNCUSERID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@NETCOMMUNITYCLIENTUSERID,
@BBNCUSERID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE
);
end
end
if exists
(
select
[ID]
from
dbo.NETCOMMUNITYEMAILINFO
where
@EMAILINFOMAPID = [BBNCMAPID]
)
update dbo.NETCOMMUNITYEMAILINFO
set
[NETCOMMUNITYCLIENTUSERID] = @NETCOMMUNITYCLIENTUSERID,
[OPTEDIN] = coalesce(@OPTEDIN, 0),
[FORWARDINGENABLED] = coalesce(@FORWARDINGENABLED, 0),
[INCOMINGEMAILADDRESS] = coalesce(@INCOMINGEMAILADDRESS, ''),
[FORWARDINGEMAILADDRESS] = coalesce(@FORWARDINGEMAILADDRESS, ''),
[UPDATEDATE] = @UPDATEDATE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CHANGEDATE
where
[BBNCMAPID] = @EMAILINFOMAPID
and
(
coalesce([NETCOMMUNITYCLIENTUSERID], '00000000-0000-0000-0000-000000000000') <> coalesce(@NETCOMMUNITYCLIENTUSERID, '00000000-0000-0000-0000-000000000000')
or [OPTEDIN] <> coalesce(@OPTEDIN, 0)
or [FORWARDINGENABLED] <> coalesce(@FORWARDINGENABLED, 0)
or [INCOMINGEMAILADDRESS] <> coalesce(@INCOMINGEMAILADDRESS, '')
or [FORWARDINGEMAILADDRESS] <> coalesce(@FORWARDINGEMAILADDRESS, '')
or ([UPDATEDATE] <> @UPDATEDATE or ([UPDATEDATE] is null and @UPDATEDATE is not null) or ([UPDATEDATE] is not null and @UPDATEDATE is null))
);
else
insert into dbo.NETCOMMUNITYEMAILINFO
(
[BBNCMAPID],
[NETCOMMUNITYCLIENTUSERID],
[OPTEDIN],
[FORWARDINGENABLED],
[INCOMINGEMAILADDRESS],
[FORWARDINGEMAILADDRESS],
[UPDATEDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@EMAILINFOMAPID,
@NETCOMMUNITYCLIENTUSERID,
coalesce(@OPTEDIN, 0),
coalesce(@FORWARDINGENABLED, 0),
coalesce(@INCOMINGEMAILADDRESS, ''),
coalesce(@FORWARDINGEMAILADDRESS, ''),
@UPDATEDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE
);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;