UFN_CONSTITUENT_ADDRESSES
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@INCLUDEFORMER | bit | IN |
Definition
Copy
CREATE function dbo.UFN_CONSTITUENT_ADDRESSES
(
@CONSTITUENTID uniqueidentifier,
@INCLUDEFORMER bit = 0
)
returns @OUTPUT table
(
ID uniqueidentifier,
DESCRIPTION nvarchar(300),
ADDRESSTYPE nvarchar(100),
ISPRIMARY bit,
DONOTMAIL bit,
ISCONFIDENTIAL bit,
ISFORMER bit,
HISTORICALSTARTDATE datetime,
HISTORICALENDDATE datetime,
ISGEOCODED bit,
PENDINGGEOCODE bit,
INVALIDGEOCODE bit,
MAPCONTEXTID nvarchar(108),
IMAGEKEY nvarchar(15),
SEASONALSTARTDATE dbo.UDT_MONTHDAY,
SEASONALENDDATE dbo.UDT_MONTHDAY,
STARTDATE_SORT date,
ENDDATE_SORT date,
DATEADDED datetime
)
as begin
declare @CURRENTDATE datetime = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @MAPENTITYID uniqueidentifier = N'645E6BE7-459C-402b-A03C-67587CA72B94';
if (dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('6f77d512-d0d1-444f-9b46-b8603a6fe5f1') = 1)
set @MAPENTITYID = N'78102CE5-F217-4429-9175-D99A6B55A4EE';
with [CONTACTINFO_CTE] as
(
--Addresses
select
ADDRESS.ID,
ADDRESS.DESCRIPTION as CONTACTINFO,
dbo.UFN_ADDRESSTYPECODE_GETDESCRIPTION(ADDRESS.ADDRESSTYPECODEID) as TYPE,
ADDRESS.ISPRIMARY,
ADDRESS.DONOTMAIL,
ADDRESS.ISCONFIDENTIAL,
ADDRESS.HISTORICALSTARTDATE,
ADDRESS.HISTORICALENDDATE,
case when ADDRESS.HISTORICALSTARTDATE is null then '0001-01-01' else ADDRESS.HISTORICALSTARTDATE end as [STARTDATE_SORT],
case when ADDRESS.HISTORICALENDDATE is null then '0001-01-01' else ADDRESS.HISTORICALENDDATE end as [ENDDATE_SORT],
ADDRESS.DATEADDED,
ADDRESSCOORDINATES.ID as ADDRESSCOORDINATESID,
ADDRESSCOORDINATES.PENDINGGEOCODE,
ADDRESSCOORDINATES.INVALIDGEOCODE,
dbo.UFN_MAPPING_BUILDCONTEXTRECORDID(@MAPENTITYID, @CONSTITUENTID, ADDRESS.ID) as [MAPCONTEXTID],
ADDRESS.STARTDATE,
ADDRESS.ENDDATE
from
dbo.ADDRESS
left join dbo.ADDRESSCOORDINATES on ADDRESSCOORDINATES.ADDRESSID = ADDRESS.ID
where
ADDRESS.CONSTITUENTID = @CONSTITUENTID
)
insert into @OUTPUT
(
ID,
DESCRIPTION,
ADDRESSTYPE,
ISPRIMARY,
DONOTMAIL,
ISCONFIDENTIAL,
ISFORMER,
HISTORICALSTARTDATE,
HISTORICALENDDATE,
ISGEOCODED,
PENDINGGEOCODE,
INVALIDGEOCODE,
MAPCONTEXTID,
IMAGEKEY,
SEASONALSTARTDATE,
SEASONALENDDATE,
STARTDATE_SORT,
ENDDATE_SORT,
DATEADDED
)
select
CONTACTINFO.ID,
CONTACTINFO.CONTACTINFO,
CONTACTINFO.TYPE,
CONTACTINFO.ISPRIMARY,
CONTACTINFO.DONOTMAIL,
CONTACTINFO.ISCONFIDENTIAL,
case when ((CONTACTINFO.HISTORICALENDDATE is null) or (CONTACTINFO.HISTORICALENDDATE > @CURRENTDATE)) then 0 else 1 end as ISFORMER,
CONTACTINFO.HISTORICALSTARTDATE,
CONTACTINFO.HISTORICALENDDATE,
case when CONTACTINFO.ADDRESSCOORDINATESID is null or CONTACTINFO.PENDINGGEOCODE = 1 or CONTACTINFO.INVALIDGEOCODE = 1 then 0 else 1 end as ISGEOCODED,
case when CONTACTINFO.ADDRESSCOORDINATESID is null then 0 else CONTACTINFO.PENDINGGEOCODE end as PENDINGGEOCODE,
case when CONTACTINFO.ADDRESSCOORDINATESID is null then 0 else CONTACTINFO.INVALIDGEOCODE end as INVALIDGEOCODE,
CONTACTINFO.MAPCONTEXTID,
case
when CONTACTINFO.ISCONFIDENTIAL = 1
then 'RES:padlock'
when CONTACTINFO.DONOTMAIL = 1
then 'RES:warning'
else
'RES:lv_spacer'
end as IMAGEKEY,
CONTACTINFO.STARTDATE,
CONTACTINFO.ENDDATE,
CONTACTINFO.STARTDATE_SORT,
CONTACTINFO.ENDDATE_SORT,
CONTACTINFO.DATEADDED
from
[CONTACTINFO_CTE] CONTACTINFO
where
@INCLUDEFORMER = 1 or ((CONTACTINFO.HISTORICALENDDATE is null) or (CONTACTINFO.HISTORICALENDDATE > @CURRENTDATE))
return;
end