This commit is contained in:
SchreiberM 2017-02-01 12:33:22 +01:00
parent 877eaa2411
commit 5023a28d75
52 changed files with 7752 additions and 3992 deletions

View File

@ -11,6 +11,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupWiX", "SetupWiX\SetupW
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RecordOrganizer_RightManager", "RecordOrganizer_RightManager\RecordOrganizer_RightManager.vbproj", "{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VERSION_CHECKER", "VERSION_CHECKER\VERSION_CHECKER.vbproj", "{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
CD_ROM|Any CPU = CD_ROM|Any CPU
@ -127,6 +129,31 @@ Global
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x86.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.CD_ROM|x86.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Debug|x86.ActiveCfg = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.DVD-5|x86.ActiveCfg = Debug|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Release|Any CPU.Build.0 = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.Release|x86.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}.SingleImage|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -129,6 +129,7 @@ Public Class ClassDragDrop
Return True
'Drop eines Outlook Attachments
End If
Catch ex As Exception
MsgBox("Unexpected Error in Drop_File: " & ex.Message, MsgBoxStyle.Critical)
End Try
@ -137,6 +138,7 @@ Public Class ClassDragDrop
Console.WriteLine(Wert)
ReDim Preserve files_dropped(0)
files_dropped(0) = "@SCAN@" & Wert
Return True
End If

View File

@ -88,20 +88,13 @@ Public Class ClassFolderWatcher
Else
Console.WriteLine("File existiert bereits")
End If
Create_USER_FILE_TABLE()
ClassHelper.Create_USER_FILE_TABLE()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei folder_watch_Created")
End Try
End Sub
Public Shared Sub Create_USER_FILE_TABLE()
Try
Dim sql = String.Format("SELECT * FROM TBPMO_FILES_USER WHERE (UPPER(USER_WORK) = UPPER('{0}')) AND WORKED = 0", USER_USERNAME)
Dim CURRENT_TBPMO_FILES_USER As DataTable = ClassDatabase.Return_Datatable(sql, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error while creating User_File_Table")
End Try
End Sub
Public Shared Function FileExistsinDropTable(Filename As String)
Dim check As String
Try
@ -117,7 +110,6 @@ Public Class ClassFolderWatcher
Public Shared Function Insert_USER_File(filename As String, handleType As String)
Try
Dim filename_only As String = Path.GetFileName(filename)
Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK,HANDLE_TYPE,FILENAME_ONLY) VALUES ('{0}','{1}','{2}','{3}')", filename, USER_USERNAME, handleType, filename_only)
Return ClassDatabase.Execute_non_Query(ins, True)
Catch ex As Exception
@ -128,7 +120,6 @@ Public Class ClassFolderWatcher
Public Shared Function DELETE_SCAN_File(filename As String)
Try
Dim filename_only As String = Path.GetFileName(filename)
Dim del As String = String.Format("DELETE FROM TBPMO_FILES_USER WHERE UPPER(FILENAME2WORK) = UPPER('{0}')", filename)
Return ClassDatabase.Execute_non_Query(del, True)
Catch ex As Exception
@ -145,7 +136,7 @@ Public Class ClassFolderWatcher
Return False
End Try
End Function
Public Shared Function Check_Scan_Files()
Try
Dim sql1 As String = String.Format("select * from TBPMO_FILES_USER where HANDLE_TYPE = 'SCAN' and WORKED = 0 AND UPPER(USER_WORK) = '{0}'", USER_USERNAME)

View File

@ -100,7 +100,6 @@ Public Class ClassHelper
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in versioning file:")
Return ""
End Try
End Function
'' <summary>
''' Ersetzt alle nicht zulässigen Zeichen im angegebenen Dateinamen
@ -292,4 +291,21 @@ Public Class ClassHelper
Return False
End Try
End Function
Public Shared Sub Create_USER_FILE_TABLE()
Try
Dim sql = String.Format("SELECT *, CONVERT(BIT,0) AS DELETE_FILE FROM TBPMO_FILES_USER WHERE (UPPER(USER_WORK) = UPPER('{0}')) AND WORKED = 0", USER_USERNAME)
CURRENT_TBPMO_FILES_USER = ClassDatabase.Return_Datatable(sql, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error while creating User_File_Table")
End Try
End Sub
Public Shared Function DELETE_PMO_FILE_USER(GUID As Integer)
Try
Dim del As String = String.Format("DELETE FROM TBPMO_FILES_USER WHERE GUID = {0}", GUID)
Return ClassDatabase.Execute_non_Query(del, True)
Catch ex As Exception
MsgBox("Unexpected Error in DELETE_PMO_FILE_USER: " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
End Class

View File

@ -1,6 +1,7 @@
Imports System.IO
Imports System.Globalization
Imports WINDREAMLib
Imports DD_LIB_Standards
Public Class ClassImport_Windream
Public Shared Function Import_File(QuellDatei_Path As String, DOCTYPE_ID As Integer)
@ -11,7 +12,7 @@ Public Class ClassImport_Windream
If Not IsNothing(DT_DOCTYPE) Then
Dim Targetpath As String = DT_DOCTYPE.Rows(0).Item("ZIEL_PFAD")
Dim Dokart As String = DT_DOCTYPE.Rows(0).Item("BEZEICHNUNG")
ClassWindream._WDObjekttyp = DT_DOCTYPE.Rows(0).Item("OBJEKTTYP")
clsWindream.MY_WDOBJECTTYPE = DT_DOCTYPE.Rows(0).Item("OBJEKTTYP")
'Den Namen der Dokumentart generieren
If ClassImport_Windream.Name_Generieren(DOCTYPE_ID) = False Then
@ -20,7 +21,7 @@ Public Class ClassImport_Windream
End If
'Die Datei nach windream importieren
Dim streamresult = ClassWindream.Stream_File(QuellDatei_Path, Targetpath)
Dim streamresult = clsWD_SET.Stream_File(QuellDatei_Path, Targetpath)
If streamresult = True Then
Dim sql As String = String.Format("SELECT DocID FROM VWPMO_DOC_SYNC WHERE UPPER(FULL_FILENAME) = UPPER('{0}') AND CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())", CURRENT_FILEIN_WD)
CURRENT_DOC_ID = ClassDatabase.Execute_Scalar(sql)
@ -43,9 +44,9 @@ Public Class ClassImport_Windream
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexvalue: " & idxvalue.ToString, False)
Count += 1
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
MsgBox("Unexpected Error in indexing file - See log", MsgBoxStyle.Critical)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in indexing '" & indexname & "') - Check logfile!")
err = True
Exit For
End If
@ -55,50 +56,29 @@ Public Class ClassImport_Windream
Return False
End If
'den Entity-Key auslesen
sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & ClassWindream._WDObjekttyp & "')"
sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & clsWindream.MY_WDOBJECTTYPE & "')"
dt = ClassDatabase.Return_Datatable(sql, True)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
Dim indexname = dt.Rows(0).Item("IDXNAME_ENTITYID").ToString
Dim idxvalue = CURRENT_ENTITY_ID
If LogErrorsOnly = False Then ClassLogger.Add(" >> Entity-ID: " & idxvalue.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
err = True
MsgBox("Unexpected Error in indexing file Entity - See log", MsgBoxStyle.Critical)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in indexing Entity-ID '" & indexname & "') - Check logfile!")
Return False
End If
indexname = dt.Rows(0).Item("IDXNAME_PARENTID").ToString
idxvalue = CURRENT_PARENT_ENTITY_ID
If LogErrorsOnly = False Then ClassLogger.Add(" >> Parent-ID: " & idxvalue.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
err = True
MsgBox("Unexpected Error in indexing file Parent-ID - See log", MsgBoxStyle.Critical)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in indexing Parent-ID '" & indexname & "') - Check logfile!")
Return False
End If
'####
''den Record-Key auslesen
'indexname = dt.Rows(0).Item("IDXNAME_RECORDID").ToString
'idxvalue = CURRENT_RECORD_ID
'If LogErrorsOnly = False Then ClassLogger.Add(" >> Record-ID: " & idxvalue.ToString, False)
'indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_FILEIN_WD, indexname, idxvalue)
'If indexierung_erfolgreich = False Then
' err = True
' MsgBox("Unexpected Error in indexing file Record-ID - See log", MsgBoxStyle.Critical)
' Return False
'End If
''den Doctype-Key auslesen
'indexname = dt.Rows(0).Item("IDXNAME_DOCTYPE").ToString
'idxvalue = CURRENT_DOKARTSTRING
'If LogErrorsOnly = False Then ClassLogger.Add(" >> Doctype: " & idxvalue.ToString, False)
'indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_FILEIN_WD, indexname, idxvalue)
'If indexierung_erfolgreich = False Then
' err = True
' MsgBox("Unexpected Error in indexing file Doctype - See log", MsgBoxStyle.Critical)
' Return False
'End If
'####
End If
End If
If indexierung_erfolgreich = True Then
@ -124,9 +104,6 @@ Public Class ClassImport_Windream
End Function
Public Shared Function Name_Generieren(DocTypeID As Integer)
If ClassWindream.Create_Session = False Then
Return False
End If
Try
Dim FILE_DELIMITER, VERSION_DELIMITER, _WDOBJECTTYPE, _NewFileString As String
@ -166,7 +143,7 @@ Public Class ClassImport_Windream
End If
Try
Select Case ClassWindream.WD_PATH_EXISTS(Zielordner.Substring(2))
Select Case clsWD_GET.WD_PATH_EXISTS(Zielordner.Substring(2))
Case False
Dim split() As String = Zielordner.Split("\")
Dim Path_Combined As String = ""
@ -174,9 +151,9 @@ Public Class ClassImport_Windream
Path_Combined &= s & "\"
If Path_Combined <> "W:\" Then
Try
Select Case ClassWindream.WD_PATH_EXISTS(Path_Combined.Substring(2))
Select Case clsWD_GET.WD_PATH_EXISTS(Path_Combined.Substring(2))
Case False
ClassWindream.oSession.GetNewWMObjectFS(2, Path_Combined.Substring(2), 0) 'WMEntityFolder,WMObjectEditModeNoEdit)
clsWindream.MY_WDSESSION.GetNewWMObjectFS(2, Path_Combined.Substring(2), 0) 'WMEntityFolder,WMObjectEditModeNoEdit)
Case -10
Return False
End Select
@ -189,6 +166,7 @@ Public Class ClassImport_Windream
End If
Next
Case -10
MsgBox("Attention: the folder of the doctype does not exist or there was an error while checking....", MsgBoxStyle.Critical)
Return False
End Select
Catch ex As Exception
@ -427,94 +405,12 @@ Public Class ClassImport_Windream
Try
'ungültige Zeichen entfernen
DATEINAME = ClassHelper.CleanFilename(DATEINAME, "")
Dim version As Integer = 2
Dim Stammname As String = DATEINAME.Replace(VERSION_DELIMITER, "")
Dim _neuername As String = DATEINAME.Replace(VERSION_DELIMITER, "")
'Dim MoveFilename As String = DATEINAME.Replace(element.Value, "")
_NewFileString = _neuername
Const WMCOMEventWMSessionNeedIndex = 1
'windream Objekte erstellen ohne Indexierungs-Event
ClassWindream.oSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False)
'Überprüfen ob File existiert
Dim FILE_EXISTS_IN_WD As Boolean
If LogErrorsOnly = False Then ClassLogger.Add(" >> Versuch auf die Datei in W: zuzugreifen und zu sperren...", False)
FILE_EXISTS_IN_WD = ClassWindream.oSession.WMObjectExists(WINDREAMLib.WMEntity.WMEntityDocument, _NewFileString.Substring(2) & extension, 0, 0)
Dim WMObject
If FILE_EXISTS_IN_WD = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Datei ist NICHT vorhanden, kann also einfach neu angelegt werden", False)
'==================================================================
' create an object
'==================================================================
Try
WMObject = ClassWindream.oSession.GetNewWMObjectFS(WINDREAMLib.WMEntity.WMEntityDocument, _NewFileString.Substring(2) & extension, 31)
Catch ex As Exception
ClassLogger.Add("Could not create the windremObject(File) '" & _NewFileString.Substring(2) & extension & "': " & ex.Message, True)
Return False
End Try
Else
' wenn auf die Datei zugeriffen werden konnte ist sie bereits vorhanden -> Datum anhängen
If LogErrorsOnly = False Then ClassLogger.Add(" >> Es konnte zugegriffen werden -> DATEI IST BEREITS VORHANDEN", False)
Dim msg = "Eine Datei mit identischem Namen existiert bereits! Wollen Sie die bestehende Datei ersetzen?"
If USER_LANGUAGE <> "de-DE" Then
msg = "There is already a file with the same name! Would You like to replace the file?"
End If
Dim result As MsgBoxResult
result = MessageBox.Show(msg, "File alredy exists:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
Try
If ClassWindream.Delete_WDFile(_NewFileString.Substring(2) & extension) = True Then
WMObject = ClassWindream.oSession.GetNewWMObjectFS(WINDREAMLib.WMEntity.WMEntityDocument, _NewFileString.Substring(2) & extension, 31)
Else
Return False
End If
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Creating WindreamObject:", ex.Message)
Return False
End Try
Else
Do While FILE_EXISTS_IN_WD = True
If LogErrorsOnly = False Then ClassLogger.Add(" >> Attention File '" & _neuername & extension & "' is existing!", False)
_neuername = Stammname & VERSION_DELIMITER & version
_NewFileString = _neuername
FILE_EXISTS_IN_WD = ClassWindream.oSession.WMObjectExists(WINDREAMLib.WMEntity.WMEntityDocument, _NewFileString.Substring(2) & extension, 0, 0)
version = version + 1
Loop
WMObject = ClassWindream.oSession.GetNewWMObjectFS(WINDREAMLib.WMEntity.WMEntityDocument, _NewFileString.Substring(2) & extension, 31)
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> WMObject created after versioning", False)
End If
ClassWindream.STREAM_OBJECT = Nothing
ClassWindream.STREAM_OBJECT = WMObject
'If File.Exists(_neuername & extension) = False Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> File is not existing", False)
'Else
' Dim msg As String
' msg = "Achtung: die Datei existiert bereits!" & vbNewLine & _neuername & extension & vbNewLine & "Wollen Sie die vorhandene Datei ersetzen?"
' If USER_LANGUAGE <> "de-DE" Then
' msg = "Attention: there is already a file with this name!" & vbNewLine & _neuername & extension & vbNewLine & "Would You like to replace this file with the actual one?"
' End If
' Dim result As MsgBoxResult
' result = MessageBox.Show(msg, "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
' If result = MsgBoxResult.Yes Then
' Try
' File.Delete(_neuername & extension)
' Catch ex As Exception
' MsgBox("Unexpected Error in Replace file: " & ex.Message, MsgBoxStyle.Critical)
' err = True
' End Try
' Else
' End If
'End If
Catch ex As Exception
ClassLogger.Add(" - Error in Versioning file - Error: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Versioning file:")
err = True
End Try
CURRENT_NEWFILENAME = _NewFileString & extension
CURRENT_NEWFILENAME = DATEINAME & extension
'False oder True zurückgeben

View File

@ -127,7 +127,7 @@ Public Class ClassInit
Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('{0}'))", USER_USERNAME)
ClassLogger.Add(">> Login at: " & Now.ToString, False)
ClassLogger.Add(">> Username: " & USER_USERNAME, False)
Dim USER_DT As DataTable = ClassDatabase.Return_Datatable(sql, False)
Dim USER_DT As DataTable = ClassDatabase.Return_Datatable(sql, True)
If USER_DT.Rows.Count = 0 Then
ClassLogger.Add(" - User '" & USER_USERNAME & "' not listed in Useradminsitration!", False)
'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
@ -141,6 +141,7 @@ Public Class ClassInit
USERID_FK_INT_ECM = USER_DT.Rows(0).Item("USERID_FK_INT_ECM")
USER_WAN = USER_DT.Rows(0).Item("WAN_ENVIRONMENT") 'ClassDatabase.Execute_Scalar("SELECT WAN_ENVIRONMENT FROM TBDD_USER WHERE GUID = " & USER_GUID, False)
USER_LANGUAGE = USER_DT.Rows(0).Item("LANGUAGE")
clsCURRENT.USER_LANGUAGE = USER_LANGUAGE
USER_DATE_FORMAT = USER_DT.Rows(0).Item("DATE_FORMAT")
USER_GENERAL_VIEWER = USER_DT.Rows(0).Item("GENERAL_VIEWER")
'USER_LANGUAGE = ClassDatabase.Execute_Scalar("SELECT LANGUAGE FROM TBDD_USER WHERE GUID = " & USER_GUID, False)
@ -193,28 +194,14 @@ Public Class ClassInit
If USER_USERNAME <> "" Then
InitUserLogin(USER_USERNAME)
End If
Else
If USER_USERNAME.ToUpper <> Environment.UserName.ToUpper Then
If clsWindream.PMO_CREATE_PERSONIFIED_LOGIN = False Then
ClassLogger.Add(" Could not create the personified login for windream!")
End If
Else
If clsWindream.Create_Session = False Then
ClassLogger.Add("Could not create the login for windream!")
ClassHelper.MSGBOX_Handler("ERROR", "windream-login Error:", "Could not create the login/session")
End If
End If
End If
Else
If clsWindream.Create_Session = False Then
ClassLogger.Add("Could not create the login for windream!")
ClassHelper.MSGBOX_Handler("ERROR", "windream-login Error:", "Could not create the login/session")
End If
End If
If clsWindream.Create_Session = False Then
ClassLogger.Add("Could not create the login for windream!")
ClassHelper.MSGBOX_Handler("ERROR", "windream-login Error:", "Could not create the login/session")
End If
sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('RECORD_ORGANIZER') AND CLIENT_ID = {0}", CLIENT_SELECTED)
Dim anzahl = ClassDatabase.Execute_Scalar(sql, False)
USERS_LOGGED_IN = CInt(anzahl)

File diff suppressed because it is too large Load Diff

View File

@ -472,7 +472,6 @@
<Compile Include="ClassControlProperties.vb" />
<Compile Include="ClassOfficeTemplate.vb" />
<Compile Include="ClassSQLEditor.vb" />
<Compile Include="ClassWindream.vb" />
<Compile Include="DD_DMSDataSet.vb">
<DependentUpon>DD_DMSDataSet.xsd</DependentUpon>
</Compile>
@ -779,6 +778,9 @@
<EmbeddedResource Include="frmLoginUserSelect.resx">
<DependentUpon>frmLoginUserSelect.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.de-DE.resx">
<DependentUpon>frmMain.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMass_Change.en-US.resx">
<DependentUpon>frmMass_Change.vb</DependentUpon>
</EmbeddedResource>

View File

@ -35,6 +35,7 @@ Module ModuleMySettings
Public USERS_LOGGED_IN = 0
Public USER_USERNAME As String
Public USER_PERSONIFIED_TEST As Boolean = False
Public USER_GUID = 0
Public USERID_FK_INT_ECM = 0
Public USER_LANGUAGE As String = "de-DE"

View File

@ -49,6 +49,7 @@
Public CURRENT_FILENAME As String
Public CURRENT_NEWFILENAME As String
Public CURRENT_CONTROL_DOCTYPE_MATCH As String = ""
Public CURRENT_NOTIFICATION_MSG As String
Public CURRENT_ENTITY_ID As Integer
Public CURRENT_FORMVIEW_ID As Integer

View File

@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.8.4")>
<Assembly: AssemblyVersion("2.4.8.5")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguageAttribute("")>

View File

@ -24,9 +24,9 @@ Partial Class frmConstructor_Main
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmConstructor_Main))
Dim GridLevelNode1 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Dim GridLevelNode2 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Dim GridLevelNode3 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Dim GridLevelNode4 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Dim GridLevelNode5 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Dim GridLevelNode6 As DevExpress.XtraGrid.GridLevelNode = New DevExpress.XtraGrid.GridLevelNode()
Me.SplitContainerMain = New DevExpress.XtraEditors.SplitContainerControl()
Me.SplitContainerTop = New DevExpress.XtraEditors.SplitContainerControl()
Me.TreeViewMain = New System.Windows.Forms.TreeView()
@ -224,6 +224,7 @@ Partial Class frmConstructor_Main
Me.VWPMO_WF_ACTIVETableAdapter = New DD_Record_Organiser.DD_DMSDataSetTableAdapters.VWPMO_WF_ACTIVETableAdapter()
Me.ToolTipController = New DevExpress.Utils.ToolTipController(Me.components)
Me.TBPMO_RECORD_VARIANTTableAdapter = New DD_Record_Organiser.DD_DMSDataSetTableAdapters.TBPMO_RECORD_VARIANTTableAdapter()
Me.TimerClearResultfiles = New System.Windows.Forms.Timer(Me.components)
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.SuspendLayout()
CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit()
@ -415,12 +416,12 @@ Partial Class frmConstructor_Main
Me.GridControlMain.AllowDrop = True
Me.GridControlMain.ContextMenuStrip = Me.ContextMenuGrid
resources.ApplyResources(Me.GridControlMain, "GridControlMain")
GridLevelNode1.LevelTemplate = Me.grvwGrid
GridLevelNode1.RelationName = "Level1"
GridLevelNode2.LevelTemplate = Me.grvwCarousel
GridLevelNode2.RelationName = "Level2"
GridLevelNode3.RelationName = "Level3"
Me.GridControlMain.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode1, GridLevelNode2, GridLevelNode3})
GridLevelNode4.LevelTemplate = Me.grvwGrid
GridLevelNode4.RelationName = "Level1"
GridLevelNode5.LevelTemplate = Me.grvwCarousel
GridLevelNode5.RelationName = "Level2"
GridLevelNode6.RelationName = "Level3"
Me.GridControlMain.LevelTree.Nodes.AddRange(New DevExpress.XtraGrid.GridLevelNode() {GridLevelNode4, GridLevelNode5, GridLevelNode6})
Me.GridControlMain.MainView = Me.grvwTiles
Me.GridControlMain.Name = "GridControlMain"
Me.GridControlMain.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grvwGrid, Me.grvwCarousel, Me.grvwTiles})
@ -1570,6 +1571,10 @@ Partial Class frmConstructor_Main
'
Me.TBPMO_RECORD_VARIANTTableAdapter.ClearBeforeFill = True
'
'TimerClearResultfiles
'
Me.TimerClearResultfiles.Interval = 3000
'
'frmConstructor_Main
'
resources.ApplyResources(Me, "$this")
@ -1840,4 +1845,5 @@ End Sub
Friend WithEvents ToolStripSeparator18 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents tsbtnStartFulltext As System.Windows.Forms.ToolStripButton
Friend WithEvents OrdnerÖffnenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents TimerClearResultfiles As System.Windows.Forms.Timer
End Class

File diff suppressed because it is too large Load Diff

View File

@ -1571,6 +1571,10 @@ Public Class frmConstructor_Main
#Region "DetailView - Toolstrip"
Private Sub tsButtonAdd_Click(sender As Object, e As EventArgs) Handles tsButtonAdd.Click
If USER_PERSONIFIED_TEST = True Then
ClassHelper.MSGBOX_Handler("INFO", "Attention", "You are using ADDi in personified mode! Adding records is not allowed!")
Exit Sub
End If
' Vor dem Hinzufügen muss der EditMode auf jeden Fall ausgeschaltet werden!!
DisableEditMode()
tsButtonEdit.Enabled = False
@ -1840,6 +1844,10 @@ Public Class frmConstructor_Main
End Function
Sub Delete_Record()
RECORD_ID = SELECTED_RECORD_ID
If USER_PERSONIFIED_TEST = True Then
ClassHelper.MSGBOX_Handler("INFO", "Attention", "You are using ADDI in personified mode! Deleting records is not allowed!")
Exit Sub
End If
Dim msg As String
If RIGHT_RECORD_AND_FILE_READ_ONLY = False Then
msg = "Sind Sie sicher, dass Sie diesen Record/Datensatz '" & SELECTED_RECORD_ID.ToString & "' löschen wollen?"
@ -3360,7 +3368,7 @@ Public Class frmConstructor_Main
sw.Start()
Dim elapsed As Double
If ClassWindream.Init() = True Then
If clsWindream.Create_Session = True Then
windream_inited = True
End If
elapsed = sw.Elapsed.TotalSeconds
@ -3421,7 +3429,7 @@ Public Class frmConstructor_Main
End If
MsgBox(msg, MsgBoxStyle.Critical, "Attention:")
Else
If ClassWindream.Delete_WDFile(path) Then
If clsWD_SET.Delete_WDFile(path) Then
ClassHelper.InsertEssential_Log(DOC_ID, "DOC-ID", "FILE DELETED BY USER")
End If
End If
@ -4035,6 +4043,10 @@ Public Class frmConstructor_Main
If ClassDragDrop.Drop_File(e) = False Then
Exit Sub
End If
If USER_PERSONIFIED_TEST = True Then
ClassHelper.MSGBOX_Handler("INFO", "Attention", "You are using ADDi in personified mode! Adding files is not allowed!")
Exit Sub
End If
If clsWindream.SESSION_CREATED = False Then
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Check Your windream-connection and restart ADDI afterwards.", "Could not create a windream session!")
Exit Sub
@ -4081,7 +4093,13 @@ Public Class frmConstructor_Main
CURRENT_FILEID = split(1)
CURRENT_PARENT_ENTITY_ID = PARENT_ENTITYID
CURRENT_FORMVIEW_ID = FORMVIEW_ID
frmWD_IndexFile.ShowDialog()
ClassHelper.Create_USER_FILE_TABLE()
If Not IsNothing(CURRENT_TBPMO_FILES_USER) Then
If CURRENT_TBPMO_FILES_USER.Rows.Count > 0 Then
frmWD_IndexFile.ShowDialog()
End If
End If
'RUN_WD_SEARCH(WD_Suche, "RECORD")
End If
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
@ -4103,6 +4121,7 @@ Public Class frmConstructor_Main
If NEW_FILES_ADDED = True Then
Me.Cursor = Cursors.WaitCursor
RUN_WDSEARCH_GRID()
TimerClearResultfiles.Start()
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> No new files were added or windream tab is not focused!", False)
End If
@ -4157,9 +4176,7 @@ Public Class frmConstructor_Main
Exit Sub
End If
End If
sql = String.Format("SELECT * FROM TBPMO_FILES_USER WHERE (UPPER(USER_WORK) = UPPER('{0}')) AND WORKED = 0", USER_USERNAME)
CURRENT_TBPMO_FILES_USER = ClassDatabase.Return_Datatable(sql, True)
ClassHelper.Create_USER_FILE_TABLE()
If Not IsNothing(CURRENT_TBPMO_FILES_USER) Then
If CURRENT_TBPMO_FILES_USER.Rows.Count > 0 Then
For Each Filerow As DataRow In CURRENT_TBPMO_FILES_USER.Rows
@ -4999,9 +5016,9 @@ Public Class frmConstructor_Main
If Not IsNothing(DT_INDICES) Then
If DT_INDICES.Rows.Count = 1 Then
'Record-Links entfernen
If ClassWindream.REMOVE_VEKTOR_LINK(row.Item("DOC_PATH"), DT_INDICES.Rows(0).Item("IDXNAME_RECORDID"), RECORD_ID) = True Then
If clsWD_SET.REMOVE_VEKTOR_LINK(row.Item("DOC_PATH"), DT_INDICES.Rows(0).Item("IDXNAME_RECORDID"), RECORD_ID) = True Then
'ENTITY-Links entfernen
If ClassWindream.REMOVE_VEKTOR_LINK(row.Item("DOC_PATH"), DT_INDICES.Rows(0).Item("IDXNAME_ENTITYID"), ENTITY_ID) = True Then
If clsWD_SET.REMOVE_VEKTOR_LINK(row.Item("DOC_PATH"), DT_INDICES.Rows(0).Item("IDXNAME_ENTITYID"), ENTITY_ID) = True Then
If ClassFileResult.Delete_ResultFile(row.Item("DOC_ID"), RECORD_ID, 0) = True Then
ClassHelper.InsertEssential_Log(row.Item("DOC_ID"), "DOC-ID", "RECORD LINK REMOVED FROM DOC-SEARCH")
Cursor = Cursors.WaitCursor
@ -5615,7 +5632,7 @@ Public Class frmConstructor_Main
End If
'Create Session um Fehler bei windows Session icht zu erzeugen
FAU_AD_USER = ""
ClassWindream.Create_Session()
clsWindream.Create_Session()
Next
Cursor = Cursors.Default
If err = False Then
@ -5696,7 +5713,7 @@ Public Class frmConstructor_Main
RECORD_ID = 0
End If
If ClassFileResult.Delete_ResultFile(row.Item("DOC_ID"), RECORD_ID, 1) = True Then
If ClassWindream.Delete_WDFile(row.Item("DOC_PATH")) = True Then
If clsWD_SET.Delete_WDFile(row.Item("DOC_PATH")) = True Then
ClassHelper.InsertEssential_Log(row.Item("DOC_ID"), "DOC-ID", "FILE DELETED BY USER")
End If
@ -5778,7 +5795,7 @@ Public Class frmConstructor_Main
Dim DT_DOCS As DataTable = ClassDatabase.Return_Datatable(sql, True)
For Each doc As DataRow In DT_DOCS.Rows
Dim DT_INDICES As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = '" & doc.Item("OBJECTTYPE") & "'", True)
ClassWindream.REMOVE_VEKTOR_LINK(doc.Item("DOC_PATH"), DT_INDICES.Rows(0).Item("IDXNAME_ENTITYID"), ENTITY_ID)
clsWD_SET.REMOVE_VEKTOR_LINK(doc.Item("DOC_PATH"), DT_INDICES.Rows(0).Item("IDXNAME_ENTITYID"), ENTITY_ID)
Next
sql = String.Format("select ORIGIN_CTRL_ID,LINKED_CTRL_ID from TBPMO_CONTROL_ENTITY_LINK where ORIGIN_CTRL_ID in (SELECT GUID FROM TBPMO_CONTROL where FORM_ID = {0}) " & _
@ -6544,4 +6561,28 @@ Public Class frmConstructor_Main
' End Try
'End Sub
Private Sub TimerClearResultfiles_Tick(sender As Object, e As EventArgs) Handles TimerClearResultfiles.Tick
Try
For Each row As DataRow In CURRENT_TBPMO_FILES_USER.Rows
If row.Item("WORKED") = True Then
If row.Item("DELETE_FILE") = True Then
If File.Exists(row.Item("FILENAME2WORK")) Then
File.Delete(row.Item("FILENAME2WORK"))
ClassHelper.DELETE_PMO_FILE_USER(row.Item("GUID"))
row.Delete()
End If
Else
ClassHelper.DELETE_PMO_FILE_USER(row.Item("GUID"))
row.Delete()
End If
End If
Next
CURRENT_TBPMO_FILES_USER.AcceptChanges()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "", "Unexpected Error in clearing User-Files: " & ex.Message, ex.StackTrace)
Finally
TimerClearResultfiles.Stop()
End Try
End Sub
End Class

View File

@ -1,6 +1,6 @@
Imports System.Text
Imports System.IO
Imports DD_LIB_Standards
Public Class frmDocLink_to_Record
Dim DT_TREEVIEW_PER_CONTROLS As DataTable
Dim TreeView_perControl As Boolean = False
@ -384,6 +384,10 @@ Public Class frmDocLink_to_Record
End Sub
Private Sub btnLink_Click(sender As Object, e As EventArgs) Handles btnLink.Click
If clsWindream.Create_Session = False Then
MsgBox("No Seesion to windream created! Check Your connection!", MsgBoxStyle.Critical)
Exit Sub
End If
Dim RecordId As Integer
If txtRecordId.Text.Trim.Count > 0 Then
@ -395,6 +399,7 @@ Public Class frmDocLink_to_Record
CURRENT_DOC_ID = row.Item("DOC_ID")
Dim DOC_PATH = row.Item("FILEPATH")
Dim _objecttype = row.Item("OBJECTTYPE")
clsWindream.MY_WDOBJECTTYPE = _objecttype
Dim ins = String.Format("INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES ({0},{1},'{2}','{3}')", RecordId, CURRENT_DOC_ID, "MANUAL RECORD-LINK", USER_USERNAME)
If ClassDatabase.Execute_non_Query(ins) = False Then
MsgBox("Unexpected Error in Inserting Record-Doc Link. Please check logfile!", MsgBoxStyle.Critical)
@ -411,7 +416,7 @@ Public Class frmDocLink_to_Record
Dim Record_Index = DT_OBJTYPE.Rows(0).Item("IDXNAME_RECORDID")
Dim ENT_ID = ClassDatabase.Execute_Scalar(String.Format("SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}", RecordId))
If ENT_ID > 1 Then
If ClassWindream.IndexFile(DOC_PATH, Entity_Index, ENT_ID, True, _objecttype) = False Then
If clsWD_SET.IndexFile(DOC_PATH, Entity_Index, ENT_ID, _objecttype) = False Then
Dim msg = "Die Entität-ID konnte nicht gesetzt werden! Bitte überprüfen Sie die Logfile"
If USER_LANGUAGE <> "de-DE" Then
msg = "Could not index Entity-ID! Please check logfile!"
@ -419,7 +424,7 @@ Public Class frmDocLink_to_Record
MsgBox(msg, MsgBoxStyle.Exclamation)
End If
End If
If ClassWindream.IndexFile(DOC_PATH, Record_Index, RecordId, True, _objecttype) = False Then
If clsWD_SET.IndexFile(DOC_PATH, Record_Index, RecordId, _objecttype) = False Then
Dim msg = "Die Record-ID konnte nicht gesetzt werden! Bitte überprüfen Sie die Logfile"
If USER_LANGUAGE <> "de-DE" Then
msg = "Could not index Record-ID! Please check logfile!"

View File

@ -35,6 +35,7 @@ Partial Class frmLoginUserSelect
Me.colID = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label1 = New System.Windows.Forms.Label()
Me.btnLogin = New System.Windows.Forms.Button()
Me.Label2 = New System.Windows.Forms.Label()
CType(Me.DD_ECMAdmin, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBAD_UsersBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridControlUsers2Menue, System.ComponentModel.ISupportInitialize).BeginInit()
@ -54,11 +55,11 @@ Partial Class frmLoginUserSelect
'GridControlUsers2Menue
'
Me.GridControlUsers2Menue.DataSource = Me.TBAD_UsersBindingSource
Me.GridControlUsers2Menue.Location = New System.Drawing.Point(15, 39)
Me.GridControlUsers2Menue.Location = New System.Drawing.Point(15, 65)
Me.GridControlUsers2Menue.MainView = Me.GridViewlUsers2Menue
Me.GridControlUsers2Menue.Name = "GridControlUsers2Menue"
Me.GridControlUsers2Menue.ShowOnlyPredefinedDetails = True
Me.GridControlUsers2Menue.Size = New System.Drawing.Size(484, 255)
Me.GridControlUsers2Menue.Size = New System.Drawing.Size(484, 236)
Me.GridControlUsers2Menue.TabIndex = 89
Me.GridControlUsers2Menue.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewlUsers2Menue})
'
@ -142,12 +143,24 @@ Partial Class frmLoginUserSelect
'
Me.btnLogin.Image = Global.DD_Record_Organiser.My.Resources.Resources.user_16xLG
Me.btnLogin.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnLogin.Location = New System.Drawing.Point(15, 300)
Me.btnLogin.Location = New System.Drawing.Point(15, 307)
Me.btnLogin.Name = "btnLogin"
Me.btnLogin.Size = New System.Drawing.Size(484, 35)
Me.btnLogin.TabIndex = 91
Me.btnLogin.Text = "Login as User"
Me.btnLogin.UseVisualStyleBackColor = True
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.ForeColor = System.Drawing.Color.DarkRed
Me.Label2.Location = New System.Drawing.Point(12, 25)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(426, 26)
Me.Label2.TabIndex = 92
Me.Label2.Text = "(Please be aware, that only viewing of windream-files is possible. Adding is not " & _
"allowed " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "as personified login is not possible. ==> No password!)"
'
'frmLoginUserSelect
'
@ -156,6 +169,7 @@ Partial Class frmLoginUserSelect
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(512, 345)
Me.ControlBox = False
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.btnLogin)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.GridControlUsers2Menue)
@ -187,4 +201,5 @@ Partial Class frmLoginUserSelect
Friend WithEvents colID As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents btnLogin As System.Windows.Forms.Button
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class

View File

@ -50,6 +50,7 @@
If row.Item(0) = CBool(True) Then
Dim User = row.Item("USERNAME")
USER_USERNAME = row.Item("USERNAME")
USER_PERSONIFIED_TEST = True
Me.Close()
End If
Next

View File

@ -77,6 +77,7 @@ Partial Class frmMain
Me.BarSubItem2 = New DevExpress.XtraBars.BarSubItem()
Me.BarButtonItem24 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem25 = New DevExpress.XtraBars.BarButtonItem()
Me.StatusPersonifiedLogin = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPageCategory1 = New DevExpress.XtraBars.Ribbon.RibbonPageCategory()
Me.pageHome = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@ -95,6 +96,7 @@ Partial Class frmMain
Me.TimerClose3Minutes = New System.Windows.Forms.Timer(Me.components)
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem()
Me.TimerInformation = New System.Windows.Forms.Timer(Me.components)
Me.cmsSystray.SuspendLayout()
CType(Me.DD_DMSDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.VWPMO_WF_ACTIVEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
@ -192,8 +194,8 @@ Partial Class frmMain
Me.ribbonMain.ApplicationButtonDropDownControl = Me.MainMenu
Me.ribbonMain.BackColor = System.Drawing.Color.DarkGray
Me.ribbonMain.ExpandCollapseItem.Id = 0
Me.ribbonMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonMain.ExpandCollapseItem, Me.LabelMachine, Me.LabelLoggedIn, Me.LabelVersion, Me.itemInfo, Me.itemExit, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.BarButtonItem7, Me.itemSettings, Me.BarButtonItem2, Me.BarButtonItem10, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItemConnections, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.LabelLanguage, Me.BarButtonItem20, Me.BarButtonItemSAPConnect, Me.BarButtonItemStructureNOdes, Me.BarSubItem1, Me.BarButtonItem14, Me.BarButtonItem21, Me.BarButtonItem22, Me.BarButtonItem8, Me.BarButtonItem9, Me.itemAbout, Me.BarButtonItem19, Me.btnGlobalSearch, Me.LabelUser, Me.bbtnItemViewsUser, Me.BarButtonItem23, Me.itemRefreshProxy, Me.LabelProxyServer, Me.BarSubItem2, Me.BarButtonItem24, Me.BarButtonItem25})
Me.ribbonMain.MaxItemId = 5
Me.ribbonMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonMain.ExpandCollapseItem, Me.LabelMachine, Me.LabelLoggedIn, Me.LabelVersion, Me.itemInfo, Me.itemExit, Me.BarButtonItem1, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonItem6, Me.BarButtonItem7, Me.itemSettings, Me.BarButtonItem2, Me.BarButtonItem10, Me.BarButtonItem12, Me.BarButtonItem13, Me.BarButtonItemConnections, Me.BarButtonItem15, Me.BarButtonItem16, Me.BarButtonItem17, Me.BarButtonItem18, Me.LabelLanguage, Me.BarButtonItem20, Me.BarButtonItemSAPConnect, Me.BarButtonItemStructureNOdes, Me.BarSubItem1, Me.BarButtonItem14, Me.BarButtonItem21, Me.BarButtonItem22, Me.BarButtonItem8, Me.BarButtonItem9, Me.itemAbout, Me.BarButtonItem19, Me.btnGlobalSearch, Me.LabelUser, Me.bbtnItemViewsUser, Me.BarButtonItem23, Me.itemRefreshProxy, Me.LabelProxyServer, Me.BarSubItem2, Me.BarButtonItem24, Me.BarButtonItem25, Me.StatusPersonifiedLogin})
Me.ribbonMain.MaxItemId = 6
Me.ribbonMain.Name = "ribbonMain"
Me.ribbonMain.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategory1})
Me.ribbonMain.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.pageHome, Me.pageForms, Me.pageAdmin})
@ -549,6 +551,20 @@ Partial Class frmMain
Me.BarButtonItem25.Id = 4
Me.BarButtonItem25.Name = "BarButtonItem25"
'
'StatusPersonifiedLogin
'
resources.ApplyResources(Me.StatusPersonifiedLogin, "StatusPersonifiedLogin")
Me.StatusPersonifiedLogin.Glyph = Global.DD_Record_Organiser.My.Resources.Resources.user_16xLG
Me.StatusPersonifiedLogin.Id = 5
Me.StatusPersonifiedLogin.ItemAppearance.Normal.Font = CType(resources.GetObject("StatusPersonifiedLogin.ItemAppearance.Normal.Font"), System.Drawing.Font)
Me.StatusPersonifiedLogin.ItemAppearance.Normal.FontSizeDelta = CType(resources.GetObject("StatusPersonifiedLogin.ItemAppearance.Normal.FontSizeDelta"), Integer)
Me.StatusPersonifiedLogin.ItemAppearance.Normal.FontStyleDelta = CType(resources.GetObject("StatusPersonifiedLogin.ItemAppearance.Normal.FontStyleDelta"), System.Drawing.FontStyle)
Me.StatusPersonifiedLogin.ItemAppearance.Normal.ForeColor = CType(resources.GetObject("StatusPersonifiedLogin.ItemAppearance.Normal.ForeColor"), System.Drawing.Color)
Me.StatusPersonifiedLogin.ItemAppearance.Normal.Options.UseFont = True
Me.StatusPersonifiedLogin.ItemAppearance.Normal.Options.UseForeColor = True
Me.StatusPersonifiedLogin.Name = "StatusPersonifiedLogin"
Me.StatusPersonifiedLogin.TextAlignment = System.Drawing.StringAlignment.Near
'
'RibbonPageCategory1
'
Me.RibbonPageCategory1.Name = "RibbonPageCategory1"
@ -655,6 +671,7 @@ Partial Class frmMain
resources.ApplyResources(Me.RibbonStatusBar1, "RibbonStatusBar1")
Me.RibbonStatusBar1.ItemLinks.Add(Me.LabelMachine)
Me.RibbonStatusBar1.ItemLinks.Add(Me.LabelUser)
Me.RibbonStatusBar1.ItemLinks.Add(Me.StatusPersonifiedLogin)
Me.RibbonStatusBar1.ItemLinks.Add(Me.LabelLoggedIn)
Me.RibbonStatusBar1.ItemLinks.Add(Me.LabelVersion)
Me.RibbonStatusBar1.ItemLinks.Add(Me.LabelLanguage)
@ -690,6 +707,10 @@ Partial Class frmMain
Me.BarStaticItem1.Name = "BarStaticItem1"
Me.BarStaticItem1.TextAlignment = System.Drawing.StringAlignment.Near
'
'TimerInformation
'
Me.TimerInformation.Interval = 1000
'
'frmMain
'
resources.ApplyResources(Me, "$this")
@ -789,6 +810,8 @@ Partial Class frmMain
Friend WithEvents BarSubItem2 As DevExpress.XtraBars.BarSubItem
Friend WithEvents BarButtonItem24 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem25 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents StatusPersonifiedLogin As DevExpress.XtraBars.BarStaticItem
Friend WithEvents TimerInformation As System.Windows.Forms.Timer
End Class

File diff suppressed because it is too large Load Diff

View File

@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="NotifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="NotifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIUAAAEAGAD4zwAAFgAAACgAAACAAAAACgEAAAEAGAAAAAAAAAAAAEgAAABIAAAAAAAAAAAA
AAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoA
@ -1008,6 +1008,176 @@
//8AAAAAAAB/////////////AAAAAAAH/////////////wAAAAAAf/////////////8AAAAAP///////
////////AAAAA////////////////wAAAD////////////////8AAD//////////////////AAP/////
/////////////wA///////////////////8f////////////////////
</value>
</data>
<data name="itemSettings.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem19.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
+f9Q9LW0/hdW1ZqSXehITgAAAABJRU5ErkJggg==
</value>
</data>
<data name="itemRefreshProxy.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAAAElFTkSuQmCC
</value>
</data>
<data name="itemInfo.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -1060,55 +1230,54 @@
Yx8G+/8H09D4N5NlWbdRYGV2AAAAAElFTkSuQmCC
</value>
</data>
<data name="itemSettings.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="itemAbout.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="itemExit.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -1169,48 +1338,6 @@
<data name="MainMenu.MenuAppearance.HeaderItemAppearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="BarButtonItem1.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
LyAMut4SBqhSAAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem3.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACx0RVh0VGl0
@ -1403,79 +1530,6 @@
wd0nCkuWv1tFYxa+vsziK0Fng/gjmumLP17y0pqNB8uWrtyS/KNXfv2H1eZ7iq+HpsLTLxbLV24pWfzy
G5Y/W2ae+NNlljWLXlj8Go157tVfrPtK0Nkg/pCtfc+OHe8nn1Bm4ZtvbbNbbbEfq9ftw+tL37GnPj5w
vO9TB2/OKz//HxUwg/FB4bs6dcXEezuDPRt0NszY+f8DJv8Eh52mfnp1TP0AAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem8.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem9.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem12.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -1558,7 +1612,7 @@
vEpWbXyVrNr46gDzDwm9y+evWey0AAAAAElFTkSuQmCC
</value>
</data>
<data name="BarButtonItem14.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="BarButtonItemConnections.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAC10RVh0VGl0
bGUAREI7U291cmNlO1N0b3I7ZGF0YXNvdXJjZTtEYXRhYmFzZTtFZGl0KPa6nAAACM9JREFUWEfFlgtY
@ -1677,6 +1731,574 @@
UB6PzdlD/hkZHYBM/wcBo+LeK778qgAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem18.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
SS0AAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem20.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItemStructureNOdes.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem14.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem21.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem22.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
rwED/gtPhKgGMZyDxQAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem8.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem9.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem23.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem23.LargeGlyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarSubItem1.MenuAppearance.HeaderItemAppearance.FontSizeDelta" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarSubItem1.MenuAppearance.HeaderItemAppearance.FontStyleDelta" type="System.Drawing.FontStyle, System.Drawing">
<value>Regular</value>
</data>
<data name="BarSubItem1.MenuAppearance.HeaderItemAppearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="BarSubItem1.MenuAppearance.HeaderItemAppearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="btnGlobalSearch.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACZ0RVh0VGl0
bGUARmluZDtCYXJzO1JpYmJvbjtTdGFuZGFyZDtTZWFyY2i7ZZwIAAAC7klEQVQ4T6WTe0iTURjGP+1i
miD0RzdJCkVRA7EbzUuSRowuaGgNW27aalhupTOzpXYxL5kVol3I0UKtxJmbbLWZVJRlYJdptnIrU0uz
tVIso6kVT+9nGQX+UfTCj+98z3Pe853zfu9hAPwXv4cDMZGYTEwiHImxYL0x/gz5sSvsw3FT0hFPWb7a
kFagHdmRo7oaJcjwIX1iWn61x76iel1mcf2w/LheJ8ks9yDdQZZfy+YxjOzw6MBJkq26e+fBC5jbe6Gs
aoDkoGqYdNfM4rqhpkddeNb5FqfPX0NyrrqB9AmS/dVs3mg4xiTkLj9UUgfru0E0NFlQUFIFsfwie0Dv
3YWX0f1mAJYOG85VXock6yLiUk5yyPt1HCf+zlPnawwt6Ozuh+HWE0h2lyAsOhuLV6YiamsxLF3vYe54
hwu1d5C4RwF+suIs5bH1ok8ERMyJT6sYMj23wtjWC5XhIQRJhQhak4UNwjysFhbCaH4LU7sNl642Q5px
Bjypwh4QHDOd0h2YtcLC8grNPfR/tOPL12941mXD3hwlFnPTsWSZGCtic9FssaJvwI7hka8wmjrBEx/B
0tWppbTAJCZSdGKox/qBtteKaIkKlXoT6m8+REB4Cub6rkHougPoJr+s5jEiE9Uo05qg0Tdi4QqpnRZw
Zrj8oi+fPg+BL1NDrHkDwX4tFXOAdrCLLSJ3fVIpBsnfkKzFFo0Vsfv0VCsb/EJEI+RPZcJicjoetXVD
qTaCJ9dAqWvB7aY2+AYldNEE91WCo+bWtldQ1LQgOl2HUm0rGu8/hecCnoV8F2Z+iFCafKAC1xtNePm6
D4YbzRClFGG2d3g6TXDjcFNEsoNluHHXhB5rP+roeHHb8zDLOyKefLZjGTevwBiZf2ii2S90G7wWbbTM
9ApLI30aMYGY4s8RbPYP3tLsw0nAvMD1LbN8IkSkOxOjvcD2vAvB/hZ3YgYxlRi7C+wk9n6wmhvh+vP9
RyONd8P+hXHFvwfMd61HCl7ECOjpAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnGlobalSearch.LargeGlyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="bbtnItemViewsUser.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
kmkAAAAASUVORK5CYII=
</value>
</data>
<data name="LabelProxyServer.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAERJREFUOE9j+P//P0UYhfPt27f/xGBkPRgGODk54cVkG/Dh/UcwTXsXEIOR9WAY
gM1WZEy2AaNhMGTCgByMVZB4/J8BAMCa3yXIH1ZEAAAAAElFTkSuQmCC
</value>
</data>
<data name="LabelProxyServer.ItemAppearance.Normal.FontSizeDelta" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="LabelProxyServer.ItemAppearance.Normal.FontStyleDelta" type="System.Drawing.FontStyle, System.Drawing">
<value>Regular</value>
</data>
<data name="BarSubItem2.MenuAppearance.HeaderItemAppearance.FontSizeDelta" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="BarSubItem2.MenuAppearance.HeaderItemAppearance.FontStyleDelta" type="System.Drawing.FontStyle, System.Drawing">
<value>Regular</value>
</data>
<data name="BarSubItem2.MenuAppearance.HeaderItemAppearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="BarSubItem2.MenuAppearance.HeaderItemAppearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="pageForms.Appearance.FontSizeDelta" type="System.Int32, mscorlib">
<value>0</value>
</data>

View File

@ -2114,6 +2114,105 @@
rGVfvYI98TWlNa9PnJGLMGDjunfB71xCckbODKy2/jgAln/eXvihrcNlZ8s+M+l3XnAsLt75Z+/2Vnxq
3VuxbKCBYrmRgXjPPNVdUWINbcGQISPf6BVwYl7NvE359uCFxlG70jtXN/HfF33ijFw4KcMCLMTblOF6
z5X+PxSF4t+qN/szT9oWSwAAAABJRU5ErkJggg==
</value>
</data>
<data name="BarButtonItem23.Caption" xml:space="preserve">
<value>Global Search</value>
</data>
<data name="BarButtonItem23.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem23.LargeGlyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnGlobalSearch.Caption" xml:space="preserve">
@ -2219,105 +2318,6 @@
wqLj0c+lRxMLoJwoFOnR7OgBY/UIxOZ10lFccwVkCmP1cZXV/VhpcT2UpW7JQ9/Kh4WPXCQiLCQqkd6C
X6NvUWGs8aCPmpBz0CRczCdxLA8m1bTXdNFQ2X1vOZ4oAMhPlaEK0Xj6clp5J6AxxFwA8No/K4uTvqJI
kmkAAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem23.Caption" xml:space="preserve">
<value>Global Search</value>
</data>
<data name="BarButtonItem23.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem23.LargeGlyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="LabelProxyServer.Glyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -2327,21 +2327,6 @@
gM1WZEy2AaNhMGTCgByMVZB4/J8BAMCa3yXIH1ZEAAAAAElFTkSuQmCC
</value>
</data>
<data name="pageHome.Text" xml:space="preserve">
<value>Home - Main Views</value>
</data>
<data name="pageForms.Text" xml:space="preserve">
<value>Other Views</value>
</data>
<data name="ribbonMain.Size" type="System.Drawing.Size, System.Drawing">
<value>1436, 150</value>
</data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 763</value>
</data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>1436, 23</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<value>Calendar</value>
</data>
@ -2351,6 +2336,12 @@
<data name="groupSearchAllOver.Text" xml:space="preserve">
<value>More Views</value>
</data>
<data name="pageHome.Text" xml:space="preserve">
<value>Home - Main Views</value>
</data>
<data name="pageForms.Text" xml:space="preserve">
<value>Other Views</value>
</data>
<data name="RibbonPageGroupProgram.Text" xml:space="preserve">
<value>Program settings</value>
</data>
@ -2363,6 +2354,15 @@
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>SQL Configuration</value>
</data>
<data name="ribbonMain.Size" type="System.Drawing.Size, System.Drawing">
<value>1436, 150</value>
</data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 763</value>
</data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>1436, 23</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>1436, 786</value>
</data>

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,8 @@ Imports System.Globalization
Imports System.Net
Imports System.Net.Sockets
Public Class frmMain
Dim strIPAddress As String
Public Shared TIMER_SCAN As New System.Windows.Forms.Timer
@ -115,7 +115,12 @@ Public Class frmMain
If Task_Popup_minutes <> 0 Then
TimerTasks.Interval = Task_Popup_minutes * 60000
End If
If USER_PERSONIFIED_TEST = True Then
StatusPersonifiedLogin.Visibility = BarItemVisibility.Always
Else
StatusPersonifiedLogin.Visibility = BarItemVisibility.Never
End If
TimerInformation.Start()
Catch ex As Exception
MsgBox("Error in Load Form:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
@ -742,9 +747,7 @@ Public Class frmMain
If ERROR_INIT <> "INVALID USER" Then
Dim cultureInfo As System.Globalization.CultureInfo
cultureInfo = New System.Globalization.CultureInfo(USER_LANGUAGE)
cultureInfo.DateTimeFormat.ShortDatePattern = USER_DATE_FORMAT
Thread.CurrentThread.CurrentCulture = cultureInfo
Thread.CurrentThread.CurrentUICulture = cultureInfo
cultureInfo.DefaultThreadCurrentCulture = cultureInfo
@ -889,4 +892,15 @@ Public Class frmMain
Private Sub BarButtonItem25_ItemClick_1(sender As Object, e As ItemClickEventArgs) Handles BarButtonItem25.ItemClick
OpenStatisticsADDI()
End Sub
Private Sub TimerInforamtion_Tick(sender As Object, e As EventArgs) Handles TimerInformation.Tick
If CURRENT_NOTIFICATION_MSG <> String.Empty Then
Dim caption = "Information Dateiimport"
If USER_LANGUAGE <> "de-DE" Then
caption = "Information File-Import"
End If
NotifyIcon.ShowBalloonTip(30000, caption, CURRENT_NOTIFICATION_MSG, ToolTipIcon.Info)
CURRENT_NOTIFICATION_MSG = ""
End If
End Sub
End Class

View File

@ -516,9 +516,9 @@ Public Class frmRecordView
Next
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
If ClassDatabase.Execute_Scalar(sql, True) >= 1 Then
sql = String.Format("SELECT * FROM TBPMO_FILES_USER WHERE (UPPER(USER_WORK) = UPPER('{0}')) AND WORKED = 0", USER_USERNAME)
CURRENT_TBPMO_FILES_USER = ClassDatabase.Return_Datatable(sql, True)
ClassHelper.Create_USER_FILE_TABLE()
If Not IsNothing(CURRENT_TBPMO_FILES_USER) Then
If CURRENT_TBPMO_FILES_USER.Rows.Count > 0 Then
For Each Filerow As DataRow In CURRENT_TBPMO_FILES_USER.Rows
'Dim datei = Str.ToString.Replace("@DROPFROMFSYSTEM@", "")

View File

@ -71,6 +71,8 @@ Partial Class frmScanFiles
Me.chkInFront = New System.Windows.Forms.CheckBox()
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
Me.Timer2 = New System.Windows.Forms.Timer(Me.components)
Me.Button1 = New System.Windows.Forms.Button()
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.Panel1.SuspendLayout()
Me.StatusStrip2.SuspendLayout()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@ -354,6 +356,7 @@ Partial Class frmScanFiles
Me.btndelete.Image = Global.DD_Record_Organiser.My.Resources.Resources.delete
resources.ApplyResources(Me.btndelete, "btndelete")
Me.btndelete.Name = "btndelete"
Me.ToolTip1.SetToolTip(Me.btndelete, resources.GetString("btndelete.ToolTip"))
Me.btndelete.UseVisualStyleBackColor = True
'
'chkInFront
@ -368,10 +371,19 @@ Partial Class frmScanFiles
'
Me.Timer1.Interval = 1000
'
'Button1
'
Me.Button1.Image = Global.DD_Record_Organiser.My.Resources.Resources.delete
resources.ApplyResources(Me.Button1, "Button1")
Me.Button1.Name = "Button1"
Me.ToolTip1.SetToolTip(Me.Button1, resources.GetString("Button1.ToolTip"))
Me.Button1.UseVisualStyleBackColor = True
'
'frmScanFiles
'
resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.chkInFront)
Me.Controls.Add(Me.btndelete)
Me.Controls.Add(Me.Panel1)
@ -437,4 +449,6 @@ Partial Class frmScanFiles
Private WithEvents ListView1 As System.Windows.Forms.ListView
Friend WithEvents Timer1 As System.Windows.Forms.Timer
Friend WithEvents Timer2 As System.Windows.Forms.Timer
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
End Class

View File

@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ColumnHeader2.Text" xml:space="preserve">
<value>Scandatei - Ziehen Sie diese Datei auf einen Datensatz</value>
<value>Scandatei - Ziehen Sie eine Datei auf einen Datensatz</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ColumnHeader2.Width" type="System.Int32, mscorlib">
@ -136,7 +136,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm
BwAAAk1TRnQBSQFMAwEBAAH8AQAB/AEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
BwAAAk1TRnQBSQFMAwEBAAEMAQEBDAEBARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
@ -176,7 +176,7 @@
<value>12, 12</value>
</data>
<data name="ListView1.Size" type="System.Drawing.Size, System.Drawing">
<value>319, 209</value>
<value>345, 209</value>
</data>
<data name="ListView1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -191,80 +191,20 @@
<value>$this</value>
</data>
<data name="&gt;&gt;ListView1.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<metadata name="StatusStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Panel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="&gt;&gt;PdfViewer1.Name" xml:space="preserve">
<value>PdfViewer1</value>
</data>
<data name="&gt;&gt;PdfViewer1.Type" xml:space="preserve">
<value>DevExpress.XtraPdfViewer.PdfViewer, DevExpress.XtraPdfViewer.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;PdfViewer1.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;PdfViewer1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;StatusStrip2.Name" xml:space="preserve">
<value>StatusStrip2</value>
</data>
<data name="&gt;&gt;StatusStrip2.Type" xml:space="preserve">
<value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;StatusStrip2.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;StatusStrip2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;RibbonControl1.Name" xml:space="preserve">
<value>RibbonControl1</value>
</data>
<data name="&gt;&gt;RibbonControl1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonControl1.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;RibbonControl1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>337, 12</value>
</data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 553</value>
</data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;Panel1.Name" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Panel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="PdfViewer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="PdfViewer1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 140</value>
<value>0, 141</value>
</data>
<data name="PdfViewer1.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 391</value>
<value>565, 390</value>
</data>
<data name="PdfViewer1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@ -284,11 +224,29 @@
<metadata name="StatusStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
<data name="pdfstatuslblPageNumber.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI Semibold, 9pt, style=Bold, Italic</value>
</data>
<data name="pdfstatuslblPageNumber.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="pdfstatuslblPageNumber.Text" xml:space="preserve">
<value>Page</value>
</data>
<data name="ToolStripDropDownButton1.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="ToolStripDropDownButton1.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 20</value>
</data>
<data name="ToolStripDropDownButton1.Text" xml:space="preserve">
<value>Seitenansicht Minimal</value>
</data>
<data name="StatusStrip2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 531</value>
</data>
<data name="StatusStrip2.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 22</value>
<value>565, 22</value>
</data>
<data name="StatusStrip2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -308,29 +266,11 @@
<data name="&gt;&gt;StatusStrip2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="pdfstatuslblPageNumber.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI Semibold, 9pt, style=Bold, Italic</value>
</data>
<data name="pdfstatuslblPageNumber.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 17</value>
</data>
<data name="pdfstatuslblPageNumber.Text" xml:space="preserve">
<value>Page</value>
</data>
<data name="ToolStripDropDownButton1.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="ToolStripDropDownButton1.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 20</value>
</data>
<data name="ToolStripDropDownButton1.Text" xml:space="preserve">
<value>Seitenansicht Minimal</value>
</data>
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 140</value>
<value>565, 141</value>
</data>
<data name="&gt;&gt;RibbonControl1.Name" xml:space="preserve">
<value>RibbonControl1</value>
@ -344,6 +284,27 @@
<data name="&gt;&gt;RibbonControl1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>363, 12</value>
</data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>565, 553</value>
</data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;Panel1.Name" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Panel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="btnrefresh.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
@ -351,13 +312,13 @@
<value>12, 227</value>
</data>
<data name="btnrefresh.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 23</value>
<value>117, 23</value>
</data>
<data name="btnrefresh.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnrefresh.Text" xml:space="preserve">
<value>Aktualisieren</value>
<value>Prüfe Verzeichnis</value>
</data>
<data name="btnrefresh.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
@ -372,7 +333,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;btnrefresh.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<metadata name="PdfBarController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>244, 17</value>
@ -384,20 +345,26 @@
<value>MiddleRight</value>
</data>
<data name="btndelete.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 227</value>
<value>144, 227</value>
</data>
<data name="btndelete.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
<value>213, 23</value>
</data>
<data name="btndelete.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="btndelete.Text" xml:space="preserve">
<value>Löschen</value>
<value>Entferne Eintrag aus Überwachung</value>
</data>
<data name="btndelete.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>718, 17</value>
</metadata>
<data name="btndelete.ToolTip" xml:space="preserve">
<value>Löscht den erzeugten Scaneintrag (Nicht die Datei)</value>
</data>
<data name="&gt;&gt;btndelete.Name" xml:space="preserve">
<value>btndelete</value>
</data>
@ -408,13 +375,13 @@
<value>$this</value>
</data>
<data name="&gt;&gt;btndelete.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="chkInFront.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="chkInFront.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 256</value>
<value>12, 285</value>
</data>
<data name="chkInFront.Size" type="System.Drawing.Size, System.Drawing">
<value>193, 17</value>
@ -435,7 +402,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;chkInFront.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>540, 17</value>
@ -443,6 +410,42 @@
<metadata name="Timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>629, 17</value>
</metadata>
<data name="Button1.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="Button1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="Button1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 256</value>
</data>
<data name="Button1.Size" type="System.Drawing.Size, System.Drawing">
<value>345, 23</value>
</data>
<data name="Button1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="Button1.Text" xml:space="preserve">
<value>Lösche alle Einträge</value>
</data>
<data name="Button1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="Button1.ToolTip" xml:space="preserve">
<value>Löscht alle erzeugten Scaneinträge (Nicht die Dateien selbst)</value>
</data>
<data name="&gt;&gt;Button1.Name" xml:space="preserve">
<value>Button1</value>
</data>
<data name="&gt;&gt;Button1.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;Button1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1141,6 +1144,12 @@
<data name="&gt;&gt;Timer2.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ToolTip1.Name" xml:space="preserve">
<value>ToolTip1</value>
</data>
<data name="&gt;&gt;ToolTip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmScanFiles</value>
</data>

View File

@ -171,4 +171,11 @@ Public Class frmScanFiles
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim del = "DELETE FROM TBPMO_FILES_USER where HANDLE_TYPE = 'SCAN' AND UPPER(USER_WORK) = UPPER('" & USER_USERNAME & "')"""
If ClassDatabase.Execute_non_Query(del, True) Then
Load_Files()
End If
End Sub
End Class

View File

@ -70,7 +70,7 @@ Public NotInheritable Class frmSplash
Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
Try
Dim Init = New ClassInit()
bw.ReportProgress(CalcProgress(1), "Initializing Logger")
bw.ReportProgress(CalcProgress(1), "Initializing basic Settings (Logger, Settings)")
Init.InitLogger()
System.Threading.Thread.Sleep(500)

View File

@ -0,0 +1,296 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmStatistiscsADDI
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.XtraTabControl1 = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage()
Me.SplitContainerTab1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.SplitContainerTop = New DevExpress.XtraEditors.SplitContainerControl()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.VWDD_LOGIN_USER_HISTORYBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.DD_ECMAdmin = New DD_Record_Organiser.DD_ECMAdmin()
Me.GridViewLoginHistory = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colGUID = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colCLIENT_NAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colUSERNAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colNAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colPRENAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colLOGIN = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colLOGOUT = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colVERSION_CLIENT = New DevExpress.XtraGrid.Columns.GridColumn()
Me.SplitContainerBottom = New DevExpress.XtraEditors.SplitContainerControl()
Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage()
Me.VWDD_LOGIN_USER_HISTORYTableAdapter = New DD_Record_Organiser.DD_ECMAdminTableAdapters.VWDD_LOGIN_USER_HISTORYTableAdapter()
Me.TableAdapterManager = New DD_Record_Organiser.DD_ECMAdminTableAdapters.TableAdapterManager()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl1.SuspendLayout()
Me.XtraTabPage1.SuspendLayout()
CType(Me.SplitContainerTab1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerTab1.SuspendLayout()
CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerTop.SuspendLayout()
Me.GroupBox1.SuspendLayout()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.VWDD_LOGIN_USER_HISTORYBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_ECMAdmin, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridViewLoginHistory, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerBottom, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerBottom.SuspendLayout()
Me.SuspendLayout()
'
'XtraTabControl1
'
Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.XtraTabControl1.Location = New System.Drawing.Point(0, 0)
Me.XtraTabControl1.Name = "XtraTabControl1"
Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPage1
Me.XtraTabControl1.Size = New System.Drawing.Size(1046, 542)
Me.XtraTabControl1.TabIndex = 0
Me.XtraTabControl1.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2})
'
'XtraTabPage1
'
Me.XtraTabPage1.Controls.Add(Me.SplitContainerTab1)
Me.XtraTabPage1.Name = "XtraTabPage1"
Me.XtraTabPage1.Size = New System.Drawing.Size(1044, 517)
Me.XtraTabPage1.Text = "Logins"
'
'SplitContainerTab1
'
Me.SplitContainerTab1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerTab1.Horizontal = False
Me.SplitContainerTab1.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerTab1.Name = "SplitContainerTab1"
Me.SplitContainerTab1.Panel1.Controls.Add(Me.SplitContainerTop)
Me.SplitContainerTab1.Panel1.Text = "Panel1"
Me.SplitContainerTab1.Panel2.Controls.Add(Me.SplitContainerBottom)
Me.SplitContainerTab1.Panel2.Text = "Panel2"
Me.SplitContainerTab1.Size = New System.Drawing.Size(1044, 517)
Me.SplitContainerTab1.SplitterPosition = 258
Me.SplitContainerTab1.TabIndex = 4
Me.SplitContainerTab1.Text = "SplitContainerControl1"
'
'SplitContainerTop
'
Me.SplitContainerTop.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerTop.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerTop.Name = "SplitContainerTop"
Me.SplitContainerTop.Panel1.Controls.Add(Me.GroupBox1)
Me.SplitContainerTop.Panel1.Text = "Panel1"
Me.SplitContainerTop.Panel2.Text = "Panel2"
Me.SplitContainerTop.Size = New System.Drawing.Size(1044, 258)
Me.SplitContainerTop.SplitterPosition = 622
Me.SplitContainerTop.TabIndex = 6
Me.SplitContainerTop.Text = "SplitContainerControl2"
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.GridControl1)
Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.GroupBox1.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.GroupBox1.Location = New System.Drawing.Point(0, 0)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(622, 258)
Me.GroupBox1.TabIndex = 0
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Detail-Logins (Last 5000):"
'
'GridControl1
'
Me.GridControl1.DataSource = Me.VWDD_LOGIN_USER_HISTORYBindingSource
Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.GridControl1.Location = New System.Drawing.Point(3, 17)
Me.GridControl1.MainView = Me.GridViewLoginHistory
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(616, 238)
Me.GridControl1.TabIndex = 3
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewLoginHistory})
'
'VWDD_LOGIN_USER_HISTORYBindingSource
'
Me.VWDD_LOGIN_USER_HISTORYBindingSource.DataMember = "VWDD_LOGIN_USER_HISTORY"
Me.VWDD_LOGIN_USER_HISTORYBindingSource.DataSource = Me.DD_ECMAdmin
'
'DD_ECMAdmin
'
Me.DD_ECMAdmin.DataSetName = "DD_ECMAdmin"
Me.DD_ECMAdmin.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'GridViewLoginHistory
'
Me.GridViewLoginHistory.Appearance.EvenRow.BackColor = System.Drawing.Color.Aqua
Me.GridViewLoginHistory.Appearance.EvenRow.Options.UseBackColor = True
Me.GridViewLoginHistory.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colGUID, Me.colCLIENT_NAME, Me.colUSERNAME, Me.colNAME, Me.colPRENAME, Me.colLOGIN, Me.colLOGOUT, Me.colVERSION_CLIENT})
Me.GridViewLoginHistory.GridControl = Me.GridControl1
Me.GridViewLoginHistory.Name = "GridViewLoginHistory"
Me.GridViewLoginHistory.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewLoginHistory.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.[False]
Me.GridViewLoginHistory.OptionsBehavior.Editable = False
Me.GridViewLoginHistory.OptionsView.ColumnAutoWidth = False
Me.GridViewLoginHistory.OptionsView.EnableAppearanceEvenRow = True
Me.GridViewLoginHistory.OptionsView.ShowAutoFilterRow = True
'
'colGUID
'
Me.colGUID.FieldName = "GUID"
Me.colGUID.Name = "colGUID"
Me.colGUID.Visible = True
Me.colGUID.VisibleIndex = 0
Me.colGUID.Width = 40
'
'colCLIENT_NAME
'
Me.colCLIENT_NAME.FieldName = "CLIENT_NAME"
Me.colCLIENT_NAME.Name = "colCLIENT_NAME"
Me.colCLIENT_NAME.Visible = True
Me.colCLIENT_NAME.VisibleIndex = 1
Me.colCLIENT_NAME.Width = 105
'
'colUSERNAME
'
Me.colUSERNAME.FieldName = "USERNAME"
Me.colUSERNAME.Name = "colUSERNAME"
Me.colUSERNAME.Visible = True
Me.colUSERNAME.VisibleIndex = 2
Me.colUSERNAME.Width = 86
'
'colNAME
'
Me.colNAME.FieldName = "NAME"
Me.colNAME.Name = "colNAME"
Me.colNAME.Visible = True
Me.colNAME.VisibleIndex = 3
'
'colPRENAME
'
Me.colPRENAME.FieldName = "PRENAME"
Me.colPRENAME.Name = "colPRENAME"
Me.colPRENAME.Visible = True
Me.colPRENAME.VisibleIndex = 4
'
'colLOGIN
'
Me.colLOGIN.FieldName = "LOGIN"
Me.colLOGIN.Name = "colLOGIN"
Me.colLOGIN.Visible = True
Me.colLOGIN.VisibleIndex = 5
Me.colLOGIN.Width = 100
'
'colLOGOUT
'
Me.colLOGOUT.FieldName = "LOGOUT"
Me.colLOGOUT.Name = "colLOGOUT"
Me.colLOGOUT.Visible = True
Me.colLOGOUT.VisibleIndex = 6
Me.colLOGOUT.Width = 98
'
'colVERSION_CLIENT
'
Me.colVERSION_CLIENT.FieldName = "VERSION_CLIENT"
Me.colVERSION_CLIENT.Name = "colVERSION_CLIENT"
Me.colVERSION_CLIENT.Visible = True
Me.colVERSION_CLIENT.VisibleIndex = 7
Me.colVERSION_CLIENT.Width = 101
'
'SplitContainerBottom
'
Me.SplitContainerBottom.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerBottom.Location = New System.Drawing.Point(0, 0)
Me.SplitContainerBottom.Name = "SplitContainerBottom"
Me.SplitContainerBottom.Panel1.Text = "Panel1"
Me.SplitContainerBottom.Panel2.Text = "Panel2"
Me.SplitContainerBottom.Size = New System.Drawing.Size(1044, 247)
Me.SplitContainerBottom.SplitterPosition = 532
Me.SplitContainerBottom.TabIndex = 0
Me.SplitContainerBottom.Text = "SplitContainerControl2"
'
'XtraTabPage2
'
Me.XtraTabPage2.Name = "XtraTabPage2"
Me.XtraTabPage2.Size = New System.Drawing.Size(1040, 514)
Me.XtraTabPage2.Text = "XtraTabPage2"
'
'VWDD_LOGIN_USER_HISTORYTableAdapter
'
Me.VWDD_LOGIN_USER_HISTORYTableAdapter.ClearBeforeFill = True
'
'TableAdapterManager
'
Me.TableAdapterManager.BackupDataSetBeforeUpdate = False
Me.TableAdapterManager.Connection = Nothing
Me.TableAdapterManager.TBDD_CONNECTIONTableAdapter = Nothing
Me.TableAdapterManager.TBPMO_DOCSEARCH_RESULTLIST_CONFIGTableAdapter = Nothing
Me.TableAdapterManager.TBPMO_FORM_CONSTRUCTOR_DETAILTableAdapter = Nothing
Me.TableAdapterManager.TBPMO_FORM_CONSTRUCTORTableAdapter = Nothing
Me.TableAdapterManager.TBPMO_SAP_FUBATableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = DD_Record_Organiser.DD_ECMAdminTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'frmStatistiscsADDI
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1046, 542)
Me.Controls.Add(Me.XtraTabControl1)
Me.Name = "frmStatistiscsADDI"
Me.Text = "Statistik ADDI"
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl1.ResumeLayout(False)
Me.XtraTabPage1.ResumeLayout(False)
CType(Me.SplitContainerTab1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerTab1.ResumeLayout(False)
CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerTop.ResumeLayout(False)
Me.GroupBox1.ResumeLayout(False)
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.VWDD_LOGIN_USER_HISTORYBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DD_ECMAdmin, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridViewLoginHistory, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerBottom, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerBottom.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents XtraTabControl1 As DevExpress.XtraTab.XtraTabControl
Friend WithEvents XtraTabPage1 As DevExpress.XtraTab.XtraTabPage
Friend WithEvents XtraTabPage2 As DevExpress.XtraTab.XtraTabPage
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
Friend WithEvents GridViewLoginHistory As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents DD_ECMAdmin As DD_Record_Organiser.DD_ECMAdmin
Friend WithEvents VWDD_LOGIN_USER_HISTORYBindingSource As System.Windows.Forms.BindingSource
Friend WithEvents VWDD_LOGIN_USER_HISTORYTableAdapter As DD_Record_Organiser.DD_ECMAdminTableAdapters.VWDD_LOGIN_USER_HISTORYTableAdapter
Friend WithEvents TableAdapterManager As DD_Record_Organiser.DD_ECMAdminTableAdapters.TableAdapterManager
Friend WithEvents colGUID As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colCLIENT_NAME As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colUSERNAME As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colNAME As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colPRENAME As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colLOGIN As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colLOGOUT As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colVERSION_CLIENT As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents SplitContainerTab1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents SplitContainerTop As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents SplitContainerBottom As DevExpress.XtraEditors.SplitContainerControl
End Class

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="VWDD_LOGIN_USER_HISTORYBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>152, 17</value>
</metadata>
<metadata name="DD_ECMAdmin.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="VWDD_LOGIN_USER_HISTORYTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>448, 17</value>
</metadata>
<metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>738, 17</value>
</metadata>
</root>

View File

@ -0,0 +1,9 @@
Public Class frmStatistiscsADDI
Private Sub frmStatistiscsADDI_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: Diese Codezeile lädt Daten in die Tabelle "DD_ECMAdmin.VWDD_LOGIN_USER_HISTORY". Sie können sie bei Bedarf verschieben oder entfernen.
Me.VWDD_LOGIN_USER_HISTORYTableAdapter.Connection.ConnectionString = MyConnectionString
Me.VWDD_LOGIN_USER_HISTORYTableAdapter.Fill(Me.DD_ECMAdmin.VWDD_LOGIN_USER_HISTORY)
End Sub
End Class

View File

@ -1,4 +1,5 @@
Public Class frmWD_Dokumentart_Konfig
Imports DD_LIB_Standards
Public Class frmWD_Dokumentart_Konfig
Private Shared _Instance As frmWD_Dokumentart_Konfig = Nothing
Private insert As Boolean = False
Public Shared akt_DokartID As Integer
@ -29,7 +30,6 @@
Me.TBWH_DOKART_MODULETableAdapter.Connection.ConnectionString = MyConnectionString
Refresh_Dokart(False)
ClassWindream.Init()
ObjektTypenEintragen()
If GUIDTextBox.Text <> "" Then
Refresh_DokID_FORM_VIEW()
@ -165,7 +165,7 @@
Catch ex As Exception
MsgBox("Unexpected Error in set Path:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Sub ObjektTypenEintragen()
@ -174,7 +174,7 @@
' Combobox leeren
Me.OBJEKTTYPComboBox.Items.Clear()
' alle Objekttypen durchlaufen
For Each oDokumentTyp In ClassWindream.GetObjecttypesAsObjects
For Each oDokumentTyp In clsWD_GET.GetObjecttypesAsObjects
' und in die Combobox eintragen
Me.OBJEKTTYPComboBox.Items.Add(oDokumentTyp.aName)
Next
@ -191,7 +191,7 @@
Try
If Me.OBJEKTTYPComboBox.SelectedIndex <> -1 Then
Me.INDEXNAMEComboBox.Items.Clear()
Dim indexe = ClassWindream.GetIndicesByObjecttype(OBJEKTTYPComboBox.Text)
Dim indexe = clsWD_GET.GetIndicesByObjecttype(OBJEKTTYPComboBox.Text)
If indexe IsNot Nothing Then
Me.INDEXNAMEComboBox.Items.Add("(ONLY for Nameconvention)")
For Each index As String In indexe
@ -213,7 +213,7 @@
Catch ex As Exception
MsgBox("Unexpected Error in Load_Entities: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Sub Load_ControlTags(FORM_VIEW_ID As Integer)
Try
@ -231,7 +231,7 @@
Catch ex As Exception
MsgBox("Unexpected Error in Load Control Tags: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub ToolStripButton7_Click(sender As Object, e As EventArgs) Handles ToolStripButton7.Click
Save_Indexe_Auto()
@ -252,7 +252,7 @@
Refresh_DokID_FORM_VIEW()
Me.btnAddDokart_Entity.Text = "Entität zu Dokumentart ' " & Me.KURZNAMETextBox.Text & "' hinzufügen"
Case 3
Load_Variable_folder()
Load_Variable_Folder()
End Select
End Sub
@ -498,7 +498,7 @@
cmbIndex_Controls.SelectedIndex = -1
Changes = True
End If
If Changes = True Then
Dim upd = String.Format("UPDATE TBDD_DOKUMENTART SET FOLDER_FOR_INDEX = '{0}', GEANDERTWER = '{1}' WHERE GUID = {2}", FOLDER_FOR_INDEXTextBox.Text, USER_USERNAME, GUIDTextBox.Text)
If ClassDatabase.Execute_non_Query(upd, False) = False Then
@ -508,7 +508,7 @@
cmbCrFolderDate.SelectedIndex = -1
cmbIndex_Controls.SelectedIndex = -1
End If
End Sub
Private Sub btncrFolder_delete_Click(sender As Object, e As EventArgs)

View File

@ -1,5 +1,5 @@
Imports System.IO
Imports DD_LIB_Standards
Public Class frmWD_EntityImport
Private LOCAL_IMPORTFILE As String
Private LOCAL_NEWFILESTRING As String
@ -11,7 +11,7 @@ Public Class frmWD_EntityImport
Private Sub frmWD_EntityImport_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.txtEntityString.Text = CURRENT_ENTITYSTRING
If ClassWindream.Init = True Then
If clsWindream.SESSION_CREATED = True Then
ObjektTypenEintragen()
End If
@ -25,7 +25,7 @@ Public Class frmWD_EntityImport
' Combobox leeren
Me.cmbObjekttyp.Items.Clear()
' alle Objekttypen durchlaufen
For Each oDokumentTyp In ClassWindream.GetObjecttypesAsObjects
For Each oDokumentTyp In clsWD_GET.GetObjecttypesAsObjects
' und in die Combobox eintragen
Me.cmbObjekttyp.Items.Add(oDokumentTyp.aName)
Next
@ -139,42 +139,42 @@ Public Class frmWD_EntityImport
End Sub
Private Function WINDREAM_IMPORT()
Try
ClassWindream._WDObjekttyp = Me.cmbObjekttyp.Text
Dim streamresult = ClassWindream.Stream_File(LOCAL_IMPORTFILE, LOCAL_TARGET_PATH)
clsWindream.MY_WDOBJECTTYPE = Me.cmbObjekttyp.Text
Dim streamresult = clsWD_SET.Stream_File(LOCAL_IMPORTFILE, LOCAL_TARGET_PATH)
'Dim type = streamresult.GetType
If streamresult = True Then
Dim indexierung_erfolgreich As Boolean = False
'den Entity-Key auslesen
Dim sql As String = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & ClassWindream._WDObjekttyp & "')"
Dim sql As String = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & clsWindream.MY_WDOBJECTTYPE & "')"
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql, True)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
Dim indexname = dt.Rows(0).Item("IDXNAME_ENTITYID").ToString
Dim idxvalue = CURRENT_ENTITY_ID
If LogErrorsOnly = False Then ClassLogger.Add(" >> Entity-ID: " & idxvalue.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
MsgBox("Error in indexing file Entity - See log", MsgBoxStyle.Critical)
End If
indexname = dt.Rows(0).Item("IDXNAME_PARENTID").ToString
idxvalue = CURRENT_PARENT_ENTITY_ID
If LogErrorsOnly = False Then ClassLogger.Add(" >> Parent-ID: " & idxvalue.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then MsgBox("Error in indexing file Parent-ID - See log", MsgBoxStyle.Critical)
'###
'den Record-Key auslesen
indexname = dt.Rows(0).Item("IDXNAME_PARENTID").ToString
idxvalue = CURRENT_RECORD_ID
If LogErrorsOnly = False Then ClassLogger.Add(" >> Record-ID: " & idxvalue.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then MsgBox("Unexpected Error in indexing file Record-ID - See log", MsgBoxStyle.Critical)
'den Doctype-Key auslesen
indexname = dt.Rows(0).Item("IDXNAME_DOCTYPE").ToString
idxvalue = CURRENT_DOKARTSTRING
If LogErrorsOnly = False Then ClassLogger.Add(" >> Doctype: " & idxvalue.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then MsgBox("Unexpected Error in indexing file Doctype - See log", MsgBoxStyle.Critical)
'####
End If

View File

@ -1,5 +1,6 @@
Imports System.ComponentModel
Imports WINDREAMLib
Imports DD_LIB_Standards
Public Class frmWD_Import_Doc_Record
Private bwsearch As New BackgroundWorker
@ -41,8 +42,10 @@ Public Class frmWD_Import_Doc_Record
End Try
End Sub
Private Sub frmWD_Import_Doc_Recordvb_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If ClassWindream.Init() = True Then
If clsWindream.Create_Session = True Then
ObjektTypenEintragen()
Else
MsgBox("Could not create a windream-session!!", MsgBoxStyle.Critical)
End If
Try
Me.TBPMO_WD_IMPORT_PROFILETableAdapter.Connection.ConnectionString = MyConnectionString
@ -53,8 +56,6 @@ Public Class frmWD_Import_Doc_Record
End Try
Laod_Profiles()
Load_Profiles_ComboBox()
'TODO: Diese Codezeile lädt Daten in die Tabelle "DD_DMSDataSet.TBPMO_WD_IMPORT_PROFILE". Sie können sie bei Bedarf verschieben oder entfernen.
End Sub
Sub Laod_Profiles()
@ -89,7 +90,7 @@ Public Class frmWD_Import_Doc_Record
Me.NEW_OBJECTTYPEComboBox.Items.Clear()
Me.OLD_OBJECTTYPEComboBox.Items.Clear()
' alle Objekttypen durchlaufen
For Each oDokumentTyp In ClassWindream.GetObjecttypesAsObjects
For Each oDokumentTyp In clsWD_GET.GetObjecttypesAsObjects
' und in die Combobox eintragen
Me.NEW_OBJECTTYPEComboBox.Items.Add(oDokumentTyp.aName)
Me.OLD_OBJECTTYPEComboBox.Items.Add(oDokumentTyp.aName)
@ -159,7 +160,7 @@ Public Class frmWD_Import_Doc_Record
End Sub
Public Sub Start_Profile()
Try
If ClassWindream.Init = False Then
If clsWindream.SESSION_CREATED = False Then
MsgBox("windream could not be init'ed!!", MsgBoxStyle.Critical)
Exit Sub
End If
@ -182,7 +183,7 @@ Public Class frmWD_Import_Doc_Record
Me.ProgressBar1.Maximum = windreamSucheErgebnisse.Count
Me.ProgressBar1.Value = 0
Me.Refresh()
ClassWindream._WDObjekttyp = PROFILE_NEW_OT
clsWindream.MY_WDOBJECTTYPE = PROFILE_NEW_OT
_Filesimported = 0
_RecordsAdded = 0
Work_Files()
@ -215,7 +216,7 @@ Public Class frmWD_Import_Doc_Record
End Sub
Sub RUN_SEARCH()
Try
windreamSucheErgebnisse = ClassWindream.GetSearchDocuments(PROFILE_WD_SEARCH)
windreamSucheErgebnisse = clsWD_GET.GetSearchDocuments(PROFILE_WD_SEARCH)
ClassLogger.Add(">> Files Result: " & windreamSucheErgebnisse.Count, False)
Search_Completed = True
Catch ex As Exception
@ -350,8 +351,12 @@ Public Class frmWD_Import_Doc_Record
'#####
If Not IsNothing(DokTYPE_ID) Then
Sql = "SELECT ZIEL_PFAD FROM TBDD_DOKUMENTART WHERE GUID = " & DokTYPE_ID
Dim Targetpath = ClassDatabase.Execute_Scalar(Sql)
Sql = "SELECT ZIEL_PFAD, OBJEKTTYP FROM TBDD_DOKUMENTART WHERE GUID = " & DokTYPE_ID
Dim DT As DataTable = clsDatabase.Return_Datatable(Sql)
If DT.Rows.Count <> 1 Then
Return False
End If
Dim Targetpath = DT.Rows(0).Item(0)
Dim document_ID
Try
document_ID = aktivesDokument.GetVariableValue("dwDocID")
@ -364,13 +369,13 @@ Public Class frmWD_Import_Doc_Record
End Try
If ClassImport_Windream.Version_Ueberprüfen(Targetpath & "\" & IO.Path.GetFileName("W:" & aktivesDokument.aPath)) = True Then
'CURRENT_NEWFILENAME = Targetpath & "\" & IO.Path.GetFileName("W:" & aktivesDokument.aPath)
Dim streamresult = ClassWindream.Stream_File("W:" & aktivesDokument.aPath, Targetpath, True)
Dim streamresult = clsWD_SET.Stream_File("W:" & aktivesDokument.aPath, Targetpath, True)
If streamresult = True Then
'Die EntitätsID indexieren
Sql = "SELECT STRING2 FROM TBPMO_WD_IMPORT_PROFILE_IDX WHERE STRING1 = 'INDEX_ENTITY_ID' AND PROFILE_ID = " & cmbImportProfile.SelectedValue
Dim ENTITY_INDEX As String = ClassDatabase.Execute_Scalar(Sql)
If Not IsNothing(ENTITY_INDEX) Then
ClassWindream.IndexFile(CURRENT_FILEIN_WD, ENTITY_INDEX, PROFILE_ENTITY)
clsWD_SET.IndexFile(CURRENT_FILEIN_WD, ENTITY_INDEX, PROFILE_ENTITY, DT.Rows(0).Item(1))
End If
Try
If Not IsNothing(IMP_PARENT_REC_ID) Then
@ -378,7 +383,7 @@ Public Class frmWD_Import_Doc_Record
Sql = "SELECT IDXNAME_PARENTID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = '" & PROFILE_NEW_OT & "'"
Dim PIDENT As String = ClassDatabase.Execute_Scalar(Sql)
If Not IsNothing(PIDENT) Then
ClassWindream.IndexFile(CURRENT_FILEIN_WD, PIDENT, IMP_PARENT_REC_ID.ToString)
clsWD_SET.IndexFile(CURRENT_FILEIN_WD, PIDENT, IMP_PARENT_REC_ID.ToString, DT.Rows(0).Item(1))
End If
End If
Catch ex As Exception
@ -391,7 +396,7 @@ Public Class frmWD_Import_Doc_Record
Sql = "SELECT IDXNAME_ENTITYID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = '" & PROFILE_NEW_OT & "'"
Dim IDXENTITY As String = ClassDatabase.Execute_Scalar(Sql)
If Not IsNothing(IDXENTITY) Then
ClassWindream.IndexFile(CURRENT_FILEIN_WD, IDXENTITY, PROFILE_ENTITY.ToString)
clsWD_SET.IndexFile(CURRENT_FILEIN_WD, IDXENTITY, PROFILE_ENTITY.ToString, DT.Rows(0).Item(1))
End If
End If
Catch ex As Exception
@ -405,12 +410,12 @@ Public Class frmWD_Import_Doc_Record
Sql = "SELECT IDXNAME_DOCTYPE FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = '" & PROFILE_NEW_OT & "'"
Dim DoctypeIndex As String = ClassDatabase.Execute_Scalar(Sql)
If Not IsNothing(DoctypeIndex) Then
ClassWindream.IndexFile(CURRENT_FILEIN_WD, DoctypeIndex, DOCTYPE_STRING.ToString)
clsWD_SET.IndexFile(CURRENT_FILEIN_WD, DoctypeIndex, DOCTYPE_STRING.ToString, DT.Rows(0).Item(1))
Else
Sql = "SELECT STRING2 FROM TBPMO_WD_IMPORT_PROFILE_IDX WHERE STRING1 = 'INDEX_DOCTYPE' AND PROFILE_ID = " & cmbImportProfile.SelectedValue
DoctypeIndex = ClassDatabase.Execute_Scalar(Sql)
If Not IsNothing(DoctypeIndex) Then
ClassWindream.IndexFile(CURRENT_FILEIN_WD, DoctypeIndex, DOCTYPE_STRING)
clsWD_SET.IndexFile(CURRENT_FILEIN_WD, DoctypeIndex, DOCTYPE_STRING, DT.Rows(0).Item(1))
End If
End If
'#####
@ -418,18 +423,18 @@ Public Class frmWD_Import_Doc_Record
Sql = "SELECT IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = '" & PROFILE_NEW_OT & "'"
Dim RecordIndex As String = ClassDatabase.Execute_Scalar(Sql)
If Not IsNothing(RecordIndex) Then
ClassWindream.IndexFile(CURRENT_FILEIN_WD, RecordIndex, IMPORT_REC_ID)
clsWD_SET.IndexFile(CURRENT_FILEIN_WD, RecordIndex, IMPORT_REC_ID, DT.Rows(0).Item(1))
Else
Sql = "SELECT STRING2 FROM TBPMO_WD_IMPORT_PROFILE_IDX WHERE STRING1 = 'INDEX_RECORD_ID' AND PROFILE_ID = " & cmbImportProfile.SelectedValue
RecordIndex = ClassDatabase.Execute_Scalar(Sql)
If ClassWindream.IndexFile(CURRENT_FILEIN_WD, RecordIndex, IMPORT_REC_ID) Then
If clsWD_SET.IndexFile(CURRENT_FILEIN_WD, RecordIndex, IMPORT_REC_ID, DT.Rows(0).Item(1)) Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Record Index was written", False)
End If
End If
If PROFILE_IDX_WORKED <> "" Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Setting the Exported to ADDI-Flag - windream-index '" & PROFILE_IDX_WORKED & "'", False)
ClassWindream.File_SetBooleanIndex(True, aktivesDokument, PROFILE_IDX_WORKED, False)
clsWD_SET.File_SetBooleanIndex(True, aktivesDokument, PROFILE_IDX_WORKED, False)
End If
_Filesimported += 1
Return True
@ -606,7 +611,7 @@ Public Class frmWD_Import_Doc_Record
Sub Load_StringBox2()
Try
Me.STRING2ComboBox.Items.Clear()
Dim indexe = ClassWindream.GetIndicesByObjecttype(OLD_OBJECTTYPEComboBox.Text)
Dim indexe = clsWD_GET.GetIndicesByObjecttype(OLD_OBJECTTYPEComboBox.Text)
If indexe IsNot Nothing Then
For Each index As String In indexe
Me.STRING2ComboBox.Items.Add(index)
@ -666,11 +671,11 @@ Public Class frmWD_Import_Doc_Record
Private Sub NEW_OBJECTTYPEComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles NEW_OBJECTTYPEComboBox.SelectedIndexChanged
If NEW_OBJECTTYPEComboBox.Text = "" Or NEW_OBJECTTYPEComboBox.SelectedIndex = -1 Then Exit Sub
Dim indexe = ClassWindream.GetIndicesByObjecttype(OLD_OBJECTTYPEComboBox.Text)
Dim indexe = clsWD_GET.GetIndicesByObjecttype(OLD_OBJECTTYPEComboBox.Text)
If indexe IsNot Nothing Then
Me.IDX_FILE_WORKEDComboBox.Items.Add("")
For Each index As String In indexe
Select Case ClassWindream.GetTypeOfIndexAsIntByName(index)
Select Case clsWD_GET.GetTypeOfIndexAsIntByName(index)
Case 4
Me.IDX_FILE_WORKEDComboBox.Items.Add(index)
'Case 1

View File

@ -3,6 +3,7 @@ Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client
Imports DD_LIB_Standards
Public Class frmWD_IndexFile
Dim droptype As String
@ -20,18 +21,82 @@ Public Class frmWD_IndexFile
If ClassImport_Windream.Name_Generieren(DOCTYPE_IDTextBox.Text) = False Then
Return False
End If
If clsWD_GET.WDFile_exists(CURRENT_NEWFILENAME.Substring(2)) = True Then
Dim msg = "Eine Datei mit identischem Namen existiert bereits! Wollen Sie die bestehende Datei ersetzen?"
If USER_LANGUAGE <> "de-DE" Then
msg = "There is already a file with the same name! Would You like to replace the file?"
End If
Dim result As MsgBoxResult
result = MessageBox.Show(msg, "File alredy exists:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
If clsWD_SET.Delete_WDFile(CURRENT_NEWFILENAME.Substring(2)) = False Then
Return False
End If
Else
CURRENT_NEWFILENAME = ClassHelper.Versionierung_Datei(CURRENT_NEWFILENAME)
End If
End If
'#################################################################
'Stream File to windream
'#################################################################
Dim streamresult = ClassWindream.Stream_File(ImportFilePath, VerzeichnisZiel)
Dim streamresult = clsWD_SET.Stream_File(ImportFilePath, CURRENT_NEWFILENAME, False)
'#################################################################
If streamresult = True Then
CURRENT_FILEIN_WD = CURRENT_NEWFILENAME
Dim sql = "SELECT * FROM TBDD_INDEX_AUTOM WHERE ACTIVE = 1 AND UPPER(INDEXNAME) NOT LIKE UPPER('%ONLY %') AND SQL_ACTIVE = 0 AND DOCTYPE_ID = " & vDokart_ID
Dim DT_AUTO_INDEXE As DataTable = ClassDatabase.Return_Datatable(sql, True)
Dim indexierung_erfolgreich As Boolean = False
'Einbauen dass auch Konfigurationen erlaubt sind wo der Doktyp und der Record fest gestzt sind
'Erst die Objekttyp-Indices indexieren
'den Entity-Key auslesen
Dim DT As DataTable
sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & clsWindream.MY_WDOBJECTTYPE & "')"
DT = ClassDatabase.Return_Datatable(sql, True)
If Not DT Is Nothing Then
If DT.Rows.Count = 1 Then
'den Record_Key auslesen
Dim indexname = DT.Rows(0).Item("IDXNAME_RECORDID").ToString
If LogErrorsOnly = False Then ClassLogger.Add(" >> Record-ID: " & CURRENT_RECORD_ID.ToString, False)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, CURRENT_RECORD_ID, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
err = True
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in WorkFile-indexing RecordID '" & indexname & "') - Check logfile!")
Return False
End If
'den Entity-Key auslesen
indexname = DT.Rows(0).Item("IDXNAME_ENTITYID").ToString
If LogErrorsOnly = False Then ClassLogger.Add(" >> Entity-ID: " & CURRENT_ENTITY_ID.ToString, False)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, CURRENT_ENTITY_ID, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
err = True
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in WorkFile-indexing EntityID '" & indexname & "') - Check logfile!")
Return False
End If
If CURRENT_REDUNDANT_FORM_ID <> 0 Then
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, CURRENT_REDUNDANT_FORM_ID, clsWindream.MY_WDOBJECTTYPE)
End If
'den Doctype auslesen
indexname = DT.Rows(0).Item("IDXNAME_DOCTYPE").ToString
If LogErrorsOnly = False Then ClassLogger.Add(" >> Doctype: " & vDokart.ToString, False)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, vDokart, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
err = True
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in WorkFile-indexing Doctype '" & indexname & "') - Check logfile!")
Return False
End If
indexname = DT.Rows(0).Item("IDXNAME_RELATION").ToString
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, "ADDI-RELATION", clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
err = True
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in WorkFile-indexing AddiRelation '" & indexname & "') - Check logfile!")
Return False
End If
End If
End If
If DT_AUTO_INDEXE Is Nothing = False Then 'CHECK DD
If DT_AUTO_INDEXE.Rows.Count >= 0 Then
If DT_AUTO_INDEXE.Rows.Count > 0 Then
Dim Count As Integer = 0
For Each row As DataRow In DT_AUTO_INDEXE.Rows
Dim indexname = row.Item("INDEXNAME").ToString
@ -91,7 +156,7 @@ Public Class frmWD_IndexFile
End If
If LogErrorsOnly = False Then ClassLogger.Add(" >> Value for Indexing : '" & idxvalue.ToString & "'", False)
Count += 1
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue)
indexierung_erfolgreich = clsWD_SET.IndexFile(CURRENT_FILEIN_WD, indexname, idxvalue, clsWindream.MY_WDOBJECTTYPE)
If indexierung_erfolgreich = False Then
MsgBox("Unexpected Error in indexing file - See log", MsgBoxStyle.Critical)
err = True
@ -102,123 +167,100 @@ Public Class frmWD_IndexFile
If err = True Then
Return False
End If
'den Entity-Key auslesen
Dim DT As DataTable
sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & ClassWindream._WDObjekttyp & "')"
DT = ClassDatabase.Return_Datatable(sql, True)
If Not dt Is Nothing Then
If dt.Rows.Count = 1 Then
'den Entity-Key auslesen
Dim indexname = dt.Rows(0).Item("IDXNAME_ENTITYID").ToString
If LogErrorsOnly = False Then ClassLogger.Add(" >> Entity-ID: " & CURRENT_ENTITY_ID.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, CURRENT_ENTITY_ID)
If indexierung_erfolgreich = False Then
err = True
MsgBox("Unexpected Error in indexing file Entity - See log", MsgBoxStyle.Critical)
Return False
End If
If CURRENT_REDUNDANT_FORM_ID <> 0 Then
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, CURRENT_REDUNDANT_FORM_ID)
End If
'den Doctype auslesen
indexname = DT.Rows(0).Item("IDXNAME_DOCTYPE").ToString
If LogErrorsOnly = False Then ClassLogger.Add(" >> Doctype: " & vDokart.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, vDokart)
If indexierung_erfolgreich = False Then
err = True
MsgBox("Unexpected Error in indexing file Doctype - See log", MsgBoxStyle.Critical)
Return False
End If
'den Record_Key auslesen
indexname = dt.Rows(0).Item("IDXNAME_RECORDID").ToString
If LogErrorsOnly = False Then ClassLogger.Add(" >> Record-ID: " & CURRENT_RECORD_ID.ToString, False)
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, CURRENT_RECORD_ID)
If indexierung_erfolgreich = False Then
err = True
MsgBox("Unexpected Error in indexing file Record-ID - See log", MsgBoxStyle.Critical)
Return False
End If
indexname = DT.Rows(0).Item("IDXNAME_RELATION").ToString
indexierung_erfolgreich = ClassWindream.IndexFile(CURRENT_FILEIN_WD, indexname, "ADDI-RELATION")
If indexierung_erfolgreich = False Then
err = True
MsgBox("Unexpected Error in indexing file AddiRelation - See log", MsgBoxStyle.Critical)
Return False
End If
Else
'MsgBox("Attention in Work-File:" & vbNewLine & "No indices were defined (1)!", MsgBoxStyle.Critical)
'Return False
End If
Else
MsgBox("Attention in Work-File:" & vbNewLine & "No indices were defined (0)!", MsgBoxStyle.Critical)
Return False
End If
'Nun alles aufrüumen und die neue DocID holen
If indexierung_erfolgreich = True Then
ClassLogger.Add(">> File was correctly imported and indexed: " & CURRENT_FILEIN_WD, False)
Dim stg As String = "Datei erfolgreich nach windream übertragen"
Dim stg1 As String = "Erfolgsmeldung"
If USER_LANGUAGE <> "de-DE" Then
stg = "File was successfully transfered to windream"
stg1 = "Success:"
End If
If multiindex = False Then CURRENT_NOTIFICATION_MSG = stg
ClassDatabase.Execute_Scalar("UPDATE TBPMO_FILES_USER SET WORKED = 1 WHERE GUID = " & CURRENT_FILEID, True)
For Each row As DataRow In CURRENT_TBPMO_FILES_USER.Rows
If row.Item("GUID") = CURRENT_FILEID Then
row.Item("WORKED") = 1
If IsNothing(droptype) Then
droptype = row.Item("HANDLE_TYPE")
End If
End If
If indexierung_erfolgreich = True Then
ClassLogger.Add(">> File was correctly imported and indexed: " & CURRENT_FILEIN_WD, False)
Dim stg As String = "Datei erfolgreich nach windream übertragen"
Dim stg1 As String = "Erfolgsmeldung"
If USER_LANGUAGE <> "de-DE" Then
stg = "File was successfully transfered to windream"
stg1 = "Success:"
Next
sql = String.Format("SELECT DocID FROM VWPMO_DOC_SYNC WHERE UPPER(FULL_FILENAME) = UPPER('{0}') AND CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())", CURRENT_FILEIN_WD)
CURRENT_DOC_ID = ClassDatabase.Execute_Scalar(sql)
If Not IsNothing(CURRENT_DOC_ID) Then
Dim delete = False
'Die Originaldatei löschen
If droptype = "dragdrop file" And indexierung_erfolgreich = True Then
If chkdelete_origin.Checked = True Then
'Die temporäre Datei löschen
File.Delete(aktFiledropped)
End If
If multiindex = False Then MsgBox(stg, MsgBoxStyle.Information, stg1)
ClassDatabase.Execute_Scalar("UPDATE TBPMO_FILES_USER SET WORKED = 1 WHERE GUID = " & CURRENT_FILEID, True)
ElseIf (droptype = "@ATTMNTEXTRACTED@" Or droptype = "SCAN") And indexierung_erfolgreich = True Then
'Die temporäre Datei löschen
delete = True
ElseIf droptype = "dragdrop message" And indexierung_erfolgreich = True Then
'Die temporäre Datei löschen
delete = True
End If
If delete = True Then
For Each row As DataRow In CURRENT_TBPMO_FILES_USER.Rows
If row.Item("GUID") = CURRENT_FILEID Then
row.Item("WORKED") = 1
row.Item("DELETE_FILE") = True
End If
Next
'Die Originaldatei löschen
If droptype = "dragdrop file" And indexierung_erfolgreich = True Then
If chkdelete_origin.Checked = True Then
'Die temporäre Datei löschen
File.Delete(aktFiledropped)
End If
ElseIf (droptype = "@ATTMNTEXTRACTED@" Or droptype = "SCAN") And indexierung_erfolgreich = True Then
'Die temporäre Datei löschen
File.Delete(aktFiledropped)
ElseIf droptype = "dragdrop message" And indexierung_erfolgreich = True Then
'Die temporäre Datei löschen
File.Delete(aktFiledropped)
End If
sql = String.Format("SELECT DocID FROM VWPMO_DOC_SYNC WHERE UPPER(FULL_FILENAME) = UPPER('{0}') AND CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())", CURRENT_FILEIN_WD)
CURRENT_DOC_ID = ClassDatabase.Execute_Scalar(sql)
If Not IsNothing(CURRENT_DOC_ID) Then
If ClassDOC_SEARCH.SET_WD_RIGHTS(CURRENT_DOC_ID, CURRENT_FILEIN_WD, CURRENT_ENTITY_ID) = False Then
MsgBox("The rights for the new file could not be created! Please check the logfile!" & vbNewLine & _
"ADDI will try to give You at least reading rights!", MsgBoxStyle.Exclamation)
DD_Rights.ClassRights.SetRightExplicit(CURRENT_DOC_ID, CURRENT_FILEIN_WD, USER_USERNAME, 1)
ClassHelper.InsertEssential_Log(CURRENT_DOC_ID, "DOC-ID", "NEW FILE INDEXING - RIGHTS COULD NOT BE SET!!")
End If
'Create Session um Fehler bei windows Session icht zu erzeugen
FAU_AD_USER = ""
ClassWindream.Create_Session()
If CURRENT_REDUNDANT_FORM_ID <> 0 Then
ClassDOC_SEARCH.SET_WD_RIGHTS(CURRENT_DOC_ID, CURRENT_FILEIN_WD, CURRENT_REDUNDANT_FORM_ID)
End If
ClassFileResult.DocID = CURRENT_DOC_ID
ClassFileResult.SET_DOCID_INDICES()
If ClassDOC_SEARCH.CREATE_DOC_RELATED_LINKS(CURRENT_DOC_ID, CURRENT_RECORD_ID) = False Then
stg = "Unerwarteter Fehler: Der Record-Link konnte nicht erzeugt werden! Überprüfen Sie das Log."
If USER_LANGUAGE <> "de-DE" Then
stg = "Unexpected Error: Could not create the recordlink! Please check the log."
End If
End If
MsgBox(stg, MsgBoxStyle.Critical, stg1)
End If
Else
stg = "Unerwarteter Fehler: Es konnte keine DocID für die übertragene Datei erzeugt werden!"
If clsWindream.Create_Session() = False Then
MsgBox("Could not create a windream-session!", MsgBoxStyle.Critical)
Else
If ClassDOC_SEARCH.SET_WD_RIGHTS(CURRENT_DOC_ID, CURRENT_FILEIN_WD, CURRENT_ENTITY_ID) = False Then
MsgBox("The rights for the new file could not be created! Please check the logfile!" & vbNewLine & _
"ADDI will try to give You at least reading rights!", MsgBoxStyle.Exclamation)
DD_Rights.ClassRights.SetRightExplicit(CURRENT_DOC_ID, CURRENT_FILEIN_WD, USER_USERNAME, 1)
ClassHelper.InsertEssential_Log(CURRENT_DOC_ID, "DOC-ID", "NEW FILE INDEXING - RIGHTS COULD NOT BE SET!!")
End If
'Create Session um Fehler bei windows Session nicht zu erzeugen
FAU_AD_USER = ""
If CURRENT_REDUNDANT_FORM_ID <> 0 Then
ClassDOC_SEARCH.SET_WD_RIGHTS(CURRENT_DOC_ID, CURRENT_FILEIN_WD, CURRENT_REDUNDANT_FORM_ID)
End If
ClassFileResult.DocID = CURRENT_DOC_ID
ClassFileResult.SET_DOCID_INDICES()
If ClassDOC_SEARCH.CREATE_DOC_RELATED_LINKS(CURRENT_DOC_ID, CURRENT_RECORD_ID) = False Then
stg = "Unerwarteter Fehler: Der Record-Link konnte nicht erzeugt werden! Überprüfen Sie das Log."
If USER_LANGUAGE <> "de-DE" Then
stg = "Unexpected Error: Could not get a docId for transmitted file!"
stg = "Unexpected Error: Could not create the recordlink! Please check the log."
End If
MsgBox(stg, MsgBoxStyle.Critical, stg1)
End If
Else
MsgBox("An unexpected error occured while indexing file. Please check the log!", MsgBoxStyle.Exclamation)
Return False
End If
Else
MsgBox("Attention in Work-File:" & vbNewLine & "No indices were defined (1)!", MsgBoxStyle.Critical)
Return False
stg = "Unerwarteter Fehler: Es konnte keine DocID für die übertragene Datei erzeugt werden!"
If USER_LANGUAGE <> "de-DE" Then
stg = "Unexpected Error: Could not get a docId for transmitted file!"
End If
MsgBox(stg, MsgBoxStyle.Critical, stg1)
End If
Else
MsgBox("Attention in Work-File:" & vbNewLine & "No indices were defined (0)!", MsgBoxStyle.Critical)
MsgBox("An unexpected error occured while indexing file. Please check the log!", MsgBoxStyle.Exclamation)
Return False
End If
@ -362,7 +404,7 @@ Public Class frmWD_IndexFile
Try
Me.Cursor = Cursors.WaitCursor
SaveMySettingsValue("WD_IndexDeleteDocs", WD_IndexDeleteDocs, "ConfigMain")
ClassWindream._WDObjekttyp = Me.OBJECT_TYPETextBox.Text
clsWindream.MY_WDOBJECTTYPE = Me.OBJECT_TYPETextBox.Text
If chkMultiIndexer.Visible = True And chkMultiIndexer.Checked = True Then
'Die erste Datei indexieren
@ -382,6 +424,8 @@ Public Class frmWD_IndexFile
droptype = "dragdrop attachment"
ElseIf HandleType = "@OUTLOOKMESSAGE@" Then
droptype = "dragdrop message"
Else
droptype = filerow.Item("HANDLE_TYPE")
End If
If WORK_FILE(CURRENT_FILENAME, Me.PATHTextBox.Text, doctype_id, My.Settings.WD_INDEXDOKART_SAVE, True) = False Then
err = True

View File

@ -1,4 +1,5 @@
Public Class frmWD_ObjecttypeConfig
Imports DD_LIB_Standards
Public Class frmWD_ObjecttypeConfig
Private Shared _Instance As frmWD_ObjecttypeConfig = Nothing
Public Shared Function Instance() As frmWD_ObjecttypeConfig
@ -29,10 +30,8 @@
Private Sub frmObjecttypeConfig_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: Diese Codezeile lädt Daten in die Tabelle "DD_DMSDataSet.TBPMO_WD_OBJECTTYPE". Sie können sie bei Bedarf verschieben oder entfernen.
Try
TBPMO_WD_OBJECTTYPETableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBPMO_WD_OBJECTTYPETableAdapter.Fill(Me.DD_DMSDataSet.TBPMO_WD_OBJECTTYPE)
ClassWindream.Init()
Catch ex As Exception
MsgBox("Error loading Form:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
@ -44,7 +43,7 @@
' Combobox leeren
Me.OBJECT_TYPEComboBox.Items.Clear()
' alle Objekttypen durchlaufen
For Each oDokumentTyp In ClassWindream.GetObjecttypesAsObjects
For Each oDokumentTyp In clsWD_GET.GetObjecttypesAsObjects
' und in die Combobox eintragen
Me.OBJECT_TYPEComboBox.Items.Add(oDokumentTyp.aName)
Next
@ -64,7 +63,7 @@
Me.IDXNAME_PARENTIDComboBox.Items.Clear()
Me.cmbDokartIndex.Items.Clear()
Me.cmbRecordIndex.Items.Clear()
Dim indexe = ClassWindream.GetIndicesByObjecttype(OBJECT_TYPEComboBox.Text)
Dim indexe = clsWD_GET.GetIndicesByObjecttype(OBJECT_TYPEComboBox.Text)
If indexe IsNot Nothing Then
For Each index As String In indexe
Me.IDXNAME_ENTITYIDComboBox.Items.Add(index)

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
</configuration>

View File

@ -0,0 +1,85 @@
Imports System.ComponentModel
Imports System.IO
Imports DD_LIB_Standards
Public Class ClassInit
Public Sub New()
End Sub
Public Sub InitLogger()
ClassLogger.Init("", "VersionChecker")
clsLogger.LOGFILE_PATH = ClassLogger.logDateiname
End Sub
Public Function InitDatabase()
Try
Dim dbResult As Boolean
clsDatabase.GUI = True
If MyConnectionString <> String.Empty Then
dbResult = clsDatabase.Init(MyConnectionString)
Return dbResult
Else
Return False
End If
Catch ex As Exception
MsgBox("Unexpected Error in Init Database:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
Public Sub InitBasics()
Try
Dim sql = String.Format("SELECT * FROM TBPMO_KONFIGURATION WHERE GUID = 1")
Dim KONFIG_DT As DataTable = clsDatabase.Return_Datatable(sql, False)
If KONFIG_DT.Rows.Count = 1 Then
Try
MyServer_UpdatePath = KONFIG_DT.Rows(0).Item("UPDATE_PATH")
VERSION_SERVER = KONFIG_DT.Rows(0).Item("VERSION_CLIENT")
Catch ex As Exception
End Try
End If
Catch ex As Exception
MsgBox("Unexpected Error in InitBasics:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Shared Function InitUserLogin(Optional _User As String = "")
Try
Dim sql = ""
USER_USERNAME = Environment.UserName
sql = String.Format("SELECT * FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('{0}'))", USER_USERNAME)
Dim USER_DT As DataTable = clsDatabase.Return_Datatable(sql, True)
If USER_DT.Rows.Count = 0 Then
ClassLogger.Add(" - User '" & USER_USERNAME & "' not listed in Useradministration!", False)
'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
'Me.Close()
Dim msg = String.Format("You are not listed in the Useradministration." & vbNewLine & "Please contact the admin.")
MsgBox(msg, MsgBoxStyle.Exclamation)
Return False
Else
USER_GUID = USER_DT.Rows(0).Item("GUID")
sql = String.Format("SELECT UPDATE_PATH FROM TBPMO_USER_UPDATE_PATH WHERE USER_ID = {0}", USER_GUID)
Dim USER_UPDATE_PATH = clsDatabase.Execute_Scalar(sql)
If Not IsNothing(USER_UPDATE_PATH) Then
If USER_UPDATE_PATH <> String.Empty Then
MyServer_UpdatePath = USER_UPDATE_PATH
End If
End If
sql = String.Format("SELECT CASE VERSION_CLIENT WHEN '' THEN '1.0.0.0' ELSE VERSION_CLIENT END AS VERSION_CLIENT FROM VWDD_LOGIN_USER_HISTORY WHERE GUID = (select MAX(GUID) from VWDD_LOGIN_USER_HISTORY where USER_ID = {0} AND VERSION_CLIENT <> '')", USER_GUID)
VERSION_USER = clsDatabase.Execute_Scalar(sql)
Return True
End If
Catch ex As Exception
ClassLogger.Add("Unexpected Error in InitUserLogin: " & ex.Message, True)
MsgBox("Unexpected Error in InitUserLogin: " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function
End Class

View File

@ -0,0 +1,200 @@
Imports System.IO
Public Class ClassLogger
Public Shared DateiSpeicherort As String = Nothing
Public Shared DateiPrefix As String = ""
Public Shared Datei As IO.File = Nothing
Public Shared logDateiname As String = ""
Private Shared StreamWriter As IO.StreamWriter = Nothing
Private Shared HasInformedAboutError As Boolean = False
' eine Art Konstruktor
Public Shared Sub Init(ByVal speicherort As String, Optional ByVal prefix As String = "", Optional ByVal appendFile As Boolean = True)
' initialisiert den Speicherort
ClassLogger.SetSpeicherort(speicherort)
' wenn ein Prfix gesetzt wurde
If Not prefix = "" Then
' initialisiert das Prefix
ClassLogger.SetPrefix(prefix)
End If
Dim str As String = ClassLogger.DateiSpeicherort & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt"
Dim anz As Integer = 1
Do While File.Exists(str)
Dim info As New FileInfo(str)
Dim length As Long = info.Length
If length > 5000000 Then
str = IO.Path.GetDirectoryName(str)
str = str & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & "(" & anz.ToString & ").txt"
anz = anz + 1
Else
Exit Do
End If
Loop
ClassLogger.logDateiname = str
If Not appendFile Then
' der Versuch die Datei zu löschen
My.Computer.FileSystem.WriteAllText(ClassLogger.logDateiname, String.Empty, False)
End If
' testen ob sich die Datei öffnen und beschreiben lässt
'ClassNILogger.CheckIsLogWritable()
End Sub
' legt den Speicherort fest
Public Shared Sub SetSpeicherort(ByVal speicherort As String)
Dim f As String = Application.UserAppDataPath() & "\Log"
If speicherort = "" Then
If IO.Directory.Exists(f) = False Then
IO.Directory.CreateDirectory(f)
End If
ClassLogger.DateiSpeicherort = f
Else
ClassLogger.DateiSpeicherort = speicherort
End If
End Sub
' legt das Prefix für den Dateinamen fest
Public Shared Sub SetPrefix(ByVal prefix As String)
ClassLogger.DateiPrefix = prefix
End Sub
Public Shared Sub Add(ByVal information As String, Optional ByVal ACHTUNG As Boolean = True)
If ClassLogger.OpenFile Then
Try
If ACHTUNG Then
ClassLogger.StreamWriter.WriteLine("#ATTENTION# (" & System.DateTime.Now & "): " & information)
Else
ClassLogger.StreamWriter.WriteLine(information)
End If
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
End Try
Else
ClassLogger.ShowErrorMessage()
End If
End Sub
'Public Shared Sub Add(ByVal ex As Exception)
' If ClassLogger.OpenFile Then
' Try
' ClassLogger.StreamWriter.WriteLine("##### Exception (" & System.DateTime.Now & ")")
' ClassLogger.StreamWriter.WriteLine("##### Error: " & ex.Message & " Source [" & ex.Source & "]")
' ClassLogger.CloseFile()
' Catch e As Exception
' ClassLogger.ShowErrorMessage()
' End Try
' Else
' ClassLogger.ShowErrorMessage()
' End If
'End Sub
' öffnet eine Datei zum Schreiben
Private Shared Function OpenFile()
Try
' wenn ein Speicherort festgelegt wurde
If Not ClassLogger.DateiSpeicherort = Nothing Then
' den Dateienamen definieren
Dim dateiname As String = ClassLogger.logDateiname
' Datei anlegen wenn noch nicht vorhanden
My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True)
' die Datei zum Schreiben öffnen
ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8)
End If
' wenn die Datei erfolgreich geöffnet wurde
If ClassLogger.StreamWriter IsNot Nothing Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
' öffnet eine Datei zum Schreiben
Private Shared Function OpenFile(ByVal DateiSpeicherort As String, ByVal DateiPrefix As String)
Try
' wenn ein Speicherort festgelegt wurde
If Not DateiSpeicherort = Nothing And ClassLogger.CheckIsLogWritable() Then
' den Dateienamen definieren
Dim dateiname As String = ClassLogger.logDateiname
' Datei anlegen wenn noch nicht vorhanden
My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True)
' die Datei zum Schreiben öffnen
ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8)
End If
' wenn die Datei erfolgreich geöffnet wurde
If ClassLogger.StreamWriter IsNot Nothing Then
Return True
Else
Return False
End If
Catch ex As Exception
Return False
End Try
End Function
' schliesst die geöffnete Datei
Private Shared Sub CloseFile()
' wenn eine Datei geöffnet ist
If ClassLogger.StreamWriter IsNot Nothing Then
' die Datei schliessen
ClassLogger.StreamWriter.Close()
ClassLogger.StreamWriter = Nothing
End If
End Sub
Public Shared Function CheckIsLogWritable()
If ClassLogger.OpenFile Then
Try
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
Return False
End Try
Else
ClassLogger.ShowErrorMessage()
Return False
End If
Return True
End Function
Public Shared Function CheckIsLogWritable(ByVal vDateiSpeicherort As String, ByVal vDateiPrefix As String)
If ClassLogger.OpenFile(vDateiSpeicherort, vDateiPrefix) Then
Try
ClassLogger.CloseFile()
Catch e As Exception
ClassLogger.ShowErrorMessage()
Return False
End Try
Else
ClassLogger.ShowErrorMessage()
Return False
End If
Return True
End Function
Private Shared Sub ShowErrorMessage()
If Not ClassLogger.HasInformedAboutError Then
MsgBox("Please make sure You can access the logpath and are able to write to the file. This may be due to security privileges or storage place in the drive." & _
vbNewLine & vbNewLine & "A logfile won't be written from now on." & vbNewLine & vbNewLine & "You won't be informed about further logdetails from now on.", _
MsgBoxStyle.Information, "Error opening Logfile")
ClassLogger.HasInformedAboutError = True
End If
End Sub
End Class

View File

@ -0,0 +1,179 @@
Imports System.IO
Imports System.Xml
Imports DD_LIB_Standards
Module ModuleMySettings
Public PATH_FileExclusions As String = Path.Combine(Application.UserAppDataPath(), "FileExclusions.xml")
Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml")
Public DTEXCLUDE_FILES As DataTable
Public USER_USERNAME As String = ""
Public USER_GUID As Integer
Public MyConnectionString As String = ""
Public MyServer_UpdatePath As String = ""
Public VERSION_SERVER As String = ""
Public VERSION_USER As String = "1.0.0.0"
Public FOLDER_TEMP As String
Public LogErrorsOnly As Boolean = True
Public Function LoadFileExclusion()
Dim rowresult As String = ""
Try
'if file doesn't exist, create the file with its default xml table
If Not File.Exists(path_FileExclusions) Then
DTEXCLUDE_FILES = CreateExclusionTable()
DTEXCLUDE_FILES.WriteXml(path_FileExclusions)
End If
DTEXCLUDE_FILES = GetTablefromXML(PATH_FileExclusions)
'For Each Row As DataRow In DT.Rows
' rowresult &= Row.Item("FILE_CONTAIN")
' Select Case Row.Item("FILE_CONTAIN")
' End Select
'Next
Return True
Catch ex As Exception
MsgBox("Error in LoadFileExclusion" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
Return True
End Function
Private Function CreateExclusionTable() As DataTable
Try
' Create sample Customers table, in order
' to demonstrate the behavior of the DataTableReader.
Dim table As New DataTable
table.TableName = "TBEXCLUSION"
' Create two columns, ID and Name.
table.Columns.Add("FILE_CONTAIN", GetType(System.String))
Dim newRow As DataRow = table.NewRow()
newRow("FILE_CONTAIN") = "Thumbs"
table.Rows.Add(newRow)
Dim newRow1 As DataRow = table.NewRow()
newRow1("FILE_CONTAIN") = "\~$"
table.Rows.Add(newRow1)
Dim newRow2 As DataRow = table.NewRow()
newRow2("FILE_CONTAIN") = ".db"
table.Rows.Add(newRow2)
Dim newRow3 As DataRow = table.NewRow()
newRow3("FILE_CONTAIN") = "desktop.ini"
table.Rows.Add(newRow3)
table.AcceptChanges()
Return table
Catch ex As Exception
MsgBox("Error in CreateExclusionTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
Public Function MySettings_Load()
Try
Dim rowresult As String = ""
Dim DT As DataTable
ConfigPath = ConfigPath.Replace("VERSION_CHECKER\VersionCheck", "Digital Data\ADDI - Akte der Dinge")
'if file doesn't exist, create the file with its default xml table
If Not File.Exists(ConfigPath) Then
Return False
End If
DT = GetTablefromXML(ConfigPath)
If DT Is Nothing Then
MsgBox("Configuration could not be loaded!! Check LogFile!", MsgBoxStyle.Critical)
Return False
End If
For Each Row As DataRow In DT.Rows
rowresult &= Row.Item("ConfigName")
Select Case Row.Item("ConfigName")
Case "MyConnectionString"
Dim connstring As String
'Den ConnectonString mit verschlüsseltem PW laden
Dim csb As New SqlClient.SqlConnectionStringBuilder
csb.ConnectionString = Row.Item("Value")
If Not csb.ConnectionString = "" Then
If csb.ConnectionString.Contains("Password=") Then
'sa-
'Jetzt das Passwort entschlüsseln
Dim PWplainText As String
Dim wrapper As New clsEncryption("!35452didalog=")
' DecryptData throws if the wrong password is used.
Try
PWplainText = wrapper.DecryptData(csb.Password)
connstring = Row.Item("Value").ToString.Replace(csb.Password, PWplainText)
Catch ex As Exception
ClassLogger.Add("- the Password '" & csb.Password & "' could not be decrypted", False)
connstring = ""
End Try
Else
'Windows-Auth
connstring = Row.Item("Value").ToString
End If
MyConnectionString = connstring
Else
MyConnectionString = ""
End If
Case "LogErrorsOnly"
LogErrorsOnly = CBool(Row.Item("Value"))
clsCURRENT.LOG_ERRORS_ONLY = LogErrorsOnly
End Select
Next
LoadFileExclusion()
Catch ex As Exception
MsgBox("Error in LoadMyConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Error in LoadMyConfig: " & ex.Message, True)
Return False
End Try
Return True
End Function
Private Function GetTablefromXML(path As String)
Try
Dim DS As New DataSet
DS.ReadXml(path)
Return DS.Tables(0)
Catch ex As Exception
MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message & vbNewLine & "ConfigPath: " & vbNewLine & path, MsgBoxStyle.Critical)
ClassLogger.Add("Error in GetTablefromXML: " & ex.Message, True)
ClassLogger.Add(">> ConfigPath: " & ConfigPath, False)
Return Nothing
End Try
End Function
Private Function CreateConfigTable() As DataTable
Try
' Create sample Customers table, in order
' to demonstrate the behavior of the DataTableReader.
Dim table As New DataTable
table.TableName = "MyConfig"
' Create two columns, ID and Name.
Dim idColumn As DataColumn = table.Columns.Add("ID", _
GetType(System.Int32))
idColumn.AutoIncrement = True
idColumn.AutoIncrementSeed = 0
idColumn.AutoIncrementStep = 1
table.Columns.Add("ConfigName", GetType(System.String))
table.Columns.Add("Value", GetType(System.String))
'Set the ID column as the primary key column.
table.PrimaryKey = New DataColumn() {idColumn}
Dim newRow As DataRow = table.NewRow()
newRow("ConfigName") = "MyConnectionString"
newRow("Value") = ""
table.Rows.Add(newRow)
Dim newRow1 As DataRow = table.NewRow()
newRow1("ConfigName") = "LogErrorsOnly"
newRow1("Value") = "True"
table.Rows.Add(newRow1)
table.AcceptChanges()
Return table
Catch ex As Exception
MsgBox("Error in CreateConfigTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return Nothing
End Try
End Function
End Module

View File

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.36366
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.VERSION_CHECKER.frmVersionCheck
End Sub
End Class
End Namespace

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-16"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>frmVersionCheck</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' Allgemeine Informationen über eine Assembly werden über die folgenden
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
' die mit einer Assembly verknüpft sind.
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("Digital Data - ADDI")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("VersionCheck")>
<Assembly: AssemblyCopyright("Copyright © 2017")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("e7ddda8e-3304-4845-a610-700bc7717461")>
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
'
' Hauptversion
' Nebenversion
' Buildnummer
' Revision
'
' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -0,0 +1,62 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.36366
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("VERSION_CHECKER.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set(ByVal value As Global.System.Globalization.CultureInfo)
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.36366
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.VERSION_CHECKER.My.MySettings
Get
Return Global.VERSION_CHECKER.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1 @@
DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{BD9ADB52-06CA-401C-84C7-1D94BC3E07E7}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>VERSION_CHECKER.My.MyApplication</StartupObject>
<RootNamespace>VERSION_CHECKER</RootNamespace>
<AssemblyName>VERSION_CHECKER</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>VERSION_CHECKER.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>VERSION_CHECKER.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="DD_LIB_Standards">
<HintPath>..\..\..\DDLibStandards\DD_LIB_Standards\bin\Debug\DD_LIB_Standards.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Data.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v15.2.Core, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Sparkline.v15.2.Core, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraEditors.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="ClassInit.vb" />
<Compile Include="ClassLogger.vb" />
<Compile Include="frmVersionCheck.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmVersionCheck.Designer.vb">
<DependentUpon>frmVersionCheck.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="ModuleMySettings.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmVersionCheck.resx">
<DependentUpon>frmVersionCheck.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,72 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmVersionCheck
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVersionCheck))
Me.lblStatus = New System.Windows.Forms.Label()
Me.pbStatus = New System.Windows.Forms.ProgressBar()
Me.SuspendLayout()
'
'lblStatus
'
Me.lblStatus.AutoSize = True
Me.lblStatus.BackColor = System.Drawing.SystemColors.Control
Me.lblStatus.Font = New System.Drawing.Font("Segoe UI", 9.0!)
Me.lblStatus.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.lblStatus.Location = New System.Drawing.Point(-1, 19)
Me.lblStatus.Name = "lblStatus"
Me.lblStatus.Size = New System.Drawing.Size(163, 15)
Me.lblStatus.TabIndex = 3
Me.lblStatus.Text = "Checking for newer version...."
Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'pbStatus
'
Me.pbStatus.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me.pbStatus.Location = New System.Drawing.Point(2, 37)
Me.pbStatus.Name = "pbStatus"
Me.pbStatus.Size = New System.Drawing.Size(546, 23)
Me.pbStatus.TabIndex = 2
'
'frmVersionCheck
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(551, 92)
Me.ControlBox = False
Me.Controls.Add(Me.lblStatus)
Me.Controls.Add(Me.pbStatus)
Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "frmVersionCheck"
Me.Text = "Checking for newer version of ADDI"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lblStatus As System.Windows.Forms.Label
Friend WithEvents pbStatus As System.Windows.Forms.ProgressBar
End Class

View File

@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAEBAQAAEABAAoAQAAJgAAABAQAAABAAgAaAUAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAD///////8AAPd3d3d3fwAA93d3d3d/AAD3d3d3
d38AAPd3d3d3fwD/93d3d3d/Dzj3d3d3d38Pg/f/////f///93d3/39/8z////d//3////D//3d3fw+D
//OP////Dzjz+D8AAAAA//P/8AAAAAAA//AAAAAA//8AAPAAAADwAAAA8AAAAPAAAADwAAAAwAAAAIAA
AACAAAAAAAAAAAAAAAAEAAAAgAAAAIA/AADAfwAA8f8AACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA
AAAAAAAAAAEAAAABAAAAAAAAQkJCABp9wgAohcUAhIODAIaGhgCkyeMA6O7zAPHv8AD29vYA+Pj4AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkJCQkJCQkJCQkAAAAACQEBAQEB
AQEBAQEJAAAAAAkBAQEBAQEBAQEBCQAAAAAJAQEBAQEBAQEBAQkAAAAACQEBAQEBAQEBAQEJAAAJCQkB
AQEBAQEBAQEBCQAJAwYJAQEBAQEBAQEBAQkACgYDBwEICAgICAgICAEJCQkJBwkBAQEBBAgIAQgBCQkC
AgkJCQkJCQQECAgIAQkJCQkHCgAKBwkJBAEBAQEJAAkGAwcJBwMGCQkJCQkJCQAJAwYJAgkGAwkAAAAA
AAAAAAkJCQIJCQkAAAAAAAAAAAAAAAkJCQAAAAAAAAAAAP//AADwAAAA8AAAAPAAAADwAAAA8AAAAMAA
AACAAAAAgAAAAAAAAAAAAAAABAAAAIAAAACAPwAAwH8AAPH/AAA=
</value>
</data>
</root>

View File

@ -0,0 +1,155 @@
Imports System.ComponentModel
Imports System.IO
Public Class frmVersionCheck
Private InitSteps As Integer = 6
Private bw As New BackgroundWorker()
Private mainForm As Form
Private Sub InitProgram()
bw.WorkerReportsProgress = True
AddHandler bw.DoWork, AddressOf bw_DoWork
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
' mainForm = My.Forms.frmMain
bw.RunWorkerAsync()
End Sub
Private Function CalcProgress(_step As Integer)
Return _step * (100 / InitSteps)
End Function
Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
'Try
Dim Init = New ClassInit()
bw.ReportProgress(CalcProgress(1), "Initializing Logger")
Init.InitLogger()
System.Threading.Thread.Sleep(200)
bw.ReportProgress(CalcProgress(3), "Initializing MySettings")
MySettings_Load()
System.Threading.Thread.Sleep(200)
bw.ReportProgress(CalcProgress(2), "Initializing Database")
If Init.InitDatabase() = True Then
System.Threading.Thread.Sleep(200)
bw.ReportProgress(CalcProgress(3), "Initializing Basic-Configuration")
Init.InitBasics()
System.Threading.Thread.Sleep(200)
bw.ReportProgress(CalcProgress(4), "Initializing User-Configuration")
If ClassInit.InitUserLogin = False Then
Exit Sub
Else
If VERSION_USER = VERSION_SERVER Then
Exit Sub
End If
If MyServer_UpdatePath <> String.Empty Then
If Directory.Exists(MyServer_UpdatePath) Then
GetTempFolderGuid()
If FOLDER_TEMP <> String.Empty Then
bw.ReportProgress(CalcProgress(5), "Copying files to tempfolder")
' Make a reference to a directory.
Dim di As New DirectoryInfo(MyServer_UpdatePath)
' Get a reference to each file in that directory.
Dim fiArr As FileInfo() = di.GetFiles()
' Display the names of the files.
Dim fri As FileInfo
Dim error_while_copying = False
For Each fri In fiArr
If error_while_copying = True Then
Exit For
End If
Dim no_work = False
For Each row As DataRow In DTEXCLUDE_FILES.Rows
Dim content As String = row.Item(0).ToString.ToLower
If fri.Name.Contains(content) Then
no_work = True
End If
Next
If no_work = False Then 'Copy the file to tempFolder
Try
System.IO.File.Copy(fri.FullName, Path.Combine(FOLDER_TEMP, fri.Name))
Catch ex As Exception
ClassLogger.Add(String.Format("Error while copying file {0} to {1}: " & ex.Message, fri.FullName, Path.Combine(FOLDER_TEMP, fri.Name)))
error_while_copying = True
End Try
If error_while_copying = False Then
End If
End If
Console.WriteLine(fri.Name)
Next fri
Try
'Delete the tempfolder and all data
System.IO.Directory.Delete(FOLDER_TEMP, True)
Catch ex As Exception
End Try
End If
End If
End If
End If
System.Threading.Thread.Sleep(200)
bw.ReportProgress(CalcProgress(6), "Initializing Frontend")
' InitInterface wurde in frmMain integriert
'Init.InitInterface(mainForm)
System.Threading.Thread.Sleep(200)
Else
End If
'Catch ex As Exception
' MsgBox("Unexpected Error in Init Classes: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
'End Try
End Sub
Sub Start_RO()
Try
Dim ProductionPath As String = System.IO.Path.Combine(MY_ADDON_PATH, "RightManager", "RecordOrganizer_RightManager.exe")
Dim DevelPath As String = System.IO.Path.Combine(MY_ADDON_PATH, "RecordOrganizer_RightManager\bin\Debug", "RecordOrganizer_RightManager.exe")
Dim startInfo As New ProcessStartInfo()
startInfo.Arguments = """" & MyConnectionString & """"
If System.IO.File.Exists(ProductionPath) Then
startInfo.FileName = ProductionPath
Else
startInfo.FileName = DevelPath
End If
Process.Start(startInfo)
Catch ex As Exception
MsgBox("Could not find Right manager: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Function GetTempFolderGuid() As String
Try
Dim folder As String = Path.Combine(Path.GetTempPath, Guid.NewGuid.ToString)
If Not Directory.Exists(folder) Then
Directory.CreateDirectory(folder)
End If
FOLDER_TEMP = folder
Catch ex As Exception
ClassLogger.Add(String.Format("Error while Creating tempfolder: " & ex.Message))
End Try
End Function
Private Sub frmVersionCheck_Load(sender As Object, e As EventArgs) Handles Me.Load
InitProgram()
End Sub
Private Sub bw_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs)
pbStatus.Value = e.ProgressPercentage
lblStatus.Text = e.UserState.ToString()
End Sub
Private Sub bw_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs)
' Bei Fehler MsgBox anzeigen und Programm beenden
If e.Error IsNot Nothing Then
MsgBox(e.Error.Message, MsgBoxStyle.Critical, "Unexpected Error in frmSplash")
Application.Exit()
End If
' Wenn kein Fehler, Splashscreen schließen
Me.Close()
End Sub
End Class