166 lines
7.1 KiB
VB.net
166 lines
7.1 KiB
VB.net
Imports System.IO
|
|
Imports System.Globalization
|
|
|
|
Public Class ClassHelper
|
|
Public Shared Function Convert_Date(input As String, format As String)
|
|
Try
|
|
Dim dt As Date = CDate(input)
|
|
Dim result = dt.ToString(format, CultureInfo.InvariantCulture)
|
|
Return result
|
|
Catch ex As Exception
|
|
ClassLogger.Add("Unexpected Error while converting value '" & input & "' to date....." & ex.Message, False)
|
|
Return input
|
|
End Try
|
|
|
|
End Function
|
|
Public Shared Function CheckDBNull(input As Object, back_Value As String)
|
|
If IsDBNull(input) Then
|
|
If back_Value = "String" Then
|
|
Return ""
|
|
Else
|
|
Return True
|
|
End If
|
|
Else
|
|
If back_Value = "String" Then
|
|
Return input.ToString
|
|
Else
|
|
Return False
|
|
End If
|
|
End If
|
|
End Function
|
|
Public Shared Function Get_TempFilename()
|
|
'Eine tempfile generieren
|
|
Dim tempFilename = My.Computer.FileSystem.GetTempFileName()
|
|
'Nur den Filenamen ohne Erweiterung
|
|
Dim tempName = Path.GetDirectoryName(tempFilename) & "\" & Path.GetFileNameWithoutExtension(tempFilename)
|
|
'tempfile lsöchen
|
|
If My.Computer.FileSystem.FileExists(tempFilename) Then
|
|
My.Computer.FileSystem.DeleteFile(tempFilename)
|
|
End If
|
|
Return tempName
|
|
End Function
|
|
Public Shared Function CheckFileIsInUse(ByVal filename) As Boolean
|
|
Dim fs As Integer = FreeFile()
|
|
Dim inuse As Boolean = False
|
|
If File.Exists(filename) Then
|
|
Try
|
|
Using f As New IO.FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
|
|
' thisFileInUse = False
|
|
End Using
|
|
Catch
|
|
inuse = True
|
|
End Try
|
|
|
|
Try
|
|
FileOpen(fs, filename, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
|
|
Catch ex As Exception
|
|
ClassLogger.Add("File " & filename & " inuse or not able to open - message: " & ex.Message, True)
|
|
inuse = True
|
|
Finally
|
|
FileClose(fs)
|
|
End Try
|
|
End If
|
|
Return inuse
|
|
End Function
|
|
Public Shared Function Versionierung_Datei(Dateiname As String)
|
|
Dim extension
|
|
Dim _NewFileString
|
|
Try
|
|
Dim version As Integer = 1
|
|
|
|
Dim Stammname As String = Path.GetDirectoryName(Dateiname) & "\" & Path.GetFileNameWithoutExtension(Dateiname)
|
|
extension = Path.GetExtension(Dateiname)
|
|
|
|
Dim _neuername As String = Stammname
|
|
'Dim MoveFilename As String = DATEINAME.Replace(element.Value, "")
|
|
'Überprüfen ob File existiert
|
|
If File.Exists(_neuername & extension) = False Then
|
|
_NewFileString = _neuername
|
|
Else
|
|
Do While File.Exists(_neuername & extension)
|
|
version = version + 1
|
|
_neuername = Stammname & "~" & version
|
|
_NewFileString = _neuername
|
|
Loop
|
|
End If
|
|
Return _NewFileString & extension
|
|
Catch ex As Exception
|
|
ClassLogger.Add(" - Error in versioning file - error: " & vbNewLine & ex.Message)
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in versioning file:")
|
|
Return ""
|
|
End Try
|
|
|
|
End Function
|
|
'' <summary>
|
|
''' Ersetzt alle nicht zulässigen Zeichen im angegebenen Dateinamen
|
|
''' </summary>
|
|
''' <param name="sFilename">Dateiname ohne Pfadangabe</param>
|
|
''' <param name="sChar">Ersatzzeichen für alle unzulässigen Zeichen
|
|
''' im Dateinamen</param>
|
|
Public Shared Function CleanFilename(ByVal sFilename As String, _
|
|
Optional ByVal REPLACEChar As String = "") As String
|
|
|
|
' alle nicht zulässigen Zeichen ersetzen
|
|
Return System.Text.RegularExpressions.Regex.Replace( _
|
|
sFilename, "[?*^""<>|]", REPLACEChar)
|
|
End Function
|
|
Public Shared Sub File_open(RESULT_DOC_PATH As Object, DocID As String)
|
|
Try
|
|
If RESULT_DOC_PATH <> Nothing Then
|
|
Dim EXT = Path.GetExtension(RESULT_DOC_PATH)
|
|
EXT = EXT.Replace(".", "")
|
|
Dim sql = String.Format("SELECT VIEWER FROM TBPMO_DOC_USER_VIEW WHERE USER_ID = {0} AND UPPER(FILE_EXTENSION) = UPPER('{1}')", USER_GUID, EXT)
|
|
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql)
|
|
If DT.Rows.Count = 1 Then
|
|
Select Case DT.Rows(0).Item("VIEWER")
|
|
Case "DOC_VIEW"
|
|
Try
|
|
Dim DocView
|
|
DocView = Nothing
|
|
DocView = CreateObject("WMPViewXNG.Viewer")
|
|
' open the viewer
|
|
Dim viewer_string = RESULT_DOC_PATH.Substring(2)
|
|
DocView.ViewFile(viewer_string)
|
|
CURRENT_DOCVIEW_PATH = viewer_string
|
|
CURRENT_DOCVIEW = DocView
|
|
Catch ex As Exception
|
|
MsgBox("Unexpected Error in DocView Open:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
|
|
ClassLogger.Add("Error in DocView Open: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID, True)
|
|
File_SYSOPEN(RESULT_DOC_PATH, DocID)
|
|
End Try
|
|
End Select
|
|
Else
|
|
File_SYSOPEN(RESULT_DOC_PATH, DocID)
|
|
End If
|
|
Else
|
|
If LogErrorsOnly = False Then ClassLogger.Add(" >> RESULT_DOC_PATH IS NOTHING")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Unexpected Error in File_open:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
|
|
ClassLogger.Add("Error in File_open: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID, True)
|
|
End Try
|
|
End Sub
|
|
Private Shared Sub File_SYSOPEN(RESULT_DOC_PATH As Object, DocID As String)
|
|
Try
|
|
If RESULT_DOC_PATH <> Nothing Then
|
|
|
|
If System.IO.File.Exists(RESULT_DOC_PATH) = True Then
|
|
Process.Start(RESULT_DOC_PATH)
|
|
Else
|
|
MsgBox("File Does Not Exist!", MsgBoxStyle.Exclamation)
|
|
End If
|
|
|
|
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Unexpected Error in File_SYSOPEN:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
|
|
ClassLogger.Add("Error in File_SYSOPEN: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID, True)
|
|
End Try
|
|
|
|
End Sub
|
|
Shared Function Convert_Date_2_Form_Format(p1 As Date) As Date
|
|
Throw New NotImplementedException
|
|
End Function
|
|
|
|
End Class
|