USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_LoginViewLogs] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE proc [dbo].[proc_LoginViewLogs]
@flag VARCHAR(50)
,@Id BIGINT = NULL
,@logType VARCHAR(50) = NULL
,@IP VARCHAR(50) = NULL
,@agent VARCHAR(50) = NULL
,@reason VARCHAR(50) = NULL
,@createdBy VARCHAR(30) = NULL
,@createdDate DATE = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(50) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
,@user VARCHAR(50) = NULL
,@isLocked CHAR(1) = NULL
AS
SET NOCOUNT ON;
IF @flag = 's'
BEGIN
DECLARE
@selectFieldList VARCHAR(MAX)
,@extraFieldList VARCHAR(MAX)
,@table VARCHAR(MAX)
,@sqlFilter VARCHAR(MAX)
SET @sortBy = 'createdDate'
SET @sortOrder = 'DESC'
DECLARE @hasRight CHAR(1), @ViewHOLoginLogsFunctionId VARCHAR(50),@SubSql varchar(max)
SET @ViewHOLoginLogsFunctionId = '10121210'
SELECT @hasRight = dbo.FNAHasRight(@user, @ViewHOLoginLogsFunctionId)
if @hasRight ='Y'
Set @SubSql = ' where 1=1 '
else
Set @SubSql = ' where 1=1 and b.agentId <> 1001 '
SET @table = '(
SELECT
rowId
,al.createdDate
,B.agentCode
,B.employeeId
,B.userName createdBy
,IP
,Reason
,logType
,al.userData
,B.isLocked
,b.userId
,lockStatus = CASE WHEN ISNULL(B.isLocked, ''N'') = ''N'' THEN ''No''
WHEN ISNULL(B.isLocked, ''N'') = ''Y'' THEN ''Yes | Unlock | View Reason'' END
FROM LoginLogs al WITH(NOLOCK)
LEFT JOIN agentMaster A ON al.agentId = A.agentId
LEFT JOIN applicationUsers B on B.UserName=al.CreatedBy'+ @SubSql +''
SET @sqlFilter = ''
SET @selectFieldList = '
rowId
, createdDate
, agentCode
, employeeId
, createdBy
, IP
, Reason
, logType
, userData
, isLocked
, lockStatus
,userId
'
IF @logType IS NOT NULL
SET @table = @table + ' AND logType = ''' + @logType + ''''
IF @createdDate IS NOT NULL
SET @table = @table + ' AND cast(al.createdDate as date) = ''' + cast(@createdDate as varchar(11)) + ''''
IF @IP IS NOT NULL
SET @table = @table + ' AND IP = ''' + @IP + ''''
IF @agent IS NOT NULL
SET @table = @table + ' AND A.agentCode LIKE ''' + @agent + '%'''
IF @reason IS NOT NULL
SET @table = @table + ' AND Reason LIKE ''' + @reason + '%'''
IF @createdBy IS NOT NULL
SET @table = @table + ' AND B.userName = ''' + @createdBy + ''''
IF @isLocked IS NOT NULL
SET @table = @table + ' AND ISNULL(isLocked, ''N'') = ''' + @isLocked + ''''
SET @table = @table +') x '
SET @extraFieldList = ','''
SET @extraFieldList = @extraFieldList + ' ''[edit]'
EXEC dbo.proc_paging
@table
,@sqlFilter
,@selectFieldList
,@extraFieldList
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
ELSE IF @flag = 'type'
BEGIN
SELECT * FROM (
SELECT NULL [value], 'All' [text] UNION ALL
SELECT 'Login' [0], 'Login' [1] UNION ALL
SELECT 'Login fails' [0], 'Login fails' [1] UNION ALL
SELECT 'Logout' [0], 'Logout' [1]
) x ORDER BY CASE WHEN x.[value] IS NULL THEN CAST(x.[value] AS VARCHAR) ELSE x.[text] END
RETURN
END
GO