USE [FastMoneyPro_Remit]
GO
/****** Object:  StoredProcedure [dbo].[proc_message]    Script Date: 7/4/2019 11:35:48 AM ******/
DROP PROCEDURE [dbo].[proc_message]
GO
/****** Object:  StoredProcedure [dbo].[proc_message]    Script Date: 7/4/2019 11:35:48 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[proc_message]
 	 @flag                              VARCHAR(50)		= NULL
	,@user                              VARCHAR(30)		= NULL
	,@msgId                             VARCHAR(30)		= NULL
	,@countryId                         INT				= NULL
	,@countryName						VARCHAR(200)	= NULL
	,@agentId                           INT				= NULL
	,@branchId							INT				= NULL
	,@agentName							VARCHAR(200)	= NULL
	,@branchName						VARCHAR(200)	= NULL
	,@headMsg							NVARCHAR(MAX)	= NULL
	,@commonMsg                         NVARCHAR(MAX)	= NULL
	,@countrySpecificMsg                NVARCHAR(MAX)	= NULL
	,@promotionalMsg                    NVARCHAR(MAX)	= NULL
	,@newsFeederMsg						NVARCHAR(MAX)	= NULL
	,@isActive							VARCHAR(10)		= NULL
	,@msgType                           CHAR(1)			= NULL
	,@sortBy                            VARCHAR(50)		= NULL
	,@sortOrder                         VARCHAR(5)		= NULL
	,@pageSize                          INT				= NULL
	,@pageNumber                        INT				= NULL
	,@transactionType					varchar(10)		= NULL
	,@userType							VARCHAR(2)		= NULL
	,@rCountry							VARCHAR(50)		= NULL
	,@rAgent							VARCHAR(100)	= NULL
AS
SET NOCOUNT ON
SET XACT_ABORT ON

BEGIN TRY
	CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
	DECLARE
		 @sql				VARCHAR(MAX)
		,@oldValue			VARCHAR(MAX)
		,@newValue			VARCHAR(MAX)
		,@module			VARCHAR(10)
		,@tableAlias		VARCHAR(100)
		,@logIdentifier		VARCHAR(50)
		,@logParamMod		VARCHAR(100)
		,@logParamMain		VARCHAR(100)
		,@table				VARCHAR(MAX)
		,@select_field_list	VARCHAR(MAX)
		,@extra_field_list	VARCHAR(MAX)
		,@sql_filter		VARCHAR(MAX)
		,@modType			VARCHAR(6)
	SELECT
		 @logIdentifier = 'msgId'
		,@logParamMain = 'message'
		,@logParamMod = 'messageMod'
		,@module = '10'
		,@tableAlias = 'Message Setup'
	
	
	IF @flag = 'ml' --Message list for agent/admin user
	BEGIN
/*
		--SELECT * FROM [message]
		--SELECT commonMsg [Message] FROM message 
		--	 WHERE commonMsg IS NOT NULL AND (userType = @userType OR userType IS NULL) 
		--	 AND ISNULL(isActive, 'Active') = 'Active'
		--UNION ALL
		--SELECT countrySpecificMsg FROM message WHERE countrySpecificMsg IS NOT NULL AND countryId = @countryId AND (userType = @userType OR userType IS NULL)
		--UNION ALL

		if exists(select 'x' from 
		(
			SELECT 'x' a FROM message 
				 WHERE newsFeederMsg IS NOT NULL AND (countryId = @countryId AND agentId is null) 
				 AND ISNULL(isActive, 'Active') = 'Active' AND ISNULL(isDeleted,'')<>'Y'

			UNION ALL

			SELECT 'x' a FROM message 
				 WHERE newsFeederMsg IS NOT NULL AND  
					agentId in (select parentId from agentMaster where agentId = @agentId) 
				 AND ISNULL(isActive, 'Active') = 'Active' AND ISNULL(isDeleted,'')<>'Y'
		)s)
		begin

			SELECT newsFeederMsg FROM message 
			WHERE newsFeederMsg IS NOT NULL AND (countryId = @countryId AND agentId is null) 
			AND ISNULL(isActive, 'Active') = 'Active' AND ISNULL(isDeleted,'')<>'Y'

			UNION ALL

			SELECT newsFeederMsg FROM message 
					WHERE newsFeederMsg IS NOT NULL AND  
					agentId in (select parentId from agentMaster where agentId = @agentId) 
					AND ISNULL(isActive, 'Active') = 'Active' AND ISNULL(isDeleted,'')<>'Y'
			return;
		end


		SELECT commonMsg FROM message 
			 WHERE commonMsg IS NOT NULL 
			 AND countryId = @countryId
			 AND ISNULL(isActive, 'Active') = 'Active' 
			 AND ISNULL(isDeleted,'')<>'Y'

		UNION ALL

		SELECT commonMsg FROM message 
			 WHERE commonMsg IS NOT NULL 
			 AND countryId is null
			 AND ISNULL(isActive, 'Active') = 'Active' 
			 AND ISNULL(isDeleted,'')<>'Y'

		RETURN	
		
		SELECT newsFeederMsg FROM message 
			 WHERE newsFeederMsg IS NOT NULL AND (countryId = @countryId AND agentId is null) 
			 AND ISNULL(isActive, 'Active') = 'Active' AND ISNULL(isDeleted,'')<>'Y'

	     UNION ALL

		SELECT newsFeederMsg FROM message 
			 WHERE newsFeederMsg IS NOT NULL AND  
				agentId in (select parentId from agentMaster where agentId = @agentId) 
			 AND ISNULL(isActive, 'Active') = 'Active' AND ISNULL(isDeleted,'')<>'Y'

*/
		-->> News for all 

		DECLARE @agentNature AS VARCHAR(50) = null
		if @agentId is not null
			SELECT @agentNature = agentRole FROM agentMaster with(nolock) where agentId = @agentId

		-->> all
		select newsFeederMsg from [message] WITH(NOLOCK)
		where newsFeederMsg is not null 
		and countryId is null 
		and agentId is null 
		and (msgType ='B' or msgType = @agentNature)
		and ISNULL(isDeleted,'N') = 'N' 
		and isnull(isActive,'Active') = 'Active'

		union all

		-->> country specific
		select newsFeederMsg from [message] WITH(NOLOCK)
		where newsFeederMsg  is not null  
		and countryId = @countryId 
		and agentId is null  
		and (msgType = 'B' or msgType = @agentNature)
		and ISNULL(isDeleted,'N') = 'N' 
		and isnull(isActive,'Active') = 'Active'

		union all

		-->> country & agent specific
		select newsFeederMsg from [message] WITH(NOLOCK)
		where newsFeederMsg is not null 
		and countryId = @countryId 
		and agentId = @agentId 
		and (msgType = 'B' or msgType = @agentNature)
		and ISNULL(isDeleted,'N') = 'N' 
		and isnull(isActive,'Active') = 'Active'

	END	

	IF @flag IN ('i', 'u', 'd')
	BEGIN
		IF @flag IN ('d')
		BEGIN
			SELECT @headMsg = headMsg
				, @commonMsg = commonMsg
				, @countrySpecificMsg = countrySpecificMsg
				, @promotionalMsg = promotionalMsg
				, @newsFeederMsg = newsFeederMsg 
			FROM message WITH(NOLOCK) WHERE msgId = @msgId
		END
		IF @headMsg IS NOT NULL
			SET @tableAlias = 'Head Message'
		ELSE IF @commonMsg IS NOT NULL
			SET @tableAlias = 'Common Message'
		ELSE IF @promotionalMsg IS NOT NULL
			SET @tableAlias = 'Promotional Message'
		ELSE IF @countrySpecificMsg IS NOT NULL
			SET @tableAlias = 'Country Specific Message'
		ELSE IF @newsFeederMsg IS NOT NULL
			SET @tableAlias = 'News Feeder Message'
	END

	IF @flag = 'i'
	BEGIN
		--IF EXISTS(SELECT 'X' FROM message WHERE countryId = @countryId AND commonMsg IS NOT NULL AND @msgType IS NULL AND @commonMsg IS NOT NULL)
		--BEGIN
		--	EXEC proc_errorHandler 1, 'Message Setup already done for this country', @msgId
		--	RETURN
		--END
		--IF EXISTS(SELECT 'X' FROM message WHERE countryId = @countryId AND msgType = @msgType AND countrySpecificMsg IS NOT NULL AND @countrySpecificMsg IS NOT NULL) 
		--BEGIN
		--	EXEC proc_errorHandler 1, 'Message Setup already done for this country and message type', @msgId
		--	RETURN
		--END
		--IF EXISTS(SELECT 'X' FROM message WHERE agentId = @agentId AND msgType = @msgType AND promotionalMsg IS NOT NULL AND @promotionalMsg IS NOT NULL)
		--BEGIN
		--	EXEC proc_errorHandler 1, 'Message Setup already done for this agent and message type', @msgId
		--	RETURN
		--END
		IF EXISTS(
			SELECT 'X' FROM message WHERE msgType = @msgType 
			AND ISNULL(countryId, 0) = ISNULL(@countryId, ISNULL(countryId, 0)) 
			AND ISNULL(agentId, 0) = ISNULL(@agentId, ISNULL(agentId, 0))
			AND rCountry = @rCountry 
			AND ISNULL(rAgent, '') = ISNULL(@rAgent, ISNULL(rAgent, '')) 
			AND ISNULL(transactionType, '') = ISNULL(@transactionType, ISNULL(transactionType, '')) 
			AND ISNULL(isDeleted, 'N') = 'N'
		)
		BEGIN
			EXEC proc_errorHandler 1, 'Message Setup already done', @msgId
			RETURN	
		END

		BEGIN TRANSACTION

			INSERT INTO [message] (
				 countryId
				,agentId
				,headMsg
				,commonMsg
				,countrySpecificMsg
				,promotionalMsg
				,newsFeederMsg
				,isActive
				,msgType
				,createdBy
				,createdDate
				,userType
				,transactionType
				,rCountry
				,rAgent
				,branchId
				

				
			)
			SELECT
				 @countryId
				,@agentId
				,@headMsg
				,@commonMsg
				,@countrySpecificMsg
				,@promotionalMsg
				,@newsFeederMsg
				,@isActive
				,@msgType
				,@user
				,GETDATE()
				,@userType
				,@transactionType
				,@rCountry
				,@rAgent
				,@branchId
				
				
			
			SET @msgId = SCOPE_IDENTITY()
			SET @modType = 'Insert'
			
			EXEC [dbo].proc_GetColumnToRow  @logParamMain, @logIdentifier, @msgId , @newValue OUTPUT
			INSERT INTO #msg(errorCode, msg, id)
			EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @msgId, @user, @oldValue, @newValue
			IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
			BEGIN
				IF @@TRANCOUNT > 0
				ROLLBACK TRANSACTION
				EXEC proc_errorHandler 1, 'Failed to add new record.', @msgId
				RETURN
			END

		IF @@TRANCOUNT > 0
		COMMIT TRANSACTION
		EXEC proc_errorHandler 0, 'Record has been added successfully.', @msgId

	END

	ELSE IF @flag = 'a'
	BEGIN
		SELECT * FROM message WITH(NOLOCK) WHERE msgId = @msgId
	END
	
	ELSE IF @flag = 'populateAgent'
	BEGIN
		SELECT agentId,agentName 
		FROM agentMaster WITH(NOLOCK) WHERE agentRole = @msgType and isnull(isDeleted,'N')<>'Y'
		ORDER BY agentName 
	END
	
	ELSE IF @flag = 'u'
	BEGIN
	
	IF EXISTS(
			SELECT 'X' FROM message WHERE msgType = @msgType 
			AND ISNULL(countryId, 0) = ISNULL(@countryId, ISNULL(countryId, 0)) 
			AND ISNULL(agentId, 0) = ISNULL(@agentId, ISNULL(agentId, 0))
			AND rCountry = @rCountry 
			AND ISNULL(rAgent, '') = ISNULL(@rAgent, ISNULL(rAgent, '')) 
			AND ISNULL(transactionType, '') = ISNULL(@transactionType, ISNULL(transactionType, '')) 
			AND ISNULL(isDeleted, 'N') = 'N' AND msgId <> @msgId
		)
		BEGIN
			EXEC proc_errorHandler 1, 'Message Setup already done', @msgId
			RETURN	
		END
		
		BEGIN TRANSACTION
			UPDATE message SET
				 countryId = @countryId
				,agentId = @agentId
				,headMsg = @headMsg
				,commonMsg = @commonMsg
				,countrySpecificMsg = @countrySpecificMsg
				,promotionalMsg = @promotionalMsg
				,newsFeederMsg = @newsFeederMsg
				,isActive = @isActive
				,msgType = @msgType
				,modifiedBy = @user
				,modifiedDate = GETDATE()
				,userType = @userType
				,transactionType = @transactionType
				,rCountry = @rCountry
				,rAgent = @rAgent
				,branchId = @branchId
			WHERE msgId = @msgId
			EXEC [dbo].proc_GetColumnToRow  @logParamMain, @logIdentifier, @msgId, @newValue OUTPUT
			INSERT INTO #msg(errorCode, msg, id)			
			EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @msgId, @user, @oldValue, @newValue
			IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
			BEGIN
				IF @@TRANCOUNT > 0
				ROLLBACK TRANSACTION
				EXEC proc_errorHandler 1, 'Failed to update record.', @msgId
				RETURN
			END
		IF @@TRANCOUNT > 0
		COMMIT TRANSACTION
		EXEC proc_errorHandler 0, 'Record updated successfully.', @msgId
	END

	ELSE IF @flag = 'd'
	BEGIN
		BEGIN TRANSACTION
			UPDATE message SET
				isDeleted =	'Y'
				,modifiedDate  = GETDATE()
				,modifiedBy	= @user
			WHERE msgId	= @msgId
			SET	@modType = 'Delete'
			EXEC [dbo].proc_GetColumnToRow	@logParamMain, @logIdentifier,	@msgId,	@oldValue OUTPUT
			INSERT INTO	#msg(errorCode,	msg, id)
			EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias,	 @msgId, @user,	@oldValue, @newValue
			IF EXISTS (SELECT 'x' FROM #msg	WHERE errorCode	<> '0')
			BEGIN
					IF @@TRANCOUNT > 0
					ROLLBACK TRANSACTION
					EXEC proc_errorHandler 1, 'Failed to delete	record.', @msgId
					RETURN
				END
			IF @@TRANCOUNT > 0
			COMMIT TRANSACTION
		EXEC proc_errorHandler 0, 'Record deleted successfully.', @msgId
	END	  

	ELSE IF @flag IN ('s1')			--Common Message
	BEGIN
		IF @sortBy IS NULL
			SET @sortBy = 'msgId'
		IF @sortOrder IS NULL
			SET @sortOrder = 'ASC'
		SET @table = '(
				SELECT
					 main.msgId
					,main.countryId
					,countryName = ISNULL(cm.countryName, ''All'')
					,main.agentId 
					,agentName = ISNULL(am.agentName, ''All'')
					,main.headMsg
					,main.commonMsg
					,main.countrySpecificMsg
					,main.promotionalMsg
					,main.newsFeederMsg
					,main.isActive
					,main.msgType
					,main.createdBy
					,main.createdDate
					,main.isDeleted
				FROM message main WITH(NOLOCK)
				LEFT JOIN countryMaster cm WITH(NOLOCK) ON main.countryId = cm.countryId
				LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId				
					WHERE main.commonMsg IS NOT NULL 
					) x'
	END
	
	ELSE IF @flag IN ('s2')		--countrySpecificMsg
	BEGIN
		IF @sortBy IS NULL
			SET	@sortBy	= 'msgId'
		IF @sortOrder IS NULL
			SET	@sortOrder = 'ASC'
		SET	@table = '(
				SELECT
					 main.msgId
					,main.countryId
					,CountryName =  CASE WHEN SC.countryName IS NULL  THEN ''ALL'' ELSE SC.countryName END
				     ,rCountry = CASE WHEN RC.countryName IS NULL THEN  ''ALL'' ELSE RC.countryName END
					,main.agentId
					,AgentName =  CASE WHEN SA.agentName IS NULL THEN ''ALL'' ELSE SA.agentName  END
				     ,rAgent = CASE WHEN RA.agentName IS NULL THEN ''ALL'' ELSE RA.agentName END
					,main.headMsg
					,main.commonMsg
					,main.countrySpecificMsg
					,main.promotionalMsg
					,main.newsFeederMsg
					,main.isActive
					,msgType = CASE	WHEN main.msgType =	''S'' THEN ''Send''	
									WHEN main.msgType =	''R'' THEN ''Receive''
									WHEN main.msgType =	''B'' THEN ''Both''
									ELSE '''' END
					,main.createdBy
					,main.createdDate
					,main.isDeleted
					,main.branchId 
					,branchName = ISNULL(SA.agentName, ''All'')
				FROM message main WITH(NOLOCK)

				LEFT JOIN countryMaster	sc WITH(NOLOCK) ON main.countryId =	sc.countryId
			    LEFT JOIN countryMaster Rc WITH(NOLOCK) ON main.rCountry =	RC.countryId
				LEFT JOIN agentMaster SA WITH(NOLOCK) ON main.agentId =	SA.agentId
				LEFT JOIN agentMaster RA WITH(NOLOCK) ON main.rAgent =	RA.agentId
			
				
				WHERE main.countrySpecificMsg IS NOT NULL 
				) x'
				
				
				SET @sql_filter = ''
		SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
		
		IF @countryName IS NOT NULL
			SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
			
		IF @agentName IS NOT NULL
			SET @sql_filter = @sql_filter + ' AND agentName LIKE ''%' + @agentName + '%'''
			
		IF @rCountry IS NOT NULL
			SET @sql_filter = @sql_filter + ' AND rCountry LIKE ''%' + @rCountry + '%'''
			
		IF @rAgent IS NOT NULL
			SET @sql_filter = @sql_filter + ' AND rAgent LIKE ''%' + @rAgent + '%'''
			
			  print @table

			 SET @select_field_list ='
			 msgId
			,countryId
			,countryName
			,rcountry
			,agentId 
			,agentName
			, ragent
			,headMsg
			,commonMsg
			,countrySpecificMsg
			,promotionalMsg
			,newsFeederMsg
			,isActive
			,msgType
			,createdBy
			,createdDate
			,isDeleted '
			
		EXEC dbo.proc_paging
			 @table
			,@sql_filter
			,@select_field_list
			,@extra_field_list
			,@sortBy
			,@sortOrder
			,@pageSize
			,@pageNumber

		

	END			  	
	
	ELSE IF @flag IN ('s3')		--promotionalMsg
	BEGIN
		IF @sortBy IS NULL
			SET @sortBy = 'msgId'
		IF @sortOrder IS NULL
			SET @sortOrder = 'ASC'
		SET @table = '(
				SELECT
					 main.msgId
					,main.countryId
					,countryName = cm.countryName
					,main.agentId
					,agentName = am.agentName
					,main.headMsg
					,main.commonMsg
					,main.countrySpecificMsg
					,main.promotionalMsg
					,main.newsFeederMsg
					,main.isActive
					,msgType = CASE WHEN main.msgType = ''S'' THEN ''Send'' 
									WHEN main.msgType = ''R'' THEN ''Receive''
									WHEN main.msgType =	''B'' THEN ''Both''
									ELSE '''' END
					,main.createdBy
					,main.createdDate
					,main.isDeleted
				FROM message main WITH(NOLOCK)
				LEFT JOIN countryMaster cm WITH(NOLOCK) ON main.countryId = cm.countryId
				LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId
				WHERE main.promotionalMsg IS NOT NULL 
					) x'
	END
	
	ELSE IF @flag IN ('s4')     --head msg
	BEGIN
		IF @sortBy IS NULL
			SET @sortBy = 'msgId'
		IF @sortOrder IS NULL
			SET @sortOrder = 'ASC'
		SET @table = '(
				SELECT
					 main.msgId
					,main.countryId
					,countryName = ISNULL(cm.countryName, ''All'')
					,main.agentId
					,agentName = am.agentName
					,main.headMsg
					,main.commonMsg
					,main.countrySpecificMsg
					,main.promotionalMsg
					,main.newsFeederMsg
					,main.isActive
					,main.msgType
					,main.createdBy
					,main.createdDate
					,main.isDeleted
				FROM message main WITH(NOLOCK)
				LEFT JOIN countryMaster cm WITH(NOLOCK) ON main.countryId = cm.countryId
				LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId
					WHERE main.headMsg IS NOT NULL 
					) x'
	END
	
	ELSE IF @flag IN ('s5')		--newsfeeder
	BEGIN
		IF @sortBy IS NULL
			SET @sortBy = 'msgId'
		IF @sortOrder IS NULL
			SET @sortOrder = 'ASC'
		SET @table = '(
				SELECT
					 main.msgId
					,main.countryId
					,countryName = ISNULL(cm.countryName, ''All'')
					,main.agentId 
					,agentName = ISNULL(am.agentName, ''All'')			
					,main.headMsg
					,main.commonMsg
					,main.countrySpecificMsg
					,main.promotionalMsg
					,main.newsFeederMsg
					,main.isActive
					,userType = isnull(sd.detailDesc,''All'') 
					,msgType = CASE WHEN main.msgType = ''S'' THEN ''Send'' 
									WHEN main.msgType = ''R'' THEN ''Receive''
									WHEN main.msgType =	''B'' THEN ''Both''
									ELSE '''' END
					,main.createdBy
					,main.createdDate
					,main.isDeleted
					,main.branchId 
					,branchName = ISNULL(am1.agentName, ''All'')
					,isActiveF = case when main.isActive = ''Active'' then ''Y'' when main.isActive = ''Inactive'' then ''N'' else NULL end
					,userTypeF = userType					
				FROM message main WITH(NOLOCK)
				LEFT JOIN countryMaster cm WITH(NOLOCK) ON main.countryId = cm.countryId
				LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId
				LEFT JOIN staticDatavalue sd ON sd.detailTitle = main.userType
				left join agentmaster am1 with(nolock) on main.branchId= am1.agentId
					WHERE main.newsFeederMsg IS NOT NULL 
					) x'
	END
	
	IF @flag IN('s1','s3','s4','s5')
	BEGIN
		SET @sql_filter = ''
		SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
		
		IF @countryName IS NOT NULL
			SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
			
		IF @agentName IS NOT NULL
			SET @sql_filter = @sql_filter + ' AND agentName LIKE ''%' + @agentName + '%'''		  

		IF @flag='s5'
		BEGIN			

			if @branchName is not null or @branchName <> ''
				SET @sql_filter = @sql_filter + ' AND branchName LIKE ''%' + @branchName + '%'''	
			
			if @userType is not null or @userType <> ''
				SET @sql_filter = @sql_filter + ' AND userTypeF = ''' + @userType + ''''

			if @isActive is not null or @isActive <> ''
				SET @sql_filter = @sql_filter + ' AND isActiveF = ''' + @isActive + ''''


			 SET @select_field_list ='
					 msgId
					,countryId
					,countryName
					,agentId 
					,agentName
					,headMsg
					,commonMsg
					,countrySpecificMsg
					,promotionalMsg
					,newsFeederMsg
					,isActive
					,userType
					,msgType
					,createdBy
					,createdDate
					,isDeleted
					,branchId
					,branchName '
		END
		ELSE
		BEGIN
			SET @select_field_list ='
			 msgId
			,countryId
			,countryName
			,agentId 
			,agentName
			,headMsg
			,commonMsg
			,countrySpecificMsg
			,promotionalMsg
			,newsFeederMsg
			,isActive
			,msgType
			,createdBy
			,createdDate
			,isDeleted '
		END

		EXEC dbo.proc_paging
			 @table
			,@sql_filter
			,@select_field_list
			,@extra_field_list
			,@sortBy
			,@sortOrder
			,@pageSize
			,@pageNumber
	END

	if @flag='userType'
	begin
		select null VALUE ,'All' [TEXT]
		union all
		select detailTitle,detailDesc from staticDataValue with(nolock) where typeId=7300
	end

END TRY
BEGIN CATCH
     IF @@TRANCOUNT > 0
     ROLLBACK TRANSACTION
     DECLARE @errorMessage VARCHAR(MAX)
     SET @errorMessage = ERROR_MESSAGE()
     EXEC proc_errorHandler 1, @errorMessage, @msgId
END CATCH






GO
