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;