USP_DATALIST_ADDRESSBOOKFAF
Returns all AddressBookFAF records.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLIENTUSERSID | int | IN | Client user ID |
@FULLNAME | nvarchar(100) | IN | Full name |
@PAGENUMBER | int | IN | Page number |
@TOTALROWS | int | IN | Total Rows |
@EVENTID | uniqueidentifier | IN | Event ID |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_ADDRESSBOOKFAF
(
@CLIENTUSERSID int,
@FULLNAME nvarchar(100) = '',
--@CONTACTTYPECODELIST nvarchar(25) = '',
@PAGENUMBER int = 1,
@TOTALROWS int = 15,
@EVENTID uniqueidentifier = null
)
as
set nocount on;
declare @GroupData table
(
ISGROUP bit DEFAULT(1),
TeamName nvarchar(100),
TeamMemberNum int,
ID uniqueidentifier,
FIRSTNAME nvarchar(255),
MIDDLENAME nvarchar(255),
LASTNAME nvarchar(255),
PREFERREDCOMMUNICATION nvarchar(255),
--CONTACTTYPE nvarchar(255),
--CONTACTTYPECODE tinyint,
SALUTATION nvarchar(255),
EMAILADDRESS nvarchar(255),
ADDRESSBLOCK nvarchar(255),
CITY nvarchar(100),
STATEID uniqueidentifier,
POSTCODE nvarchar(24),
COUNTRYID uniqueidentifier,
CELLPHONE nvarchar(25),
TEXTMESSAGESEND bit,
HOMEPHONE nvarchar(25),
CONSTITUENTID uniqueidentifier,
BUSINESSPHONE nvarchar(25),
BUSINESSADDRESS nvarchar(300),
SECONDARYEMAILADDRESS nvarchar(300)
, SECONDARYCITY nvarchar(100)
, SECONDARYSTATEID uniqueidentifier
, SECONDARYPOSTCODE nvarchar(24)
, SECONDARYCOUNTRYID uniqueidentifier
, COMPANYNAME nvarchar(255)
, NOTES nvarchar(1000)
)
declare @CONSTITUENTID uniqueidentifier
set @CONSTITUENTID=dbo.UFN_CONSTITUENT_GET_BY_CLIENTUSERID(@CLIENTUSERSID)
insert into @GroupData(TEAMNAME,TEAMMEMBERNUM)
EXEC dbo.USP_DATALIST_ADDRESSBOOKFAFGROUP @CONSTITUENTID,@EVENTID
set nocount on;
WITH [Numbers](num)
AS
(
SELECT 0
UNION ALL
SELECT ROW_NUMBER() OVER(ORDER BY [id]) as num FROM sys.syscolumns
)
-- Split given string using given delimiter
,[Split](Num, String)
AS
(
SELECT
Num , 'dave change this'
--,SUBSTRING
--(
-- @CONTACTTYPECODELIST,
-- Num,
-- CASE CHARINDEX(',', @CONTACTTYPECODELIST, Num)
-- WHEN 0 THEN LEN(@CONTACTTYPECODELIST) - Num + 1
-- ELSE CHARINDEX(',', @CONTACTTYPECODELIST, Num) - Num
-- END
-- ) AS String
FROM [Numbers]
--WHERE Num <= LEN(@CONTACTTYPECODELIST)
--AND (SUBSTRING(@CONTACTTYPECODELIST, Num - 1, 1) = ',' OR Num = 0)
)
INSERT INTO @GroupData
SELECT 0,NULL,NULL,
ABF.[ID],
ABF.[FIRSTNAME],
ABF.[MIDDLENAME],
ABF.[LASTNAME],
ABF.[PREFERREDCOMMUNICATION],
--ABF.[CONTACTTYPE],
--ABF.[CONTACTTYPECODE],
ABF.[SALUTATION],
ABF.[EMAILADDRESS],
ABF.[ADDRESSBLOCK],
ABF.[CITY],
ABF.[STATEID],
ABF.[POSTCODE],
ABF.[COUNTRYID],
ABF.[CELLPHONE],
ABF.[TEXTMESSAGESEND],
ABF.[HOMEPHONE],
ABF.CONSTITUENTID,
ABF.BUSINESSPHONE,
ABF.BUSINESSADDRESS,
ABF.SECONDARYEMAILADDRESS
, ABF.SECONDARYCITY
, ABF.SECONDARYSTATEID
, ABF.SECONDARYPOSTCODE
, ABF.SECONDARYCOUNTRYID
, ABF.COMPANYNAME
, ABF.NOTES
FROM dbo.ADDRESSBOOKFAF ABF
WHERE ABF.ClientUsersID = @ClientUsersID
AND (RTRIM(LTRIM(ABF.FirstName + ' ' + ABF.LastName)) like '' + RTRIM(LTRIM(@FULLNAME)) + '%')
--AND (CONTACTTYPECODE IN (SELECT string FROM [Split]) OR @CONTACTTYPECODELIST = '')
SET NOCOUNT ON ;
WITH c as
(
SELECT row_number() over (order by FIRSTNAME) as sequence,
CASE WHEN 1=1 THEN (SELECT COUNT(*) FROM @GroupData) END AS TOTALCOUNT,*
FROM @GroupData
)
SELECT TOP (@TOTALROWS)
ABF.ISGROUP,
ABF.TeamName,
ABF.TeamMemberNum,
ABF.TOTALCOUNT,
ABF.[ID],
ABF.[FIRSTNAME],
ABF.[MIDDLENAME],
ABF.[LASTNAME],
ABF.[PREFERREDCOMMUNICATION],
--ABF.[CONTACTTYPE],
--ABF.[CONTACTTYPECODE],
ABF.[SALUTATION],
ABF.[EMAILADDRESS],
ABF.[ADDRESSBLOCK],
ABF.[CITY],
ABF.[STATEID],
ABF.[POSTCODE],
ABF.[COUNTRYID],
ABF.[CELLPHONE],
ABF.[TEXTMESSAGESEND],
ABF.[HOMEPHONE],
ABF.CONSTITUENTID,
ABF.BUSINESSPHONE,
ABF.BUSINESSADDRESS,
ABF.SECONDARYEMAILADDRESS
, ABF.SECONDARYCITY
, ABF.SECONDARYSTATEID
, ABF.SECONDARYPOSTCODE
, ABF.SECONDARYCOUNTRYID
, ABF.COMPANYNAME
, ABF.NOTES
FROM C ABF
WHERE sequence > (@PAGENUMBER-1) * @TOTALROWS OR @PAGENUMBER < 1
order by ISGROUP ASC
;