USP_DATAFORMTEMPLATE_ADD_EMAILADDRESS
The save procedure used by the add dataform template "Email Address Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@EMAILADDRESSTYPECODEID | uniqueidentifier | IN | Type |
@EMAILADDRESS | UDT_EMAILADDRESS | IN | Email address |
@PRIMARY | bit | IN | Set as primary email address |
@UPDATEMATCHINGSPOUSEEMAILADDRESS | bit | IN | Update matching email information for spouse |
@UPDATEMATCHINGHOUSEHOLDEMAILADDRESS | bit | IN | Copy email address information to household members |
@DONOTEMAIL | bit | IN | Do not send email to this address |
@INFOSOURCECODEID | uniqueidentifier | IN | Information source |
@INFOSOURCECOMMENTS | nvarchar(256) | IN | Comments |
@CONSTITUENTDATAREVIEWROLLBACKREASONID | uniqueidentifier | IN | Reason |
@ORIGINCODE | tinyint | IN | Origin |
@STARTDATE | date | IN | Start date |
@EMAILISCONFIDENTIAL | bit | IN | |
@DONOTEMAILREASONCODEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_EMAILADDRESS
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier,
@EMAILADDRESSTYPECODEID uniqueidentifier = null,
@EMAILADDRESS dbo.UDT_EMAILADDRESS,
@PRIMARY bit = null,
@UPDATEMATCHINGSPOUSEEMAILADDRESS bit = null,
@UPDATEMATCHINGHOUSEHOLDEMAILADDRESS bit = null,
@DONOTEMAIL bit = null,
@INFOSOURCECODEID uniqueidentifier = null,
@INFOSOURCECOMMENTS nvarchar(256) = '',
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier = null, -- used by constituent data review
@ORIGINCODE tinyint = 0,
@STARTDATE date = null,
@EMAILISCONFIDENTIAL bit = 0,
@DONOTEMAILREASONCODEID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
-- #253763 Check to see if there are duplicate email addresses. Same email address type and same email address
declare @NULLVALUE uniqueidentifier = newid();
if exists (select 'X'
from dbo.EMAILADDRESS
where ENDDATE is null and CONSTITUENTID = @CONSTITUENTID
and coalesce(EMAILADDRESS,'') = coalesce(@EMAILADDRESS,'') and coalesce(EMAILADDRESSTYPECODEID,@NULLVALUE) = coalesce(@EMAILADDRESSTYPECODEID,@NULLVALUE))
raiserror('BBERR_EMAILADDRESS_DUPLICATENOTALLOWED', 13, 1);
-- @UPDATEMATCHINGSPOUSEEMAILADDRESS has been deprecated in favor of updating all of the members of a household
set @UPDATEMATCHINGHOUSEHOLDEMAILADDRESS = case when @UPDATEMATCHINGSPOUSEEMAILADDRESS = 1 then 1 else @UPDATEMATCHINGHOUSEHOLDEMAILADDRESS end;
exec dbo.USP_EMAILADDRESS_CREATE @ID output, @CHANGEAGENTID, @CURRENTDATE,
@CONSTITUENTID, @EMAILADDRESSTYPECODEID, @EMAILADDRESS, @PRIMARY,
@DONOTEMAIL, @INFOSOURCECODEID, @INFOSOURCECOMMENTS, @UPDATEMATCHINGHOUSEHOLDEMAILADDRESS, @ORIGINCODE = @ORIGINCODE, @STARTDATE = @STARTDATE, @EMAILISCONFIDENTIAL=@EMAILISCONFIDENTIAL, @DONOTEMAILREASONCODEID = @DONOTEMAILREASONCODEID;
return 0;