USP_DATAFORMTEMPLATE_EDIT_EMAILADDRESS_7
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@EMAILADDRESSTYPECODEID | uniqueidentifier | IN | |
@EMAILADDRESS | UDT_EMAILADDRESS | IN | |
@PRIMARY | bit | IN | |
@DONOTEMAIL | bit | IN | |
@UPDATEMATCHINGSPOUSEEMAILADDRESS | bit | IN | |
@UPDATEMATCHINGHOUSEHOLDEMAILADDRESS | bit | IN | |
@INFOSOURCECODEID | uniqueidentifier | IN | |
@INFOSOURCECOMMENTS | nvarchar(256) | IN | |
@CONSTITUENTDATAREVIEWROLLBACKREASONID | uniqueidentifier | IN | |
@STARTDATE | date | IN | |
@ENDDATE | date | IN | |
@EMAILISCONFIDENTIAL | bit | IN | |
@DONOTEMAILREASONCODEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EMAILADDRESS_7
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@EMAILADDRESSTYPECODEID uniqueidentifier,
@EMAILADDRESS dbo.UDT_EMAILADDRESS,
@PRIMARY bit,
@DONOTEMAIL bit,
@UPDATEMATCHINGSPOUSEEMAILADDRESS bit,
@UPDATEMATCHINGHOUSEHOLDEMAILADDRESS bit,
@INFOSOURCECODEID uniqueidentifier,
@INFOSOURCECOMMENTS nvarchar(256),
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier, -- used by constituent data review
@STARTDATE date,
@ENDDATE date,
@EMAILISCONFIDENTIAL bit,
@DONOTEMAILREASONCODEID uniqueidentifier
)
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
-- If nothing has changed on the edit form we don't want to check for duplicates. This way if dups already exist and we
-- change nothing, we can still save the form without getting an error message.
if @ENDDATE is null
begin
declare @NULLVALUE uniqueidentifier = newid();
declare @NULLDATE date = '9999-01-01'
if exists (select 'X' from dbo.EMAILADDRESS a
inner join dbo.EMAILADDRESS a2 on a2.CONSTITUENTID = a.CONSTITUENTID and a2.ID <> @ID
where (coalesce(a.EMAILADDRESS,'') <> coalesce(@EMAILADDRESS,'')
or coalesce(a.EMAILADDRESSTYPECODEID,@NULLVALUE) <> coalesce(@EMAILADDRESSTYPECODEID,@NULLVALUE)
or coalesce(a.ENDDATE,@NULLDATE) <> coalesce(@ENDDATE,@NULLDATE))
and a.ID = @ID
and a2.ENDDATE is null
and coalesce(a2.EMAILADDRESS,'') = coalesce(@EMAILADDRESS,'')
and coalesce(a2.EMAILADDRESSTYPECODEID,@NULLVALUE) = coalesce(@EMAILADDRESSTYPECODEID,@NULLVALUE))
raiserror('BBERR_EMAILADDRESS_DUPLICATENOTALLOWED', 13, 1);
end
-- @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_UPDATE @ID, @CHANGEAGENTID, @CURRENTDATE,
@EMAILADDRESSTYPECODEID, @EMAILADDRESS, @PRIMARY, @DONOTEMAIL,
@UPDATEMATCHINGHOUSEHOLDEMAILADDRESS, @INFOSOURCECODEID, @INFOSOURCECOMMENTS, @STARTDATE = @STARTDATE, @ENDDATE = @ENDDATE,@EMAILISCONFIDENTIAL = @EMAILISCONFIDENTIAL, @DONOTEMAILREASONCODEID = @DONOTEMAILREASONCODEID;
return 0;