116 lines
3.9 KiB
VB.net
116 lines
3.9 KiB
VB.net
Imports DigitalData.GUIs.ZooFlow.Base
|
|
Imports DigitalData.Modules.Logging
|
|
|
|
Public Class ClassHelpers
|
|
Inherits BaseClass
|
|
|
|
Public Sub New(pLogConfig As LogConfig)
|
|
MyBase.New(pLogConfig)
|
|
End Sub
|
|
|
|
Public Function GetValueFromDatatable(pDatatable As DataTable, pFilterString As String, pCheckColumn As String, pSortString As String) As Object
|
|
Try
|
|
If pDatatable Is Nothing OrElse pDatatable.Rows.Count = 0 Then
|
|
Return Nothing
|
|
End If
|
|
|
|
Dim oDataView As DataView = pDatatable.DefaultView
|
|
oDataView.RowFilter = pFilterString
|
|
|
|
If oDataView.Count > 1 Then
|
|
Logger.Warn("Multiple Results For Filter [{0}] and Column [{1}].", pFilterString, pCheckColumn)
|
|
Return Nothing
|
|
End If
|
|
|
|
If oDataView.Count = 0 Then
|
|
Logger.Warn("No Results For Filter [{0}] and Column [{1}].", pFilterString, pCheckColumn)
|
|
Return Nothing
|
|
End If
|
|
|
|
Dim oView As DataRowView = oDataView.Item(0)
|
|
Dim oRow As DataRow = oView.Row
|
|
|
|
Try
|
|
Return oRow.Item(pCheckColumn)
|
|
Catch ex As Exception
|
|
Logger.Warn("Datatable with Filter [{0}] does not contain Column [{1}]", pFilterString, pCheckColumn)
|
|
Logger.Error(ex)
|
|
Return Nothing
|
|
End Try
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
Public Function GetFilteredDatatable(pDatatable As DataTable, pFilterString As String, pSortString As String) As DataTable
|
|
Try
|
|
If pDatatable.Rows.Count = 0 Then
|
|
Return Nothing
|
|
End If
|
|
|
|
Dim oSelectedRows = pDatatable.Select(pFilterString, pSortString)
|
|
|
|
If oSelectedRows.Count = 0 Then
|
|
Return Nothing
|
|
End If
|
|
|
|
Dim oFilteredTable As DataTable = New DataTable()
|
|
oFilteredTable = oSelectedRows.CopyToDataTable()
|
|
Return oFilteredTable
|
|
|
|
Catch ex As Exception
|
|
Logger.Error(ex)
|
|
Return Nothing
|
|
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function FileExistsinDropTable(Filename As String) As Date
|
|
Dim oSQL As String
|
|
Dim oHash As String
|
|
Dim oFilesystem As New DigitalData.Modules.Filesystem.File(My.LogConfig)
|
|
|
|
Try
|
|
If Filename.Contains("'") Then
|
|
Filename = Filename.Replace("'", "''")
|
|
End If
|
|
|
|
Try
|
|
oHash = oFilesystem.GetChecksum(Filename)
|
|
Catch ex As Exception
|
|
oHash = ""
|
|
End Try
|
|
|
|
oSQL = "SELECT * FROM TBGI_FILES_USER WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') AND WORKED = 0 ORDER BY ADDED_WHEN"
|
|
Dim oResult As DataTable = My.DatabaseECM.GetDatatable(oSQL)
|
|
|
|
If oResult Is Nothing Then
|
|
Return Nothing
|
|
End If
|
|
|
|
If oResult.Rows.Count = 0 Then
|
|
oSQL = "SELECT * FROM TBGI_HISTORY WHERE UPPER(FILE_HASH) = UPPER('" & oHash & "') ORDER BY ADDED_WHEN"
|
|
oResult = My.DatabaseECM.GetDatatable(oSQL)
|
|
|
|
If oResult Is Nothing Then
|
|
Return Nothing
|
|
End If
|
|
|
|
If oResult.Rows.Count = 0 Then
|
|
Return Nothing
|
|
Else
|
|
Dim oFirstRow As DataRow = oResult.Rows.Item(0)
|
|
Return oFirstRow.Item("ADDED_WHEN")
|
|
End If
|
|
Else
|
|
Dim oFirstRow As DataRow = oResult.Rows.Item(0)
|
|
Return oFirstRow.Item("ADDED_WHEN")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Error in FileExistsinDropTable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & oSQL, MsgBoxStyle.Critical)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
End Class
|