USP_SEARCHLIST_ACTIONITEM
This provides the ability to search for ActionItems
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAME | nvarchar(250) | IN | Name |
@STATUSCODE | tinyint | IN | STATUSCODE |
@TOPICCODE | tinyint | IN | TOPICCODE |
@TYPECODE | tinyint | IN | TYPECODE |
@FOLDERID | int | IN | FolderID |
@MAXROWS | smallint | IN | Input parameter indicating the maximum number of rows to return. |
@SORTPARAMETER | varchar(100) | IN | SORTPARAMETER |
@SORTORDER | varchar(50) | IN | SORTORDER |
@PAGENUMBER | int | IN | PageNumber |
@PAGESIZE | int | IN | PageSize |
@SITECONTENTID | int | IN | Site |
Definition
Copy
CREATE procedure dbo.USP_SEARCHLIST_ACTIONITEM
(
@NAME nvarchar(250) = NULL,
@STATUSCODE tinyint = NULL,
@TOPICCODE tinyint = NULL,
@TYPECODE tinyint = NULL,
@FOLDERID int = null,
@MAXROWS smallint = 500,
@SORTPARAMETER varchar(100) = 'NAME', -- NAME or STATUS or TYPE
@SORTORDER varchar(50) = 'ASC', -- ASC or DESC
@PAGENUMBER int = 1,
@PAGESIZE int = 50,
@SITECONTENTID int = -1
) with execute as owner
as
IF @NAME IS NOT NULL
SET @NAME = '%' + @NAME + '%' ;
DECLARE @sqlCommand nvarchar(4000)
DECLARE @ParmDefinition nvarchar(1000)
DECLARE @STARTROW int
DECLARE @ENDROW int
SET @STARTROW = ((@PAGENUMBER * @PAGESIZE) - @PAGESIZE + 1)
SET @ENDROW = (@PAGENUMBER * @PAGESIZE)
IF ISNULL(@STARTROW,-1) < 0
SET @STARTROW = 1
IF ISNULL(@ENDROW,0) = 0
SET @ENDROW = 10000
if ISNULL(@SORTPARAMETER, '') = ''
SET @SORTPARAMETER = 'Name'
if ISNULL(@SORTORDER, '') = ''
SET @SORTORDER = 'ASC'
SET @ParmDefinition = '@NAME nvarchar(250), @STATUSCODE tinyint, @TOPICCODE tinyint, @TYPECODE tinyint, @FOLDERID int, @SORTPARAMETER varchar(100), @SORTORDER varchar(50), @STARTROW int, @ENDROW int, @SITECONTENTID int'
set @sqlCommand = '
select AIWR.ID,
AIWR.NAME,
AIWR.TYPE,
AIWR.STATUS,
AIWR.TOPIC,
1 AS ISDELETABLE,
AIWR.OWNERID,
AIWR.USERNAME
from
(select
ROW_NUMBER() OVER (ORDER BY ' + @SORTPARAMETER + ' ' + @SORTORDER
set @sqlCommand = @sqlCommand + ') as ROW,
AI.ID,
AI.[NAME],
AI.[TYPE],
AI.[STATUS],
AI.[TOPIC],
1 AS ISDELETABLE,
AI.[OWNERID],
CU.USERNAME
from
dbo.ACTION_ITEM AI (NOLOCK)
INNER JOIN dbo.ACTIONITEMFOLDER WITH (NOLOCK)
ON AI.ID = ACTIONITEMFOLDER.ACTIONITEMID
LEFT OUTER JOIN dbo.CLIENTUSERS CU ON CU.ID = AI.[OWNERID]
where
AI.NAME LIKE ISNULL(@NAME,AI.NAME)
AND AI.STATUSCODE = ISNULL(@STATUSCODE,AI.STATUSCODE)
AND AI.TOPICCODE = ISNULL(@TOPICCODE,AI.TOPICCODE)
AND ACTIONITEMFOLDER.FOLDERID = ISNULL(@FOLDERID, ACTIONITEMFOLDER.FOLDERID)
AND AI.TYPECODE = ISNULL(@TYPECODE,AI.TYPECODE)
AND AI.ID NOT IN (select ACTIONITEMID from ACTIONCENTER where SITECONTENTID = ISNULL(@SITECONTENTID,-1))
) as AIWR
where (ROW >= @STARTROW AND ROW <= @ENDROW)'
exec sp_executesql @sqlCommand, @ParmDefinition, @NAME = @NAME, @STATUSCODE = @STATUSCODE, @TOPICCODE = @TOPICCODE,
@TYPECODE = @TYPECODE, @FOLDERID = @FOLDERID, @SORTPARAMETER = @SORTPARAMETER,
@SORTORDER = @SORTORDER, @STARTROW = @STARTROW, @ENDROW = @ENDROW, @SITECONTENTID = @SITECONTENTID