Cleaned up filter function
This commit is contained in:
@@ -499,12 +499,13 @@ Public Class mgrMonitorList
|
|||||||
Private Shared Function BuildFilterQuery(ByVal oTagFilters As List(Of clsTag), ByVal hshStringFilters As Hashtable, eFilterType As frmFilter.eFilterType, ByRef hshParams As Hashtable) As String
|
Private Shared Function BuildFilterQuery(ByVal oTagFilters As List(Of clsTag), ByVal hshStringFilters As Hashtable, eFilterType As frmFilter.eFilterType, ByRef hshParams As Hashtable) As String
|
||||||
Dim sSQL As String = String.Empty
|
Dim sSQL As String = String.Empty
|
||||||
Dim iCounter As Integer = 0
|
Dim iCounter As Integer = 0
|
||||||
|
Dim sBaseSelect As String = "MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly, BackupLimit, CleanFolder, Parameter FROM monitorlist"
|
||||||
|
|
||||||
Select Case eFilterType
|
Select Case eFilterType
|
||||||
Case frmFilter.eFilterType.NoFilter
|
Case frmFilter.eFilterType.NoFilter
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly, BackupLimit, CleanFolder, Parameter FROM monitorlist ORDER BY Name Asc"
|
sSQL = "SELECT " & sBaseSelect & " ORDER BY Name Asc"
|
||||||
Case frmFilter.eFilterType.FieldAnd, frmFilter.eFilterType.FieldOr
|
Case frmFilter.eFilterType.FieldAnd, frmFilter.eFilterType.FieldOr
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly, BackupLimit, CleanFolder, Parameter FROM monitorlist"
|
sSQL = "SELECT " & sBaseSelect
|
||||||
|
|
||||||
If hshStringFilters.Count > 0 Then
|
If hshStringFilters.Count > 0 Then
|
||||||
sSQL &= " WHERE ("
|
sSQL &= " WHERE ("
|
||||||
@@ -526,7 +527,7 @@ Public Class mgrMonitorList
|
|||||||
End If
|
End If
|
||||||
sSQL &= " ORDER BY Name Asc"
|
sSQL &= " ORDER BY Name Asc"
|
||||||
Case frmFilter.eFilterType.AnyTag
|
Case frmFilter.eFilterType.AnyTag
|
||||||
sSQL = "SELECT DISTINCT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly, BackupLimit, CleanFolder, Parameter FROM monitorlist "
|
sSQL = "SELECT DISTINCT " & sBaseSelect
|
||||||
sSQL &= " NATURAL JOIN gametags WHERE gametags.TagID IN ("
|
sSQL &= " NATURAL JOIN gametags WHERE gametags.TagID IN ("
|
||||||
|
|
||||||
For Each oTag As clsTag In oTagFilters
|
For Each oTag As clsTag In oTagFilters
|
||||||
@@ -538,7 +539,7 @@ Public Class mgrMonitorList
|
|||||||
sSQL = sSQL.TrimEnd(",")
|
sSQL = sSQL.TrimEnd(",")
|
||||||
sSQL &= ") ORDER BY Name Asc"
|
sSQL &= ") ORDER BY Name Asc"
|
||||||
Case frmFilter.eFilterType.AllTags
|
Case frmFilter.eFilterType.AllTags
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly, BackupLimit, CleanFolder, Parameter FROM monitorlist WHERE MonitorID IN "
|
sSQL = "SELECT " & sBaseSelect & " WHERE MonitorID IN "
|
||||||
|
|
||||||
For Each oTag As clsTag In oTagFilters
|
For Each oTag As clsTag In oTagFilters
|
||||||
sSQL &= "(SELECT MonitorID FROM gametags WHERE monitorlist.MonitorID = gametags.MonitorID And TagID = @TagID" & iCounter & ")"
|
sSQL &= "(SELECT MonitorID FROM gametags WHERE monitorlist.MonitorID = gametags.MonitorID And TagID = @TagID" & iCounter & ")"
|
||||||
@@ -551,7 +552,7 @@ Public Class mgrMonitorList
|
|||||||
|
|
||||||
sSQL &= " ORDER BY Name Asc"
|
sSQL &= " ORDER BY Name Asc"
|
||||||
Case frmFilter.eFilterType.NoTags
|
Case frmFilter.eFilterType.NoTags
|
||||||
sSQL = "SELECT MonitorID, Name, Process, Path, AbsolutePath, FolderSave, FileType, TimeStamp, ExcludeList, ProcessPath, Icon, Hours, Version, Company, Enabled, MonitorOnly, BackupLimit, CleanFolder, Parameter FROM monitorlist WHERE MonitorID NOT IN (SELECT MonitorID FROM gametags) ORDER BY Name Asc"
|
sSQL = "SELECT " & sBaseSelect & " WHERE MonitorID NOT IN (SELECT MonitorID FROM gametags) ORDER BY Name Asc"
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
Return sSQL
|
Return sSQL
|
||||||
|
|||||||
Reference in New Issue
Block a user