USP_DATALIST_CONTACTINFORMATIONEMAILADDRESS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@INCLUDEFORMER | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONTACTINFORMATIONEMAILADDRESS
(
@CONSTITUENTID uniqueidentifier,
@INCLUDEFORMER bit = 0
)
as
set nocount on;
declare @CURRENTDATE datetime = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
with [CONTACTINFO_CTE] as
(
--Emails
select
EMAILADDRESS.ID,
EMAILADDRESS.EMAILADDRESS as CONTACTINFO,
dbo.UFN_EMAILADDRESSTYPECODE_GETDESCRIPTION(EMAILADDRESS.EMAILADDRESSTYPECODEID) as TYPE,
EMAILADDRESS.ISPRIMARY,
case when EMAILADDRESS.DONOTEMAIL = 0 then '' else 'Do not email' end as DONOTCONTACT,
EMAILADDRESS.STARTDATE,
EMAILADDRESS.ENDDATE,
case when EMAILADDRESS.STARTDATE is null then '0001-01-01' else cast(EMAILADDRESS.STARTDATE as date) end as [STARTDATE_SORT],
case when EMAILADDRESS.ENDDATE is null then '0001-01-01' else cast(EMAILADDRESS.ENDDATE as date) end as [ENDDATE_SORT],
EMAILADDRESS.DATEADDED,
case when EXISTS(SELECT ID FROM dbo.EMAILINVALIDRECIPIENT WHERE EMAILINVALIDRECIPIENT.ADDRESS = EMAILADDRESS.EMAILADDRESS AND EMAILINVALIDRECIPIENT.ISBLACKLISTED = 1) then 1 else 0 end as INVALIDEMAIL,
EMAILADDRESS.ISCONFIDENTIAL
from
dbo.EMAILADDRESS
where
EMAILADDRESS.CONSTITUENTID = @CONSTITUENTID
)
select
ID,
case
when ISCONFIDENTIAL = 0
then CONTACTINFO
else
N'(Confidential) ' + CONTACTINFO
end as CONTACTINFO,
case
when ((ENDDATE is null) or (ENDDATE > @CURRENTDATE))
then coalesce(TYPE, N'') + N' (Current)'
else
coalesce(TYPE, N'') + N' (Former)'
end as TYPE,
case when ISPRIMARY = 0 then '' else 'Yes' end as ISPRIMARY,
DONOTCONTACT,
case when ((ENDDATE is null) or (ENDDATE > @CURRENTDATE)) then 0 else 1 end as ISFORMER,
STARTDATE,
ENDDATE,
case
when ISCONFIDENTIAL = 1
then 'RES:padlock'
when Len(DONOTCONTACT) > 0
then 'RES:warning'
when INVALIDEMAIL = 1
then 'RES:do_not_symbol'
else
'RES:lv_spacer'
end as IMAGEKEY,
INVALIDEMAIL,
ISCONFIDENTIAL
from
[CONTACTINFO_CTE]
where
@INCLUDEFORMER = 1 or ((ENDDATE is null) or (ENDDATE > @CURRENTDATE))
order by
ISPRIMARY desc, ISFORMER asc, ENDDATE_SORT desc, STARTDATE_SORT desc, DATEADDED desc