Compare commits

...

2 Commits

Author SHA1 Message Date
Developer01
c2f02bf262 MS Funktionsprüfungen, benennung Parameter, neue GDPictureVersion 2025-05-19 15:07:42 +02:00
Developer01
e8f3b68041 MS Logging, Import windream, Hash-wert 2025-05-07 14:57:07 +02:00
77 changed files with 462 additions and 392739 deletions

View File

@@ -516,7 +516,7 @@ Public Class ClassDOC_SEARCH
Public Shared Function CREATE_DOC_RELATED_LINKS(DOC_ID As Integer, RECORD_ID As Integer)
Try
Dim execute = String.Format("EXEC [dbo].[PRPMO_DOC_CREATE_NEW_DOC] {0},{1},'{2}'", DOC_ID, RECORD_ID, USER_USERNAME)
Dim execute = String.Format("EXEC PROF_DOC_CREATE_UPDATE {0},{1},'{2}','{3}'", DOC_ID, RECORD_ID, USER_USERNAME, CURRENT_FILE_HASH)
If MYDB_ECM.ExecuteNonQuery(execute) = True Then
Return True
Else
@@ -569,12 +569,12 @@ Public Class ClassDOC_SEARCH
Return "R"
End If
Dim sql = String.Format("SELECT dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = {0} and dwUserOrGroupID = {1}", DOC_ID, USERID_FK_INT_ECM)
Dim result = MYDB_ECM.GetScalarValue(sql)
If IsNothing(result) Or IsDBNull(result) Then
Dim odwAccessRight = MYDB_ECM.GetScalarValue(sql)
If IsNothing(odwAccessRight) Or IsDBNull(odwAccessRight) Then
Return Nothing
End If
LOGGER.Debug($"dwAccesRight for DocID [{DOC_ID}] is [{result}]")
Select Case result
LOGGER.Debug($"dwAccesRight for DocID [{DOC_ID}] is [{odwAccessRight}]")
Select Case odwAccessRight
Case 1
If USER_IS_ADMIN = False Then
Return "R"
@@ -592,8 +592,16 @@ Public Class ClassDOC_SEARCH
Case 263
Return "RWA"
Case WM_RWA
LOGGER.Debug($"odwAccessRight is equal WM_RWA [{WM_RWA}]")
Return "RWA"
Case WM_RWA1
LOGGER.Debug($"odwAccessRight is equal WM_RWA1 [{WM_RWA1}]")
Return "RWA"
Case WM_RWA2
LOGGER.Debug($"odwAccessRight is equal WM_RWA2 [{WM_RWA2}]")
Return "RWA"
Case Else
Return "R"
End Select

View File

@@ -8,7 +8,7 @@ Public Class ClassDragDrop
LOGGER.Debug("In Drop_File....")
files_dropped = Nothing
Dim sql As String = "DELETE FROM TBPMO_FILES_USER WHERE HANDLE_TYPE <> 'SCAN' AND USER_WORK = '" & USER_USERNAME & "'"
Dim Sql As String = "DELETE FROM TBPMO_FILES_USER WHERE HANDLE_TYPE <> 'SCAN' AND USER_WORK = '" & USER_USERNAME & "'"
MYDB_ECM.ExecuteNonQuery(sql)

View File

@@ -87,7 +87,9 @@ Public Class ClassFolderWatcher
'Die Datei übergeben
LOGGER.Debug("OnCreated-File:" & e.FullPath)
If FileExistsinDropTable(CURRENT_FILENAME) = False Then
ClassHelper.Insert_USER_File(e.FullPath, handleType)
If ClassHelper.Insert_USER_File(e.FullPath, handleType) = False Then
Exit Sub
End If
Else
Console.WriteLine("File existiert bereits")
End If

View File

@@ -446,13 +446,42 @@ Public Class ClassHelper
Return False
End Try
End Function
Public Shared Function Insert_USER_File(filename As String, handleType As String)
Public Shared Function Insert_USER_File(pFilename 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)
Dim filename_only As String = Path.GetFileName(pFilename)
CURRENT_FILE_HASH = ""
If File.Exists(pFilename) Then
If (pFilename.ToUpper.EndsWith(".MSG") Or pFilename.ToUpper.EndsWith(".EML")) And (handleType = "|OUTLOOK_MESSAGE|" Or handleType = "|MSGONLY|") Then
CURRENT_FILE_HASH = FILESYSTEM.GetChecksumFromString(pFilename)
Else
CURRENT_FILE_HASH = FILESYSTEM.GetChecksum(pFilename)
End If
End If
Dim oSQL = $"SELECT ADDED_WHO, FORMAT(ADDED_WHEN, 'dd-MM-yyyy HH:mm') AS ADDED_WHEN_STRING FROM TBPMO_DOCRESULT_LIST WHERE FILE_HASH = '{CURRENT_FILE_HASH}' ORDER BY ADDED_WHEN DESC"
LOGGER.Debug($"Inserting File - hash is [{CURRENT_FILE_HASH}]")
Dim oDTCHECK As DataTable = MYDB_ECM.GetDatatable(oSQL)
If Not IsNothing(oDTCHECK) Then
If oDTCHECK.Rows.Count >= 1 Then
LOGGER.Info($"We got a file with the same hash [{CURRENT_FILE_HASH}]")
Dim oUSER = oDTCHECK.Rows(0).Item(0)
Dim oADDED_WHEN = oDTCHECK.Rows(0).Item(1)
Dim oMSG = $"Achtung:" & vbNewLine & "Die Datei wurde bereits nach orgFLOW importiert. Anzahl: " & oDTCHECK.Rows.Count.ToString & vbNewLine &
$"Importiert wann: {oADDED_WHEN}" & vbNewLine &
$"Importiert wer: {oUSER}" & vbNewLine &
"Wollen Sie die Datei dennoch importieren?"
Dim result As MsgBoxResult
result = MessageBox.Show(oMSG, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.No Then
Return False
End If
End If
End If
Dim ins As String = String.Format("INSERT INTO TBPMO_FILES_USER (FILENAME2WORK, USER_WORK,HANDLE_TYPE,FILENAME_ONLY) VALUES ('{0}','{1}','{2}','{3}')", pFilename, USER_USERNAME, handleType, filename_only)
Return MYDB_ECM.ExecuteNonQuery(ins)
Catch ex As Exception
MsgBox("Unexpected Error in Insert Scan-File: " & ex.Message, MsgBoxStyle.Critical)
MsgBox("Unexpected Error in Insert file for user (TBPMO_FILES_USER): " & ex.Message, MsgBoxStyle.Critical)
Return False
End Try
End Function

View File

@@ -103,8 +103,10 @@ Public Class ClassImport_Windream
End Function
Public Shared Function Name_Generieren(DocTypeID As Integer)
Dim myLogger As New DigitalData.Modules.Logging.Logger
Try
myLogger = LOGCONFIG.GetLogger()
Dim FILE_DELIMITER, VERSION_DELIMITER, _WDOBJECTTYPE, _NewFileString As String
Dim sql As String = "select VERSION_DELIMITER, FILE_DELIMITER FROM TBDD_MODULES where NAME = 'Global-Indexer'"
Dim DT1 As DataTable = MYDB_ECM.GetDatatable(sql)
@@ -124,6 +126,7 @@ Public Class ClassImport_Windream
oWMTARGET_FOLDER = oDT.Rows(0).Item("ZIEL_PFAD")
sql = $"SELECT * FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE FORMVIEW_ID = {CURRENT_FORMVIEW_ID} AND DOCTYPE_ID = {DocTypeID}"
myLogger.Debug(sql)
Dim oDTFW_DOCTYPES As DataTable = MYDB_ECM.GetDatatable(sql)
Dim oDYNAMIC_FOLDER = oDTFW_DOCTYPES.Rows(0).Item("DYNAMIC_FOLDER")
Dim oNAME_CONVENTION = oDTFW_DOCTYPES.Rows(0).Item("NAME_CONVENTION")
@@ -144,8 +147,8 @@ Public Class ClassImport_Windream
If oDYNAMIC_FOLDER <> String.Empty Then
If CREATE_FOLDER_INDEX(oDYNAMIC_FOLDER, DocTypeID) = True And CURRENT_VARIABLE_FOLDER <> "" Then
LOGGER.Debug("After CREATE_FOLDER_INDEX - oWMTARGET_FOLDER: " & oWMTARGET_FOLDER)
LOGGER.Debug("After CREATE_FOLDER_INDEX - CURRENT_VARIABLE_FOLDER: " & CURRENT_VARIABLE_FOLDER)
'myLogger.Debug("After CREATE_FOLDER_INDEX - oWMTARGET_FOLDER: " & oWMTARGET_FOLDER)
myLogger.Debug("After CREATE_FOLDER_INDEX - CURRENT_VARIABLE_FOLDER: " & CURRENT_VARIABLE_FOLDER)
If oWMTARGET_FOLDER <> CURRENT_VARIABLE_FOLDER Then
If CURRENT_VARIABLE_FOLDER.StartsWith("\") Then
@@ -156,17 +159,16 @@ Public Class ClassImport_Windream
oWMTARGET_FOLDER = CURRENT_VARIABLE_FOLDER
End If
'End If
Else
MsgBox("Unexpected Error in Creating Variable Folder - Check logfile!", MsgBoxStyle.Critical)
Return False
End If
Else
MsgBox("Unexpected Error in Creating Variable Folder - Check logfile!", MsgBoxStyle.Critical)
Return False
End If
End If
LOGGER.Debug("oWMTARGET_FOLDER: " & oWMTARGET_FOLDER)
LOGGER.Debug("CURRENT_SUBFOLDER: " & CURRENT_SUBFOLDER)
myLogger.Debug("oWMTARGET_FOLDER: " & oWMTARGET_FOLDER)
myLogger.Debug("CURRENT_SUBFOLDER: " & CURRENT_SUBFOLDER)
'Untsserordner ja oder nein
@@ -174,26 +176,25 @@ Public Class ClassImport_Windream
oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_SUBFOLDER
End If
If oWMTARGET_FOLDER.Contains("/") Then
LOGGER.Info(String.Format("Targetpath contains /-sign. / will be replaced with _"))
myLogger.Info(String.Format("Targetpath contains /-sign. / will be replaced with _"))
oWMTARGET_FOLDER = oWMTARGET_FOLDER.Replace("/", "_")
End If
Try
oWMTARGET_FOLDER = WMMOD.GetNormalizedPath(oWMTARGET_FOLDER, 0)
If WMMOD.TestFolderExists(oWMTARGET_FOLDER) = False Then
oWMTARGET_FOLDER = oWMTARGET_FOLDER.Replace("W:", "\\windream\objects")
oWMTARGET_FOLDER = WMMOD.GetNormalizedPath(oWMTARGET_FOLDER, 0)
LOGGER.Info(String.Format("Targetpath ({0}) is not existing or result of WD_PATH_EXISTS was false.", oWMTARGET_FOLDER.Substring(2)))
myLogger.Info(String.Format("Targetpath ({0}) is not existing or result of WD_PATH_EXISTS was false.", oWMTARGET_FOLDER.Substring(2)))
If WMMOD.NewFolder(oWMTARGET_FOLDER) = False Then
LOGGER.Warn(String.Format("Could not create folder-part: {0} - Complete path is: ({1})", oWMTARGET_FOLDER, oWMTARGET_FOLDER.Substring(2)))
myLogger.Warn(String.Format("Could not create folder-part: {0} - Complete path is: ({1})", oWMTARGET_FOLDER, oWMTARGET_FOLDER.Substring(2)))
Return False
End If
End If
Catch ex As Exception
If Not ex.Message.Contains("Filename exists!") Then
LOGGER.Warn(String.Format("Could not create folder ({0}): " & ex.Message, oWMTARGET_FOLDER))
myLogger.Warn(String.Format("Could not create folder ({0}): " & ex.Message, oWMTARGET_FOLDER))
Return False
End If
End Try
@@ -202,15 +203,15 @@ Public Class ClassImport_Windream
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'Namenkonvention laden
If IsDBNull(oNAME_CONVENTION) Then
LOGGER.Warn("Achtung: Namenskonvention is DBNull")
myLogger.Warn("Achtung: Namenskonvention is DBNull")
oNAME_CONVENTION = Path.GetFileNameWithoutExtension(CURRENT_FILENAME)
ElseIf oNAME_CONVENTION = String.Empty Then
LOGGER.Warn("Achtung: Namenskonvention is String empty")
myLogger.Warn("Achtung: Namenskonvention is String empty")
oNAME_CONVENTION = Path.GetFileNameWithoutExtension(CURRENT_FILENAME)
End If
'schonmal den gesamten Pfad laden
Dim oNewWM_Filename As String = oWMTARGET_FOLDER & "\" & oNAME_CONVENTION
LOGGER.Debug("oNewWM_Filename: " & oNewWM_Filename)
myLogger.Debug("oNewWM_Filename: " & oNewWM_Filename)
' einen Regulären Ausdruck laden
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
@@ -220,7 +221,7 @@ Public Class ClassImport_Windream
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
LOGGER.Debug("element in RegeX: " & element.Value)
myLogger.Debug("element in RegeX: " & element.Value)
Dim oSubstring = element.Value.Substring(2, 1).ToUpper
'%CTRL
Dim oSubstr = element.Value.Substring(2, 4)
@@ -247,7 +248,7 @@ Public Class ClassImport_Windream
If IsNumeric(INDEX_ID) Then
Dim sql_AUTOindexresult = MYDB_ECM.GetScalarValue("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & INDEX_ID)
If IsNothing(sql_AUTOindexresult) Then
LOGGER.Debug("unexpected: sql_AUTOindexresult is nothing!!")
myLogger.Debug("unexpected: sql_AUTOindexresult is nothing!!")
oPatternvalue = ""
Else
If IsDBNull(sql_AUTOindexresult) Then
@@ -256,8 +257,8 @@ Public Class ClassImport_Windream
sql_AUTOindexresult = sql_AUTOindexresult.ToString.ToUpper.Replace("@RECORD-ID", CURRENT_RECORD_ID)
Dim AUTOindexresult = MYDB_ECM.GetScalarValue(sql_AUTOindexresult)
If IsNothing(AUTOindexresult) Then
LOGGER.Warn("ATTENTION: unexpected: AUTOindexresult is nothing!!")
LOGGER.Warn("" & sql_AUTOindexresult)
myLogger.Warn("ATTENTION: unexpected: AUTOindexresult is nothing!!")
myLogger.Warn("" & sql_AUTOindexresult)
oPatternvalue = ""
Else
If IsDBNull(AUTOindexresult) Then
@@ -270,16 +271,16 @@ Public Class ClassImport_Windream
End If
End If
Else
LOGGER.Warn("INDEX_ID is not numeric: " & INDEX_ID.ToString & "- APattern: " & APattern)
myLogger.Warn("INDEX_ID is not numeric: " & INDEX_ID.ToString & "- APattern: " & APattern)
oPatternvalue = ""
End If
Else
LOGGER.Warn("split.Length <> 2 - APattern: " & APattern)
myLogger.Warn("split.Length <> 2 - APattern: " & APattern)
oPatternvalue = ""
End If
ElseIf APattern.Contains("#") Then
LOGGER.Debug("element [" & APattern & "] filled with Record-Data...: ")
myLogger.Debug("element [" & APattern & "] filled with Record-Data...: ")
Dim split() As String = APattern.Split("#")
If split.Length = 2 Then
@@ -294,7 +295,7 @@ Public Class ClassImport_Windream
If oPatternvalue <> String.Empty Then
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, oPatternvalue)
_NewFileString = oNewWM_Filename
LOGGER.Debug("Actual NEWFILESTRING: " & _NewFileString)
myLogger.Debug("Actual NEWFILESTRING: " & _NewFileString)
' sql_history_INSERT_INTO = sql_history_INSERT_INTO & ", INDEX" & AnzahlIndexe.ToString
AnzahlIndexe += 1
' sql_history_Index_Values = sql_history_Index_Values & ", '" & value & "'"
@@ -357,7 +358,7 @@ Public Class ClassImport_Windream
Case Else
If element.Value.Substring(2, 4).ToUpper = "CTRL" Then
Dim APattern = element.Value.Substring(3, element.Value.Length - 4)
LOGGER.Debug("element [" & element.Value & "] with Control-Data...: ")
myLogger.Debug("element [" & element.Value & "] with Control-Data...: ")
Dim split() As String = APattern.Split("#")
If split.Length = 2 Then
Dim CONTROL_ID = split(1)
@@ -370,7 +371,7 @@ Public Class ClassImport_Windream
If USER_LANGUAGE <> "de-DE" Then
msg = "In nameconvention an element was defined which could not be replaced." & vbNewLine & "Elementname: " & element.Value.ToUpper
End If
LOGGER.Warn(msg)
myLogger.Warn(msg)
MsgBox(msg, MsgBoxStyle.Exclamation, "Error in Name Convention:")
End If
@@ -383,13 +384,13 @@ Public Class ClassImport_Windream
'ungültige Zeichen entfernen
oNewWM_Filename = ClassHelper.CleanFilename(oNewWM_Filename, "")
If oNewWM_Filename.Contains("/") Then
LOGGER.Info(String.Format("DATEINAME contains /-sign. / will be replaced with _"))
myLogger.Info(String.Format("DATEINAME contains /-sign. / will be replaced with _"))
oNewWM_Filename = oNewWM_Filename.Replace("/", "_")
End If
oNewWM_Filename = oNewWM_Filename.Replace("\\", "\")
Catch ex As Exception
LOGGER.Warn(" - Error in Versioning file - Error: " & vbNewLine & ex.Message)
myLogger.Warn(" - Error in Versioning file - Error: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Versioning file:")
err = True
End Try
@@ -410,7 +411,7 @@ Public Class ClassImport_Windream
End If
Catch ex As Exception
LOGGER.Warn(" - Unexpected Error in FileName-Creating: " & vbNewLine & ex.Message)
myLogger.Warn(" - Unexpected Error in FileName-Creating: " & vbNewLine & ex.Message)
MsgBox(" - Unexpected Error in FileName-Creating: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
End Try

View File

@@ -1,4 +1,5 @@
Imports System.IO
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
@@ -221,13 +222,13 @@ Public Class ClassInit
oSql = "SELECT * FROM TBPMO_CONTROL"
CURRENT_TBPMO_CONTROL = MYDB_ECM.GetDatatable(oSql)
oSql = String.Format("SELECT * FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE VISIBLE = 1")
oSql = "SELECT * FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE VISIBLE = 1"
DT_DOCSEARCH_RESULTLIST_CONFIG = MYDB_ECM.GetDatatable(oSql)
oSql = String.Format("SELECT * FROM TBPMO_DOCSEARCH_VARIABLE_CONTROLS")
oSql = "SELECT * FROM TBPMO_DOCSEARCH_VARIABLE_CONTROLS"
CURRENT_VARIABLE_CONTROLS = MYDB_ECM.GetDatatable(oSql)
oSql = String.Format("SELECT * FROM TBPMO_FORM_VIEW")
oSql = "SELECT * FROM TBPMO_FORM_VIEW"
CURRENT_TBPMO_FORM_VIEW = MYDB_ECM.GetDatatable(oSql)
oSql = String.Format("select T.*, T1.HEADER_CAPTION,T1.TYPE_ID ,T1.ENTITY_ID,T1.LANGUAGE from TBPMO_DOCRESULT_DROPDOWN_ITEMS T, TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WHERE T.CONFIG_ID = T1.GUID")
oSql = "select T.*, T1.HEADER_CAPTION,T1.TYPE_ID ,T1.ENTITY_ID,T1.LANGUAGE from TBPMO_DOCRESULT_DROPDOWN_ITEMS T, TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WHERE T.CONFIG_ID = T1.GUID"
CURRENT_TBPMO_DOCRESULT_DROPDOWN_ITEMS = MYDB_ECM.GetDatatable(oSql)
'clsCURRENT.LOG_ERRORS_ONLY = DEBUG
@@ -245,6 +246,8 @@ Public Class ClassInit
End If
MYGDPICTURE_LICENSE_KEY = MYDB_ECM.GetGDPictureString()
FILESYSTEM = New FilesystemEx(LOGCONFIG)
Catch ex As Exception
LOGGER.Error(ex)

View File

@@ -86,9 +86,9 @@ Public Class ClassWDRights
If Not IsNothing(oSession) Then
LOGGER.Debug("Session created.")
Dim oSql = String.Format("SELECT * FROM [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] ({0},{1}) where USER_OR_GROUP = 'USER'", doc_id, CURRENT_ENTITY_ID)
Dim oSql = String.Format("SELECT * FROM [dbo].[FNOF_GET_RIGHTS_FOR_DOC] ({0}) where USER_OR_GROUP = 'USER'", doc_id)
DT_USER_RIGHT = MYDB_ECM.GetDatatable(oSql)
oSql = String.Format("SELECT * FROM [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] ({0},{1}) where USER_OR_GROUP = 'GROUP'", doc_id, CURRENT_ENTITY_ID)
oSql = String.Format("SELECT * FROM [dbo].[FNOF_GET_RIGHTS_FOR_DOC] ({0}) where USER_OR_GROUP = 'GROUP'", doc_id)
DT_GROUP_RIGHT = MYDB_ECM.GetDatatable(oSql)
If IsNothing(DT_USER_RIGHT) Then
Dim msg = "Error while receiving rights for DocID"

View File

@@ -1,4 +1,5 @@
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Module ModuleRuntimeVariables
@@ -61,6 +62,7 @@ Module ModuleRuntimeVariables
Public CURRENT_CONSTRUCTOR_DETAIL_ID As Integer
Public CURRENT_FILEID As Integer
Public CURRENT_FILENAME As String
Public CURRENT_FILE_HASH As String = ""
Public CURRENT_OFFICE_FILE_CHANGED As Boolean = False
Public CURRENT_NEWFILENAME As String
Public CURRENT_CONTROL_DOCTYPE_MATCH As String = ""
@@ -201,7 +203,7 @@ Module ModuleRuntimeVariables
Public SQL_OF_NODE_SEARCH As String = ""
Public CONF_SUPPORTPORTAL As String = "https://www.digitaldata.works/Support'"
Public Property FILESYSTEM As FilesystemEx
Public CURRENT_DT_TBPMO_DOC_RECORD_LINK As DataTable
Public Property MYDB_ECM As MSSQLServer

View File

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

View File

@@ -1,11 +1,12 @@
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -208,70 +208,6 @@
<Reference Include="ERPConnect35">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\ERPConnect35.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Independentsoft.Msg">
<HintPath>..\..\3rdparty\lib\MSG.NET\Independentsoft.Msg.dll</HintPath>
</Reference>

View File

@@ -4620,7 +4620,9 @@ Public Class frmConstructor_Main
MsgBox("File contains invalid operator '!" & vbNewLine & "Please rename file and try again!", MsgBoxStyle.Exclamation)
Continue For
End If
ClassHelper.Insert_USER_File(CURRENT_WORKFILE, DropType)
If ClassHelper.Insert_USER_File(CURRENT_WORKFILE, DropType) = False Then
Exit Sub
End If
End If
End If
Next
@@ -6566,10 +6568,9 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
My.Computer.FileSystem.RenameFile(OldName, NewName)
LOGGER.Info($"Renaming FileSystem done!")
Cursor = Cursors.WaitCursor
Dim oEXEC As String = $"EXEC PRPMO_DOC_CREATE_NEW_DOC {ClassDocGrid.SELECTED_DOC_ID}, {CURRENT_RECORD_ID},'{USER_USERNAME}'"
Dim oEXEC As String = $"EXEC PROF_DOC_CREATE_UPDATE {ClassDocGrid.SELECTED_DOC_ID}, {CURRENT_RECORD_ID},'{USER_USERNAME}',''"
If MYDB_ECM.ExecuteNonQuery(oEXEC) Then
LOGGER.Info($"Exec PRPMO_DOC_CREATE_NEW_DOC done!")
LOGGER.Info($"Exec PROF_DOC_CREATE_UPDATE done - rename abgeschlossen")
End If
Dim oRowHandle As Integer = GridViewDoc_Search.FocusedRowHandle

View File

@@ -32,12 +32,11 @@ Partial Class frmDocRecordLink
Me.btnloadData2Entity = New System.Windows.Forms.Button()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.bsiInfo = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmLinkRecords = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmsaveLayout = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmresetlayout = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
@@ -111,7 +110,7 @@ Partial Class frmDocRecordLink
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiInfo, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiInfo, Me.bbtnitmLinkRecords, Me.bbtnitmsaveLayout, Me.bbtnitmresetlayout})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 5
Me.RibbonControl1.Name = "RibbonControl1"
@@ -128,49 +127,51 @@ Partial Class frmDocRecordLink
Me.bsiInfo.Id = 1
Me.bsiInfo.Name = "bsiInfo"
'
'BarButtonItem1
'bbtnitmLinkRecords
'
Me.BarButtonItem1.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Left
resources.ApplyResources(Me.BarButtonItem1, "BarButtonItem1")
Me.BarButtonItem1.Id = 2
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
Me.bbtnitmLinkRecords.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Left
resources.ApplyResources(Me.bbtnitmLinkRecords, "bbtnitmLinkRecords")
Me.bbtnitmLinkRecords.Id = 2
Me.bbtnitmLinkRecords.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitmLinkRecords.ItemAppearance.Normal.Font = CType(resources.GetObject("BarButtonItem1.ItemAppearance.Normal.Font"), System.Drawing.Font)
Me.bbtnitmLinkRecords.ItemAppearance.Normal.Options.UseFont = True
Me.bbtnitmLinkRecords.Name = "bbtnitmLinkRecords"
'
'BarButtonItem2
'bbtnitmsaveLayout
'
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
Me.BarButtonItem2.Id = 3
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
resources.ApplyResources(Me.bbtnitmsaveLayout, "bbtnitmsaveLayout")
Me.bbtnitmsaveLayout.Id = 3
Me.bbtnitmsaveLayout.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitmsaveLayout.ItemAppearance.Normal.Font = CType(resources.GetObject("BarButtonItem2.ItemAppearance.Normal.Font"), System.Drawing.Font)
Me.bbtnitmsaveLayout.ItemAppearance.Normal.Options.UseFont = True
Me.bbtnitmsaveLayout.Name = "bbtnitmsaveLayout"
'
'BarButtonItem3
'bbtnitmresetlayout
'
resources.ApplyResources(Me.BarButtonItem3, "BarButtonItem3")
Me.BarButtonItem3.Id = 4
Me.BarButtonItem3.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem3.Name = "BarButtonItem3"
resources.ApplyResources(Me.bbtnitmresetlayout, "bbtnitmresetlayout")
Me.bbtnitmresetlayout.Id = 4
Me.bbtnitmresetlayout.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitmresetlayout.ItemAppearance.Normal.Font = CType(resources.GetObject("BarButtonItem3.ItemAppearance.Normal.Font"), System.Drawing.Font)
Me.bbtnitmresetlayout.ItemAppearance.Normal.Options.UseFont = True
Me.bbtnitmresetlayout.Name = "bbtnitmresetlayout"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3})
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3})
Me.RibbonPage1.Name = "RibbonPage1"
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnitmsaveLayout)
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnitmresetlayout)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
'
'RibbonPageGroup3
'
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtnitmLinkRecords)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
resources.ApplyResources(Me.RibbonPageGroup3, "RibbonPageGroup3")
'
@@ -235,11 +236,10 @@ Partial Class frmDocRecordLink
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents bsiInfo As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents bbtnitmLinkRecords As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnitmsaveLayout As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtnitmresetlayout As DevExpress.XtraBars.BarButtonItem
Friend WithEvents Label2 As Label
Friend WithEvents txtcurrSichtData As TextBox
End Class

View File

@@ -288,7 +288,7 @@
<data name="bsiInfo.Caption" xml:space="preserve">
<value>Waiting for Record-Selection...</value>
</data>
<data name="BarButtonItem1.Caption" xml:space="preserve">
<data name="bbtnitmLinkRecords.Caption" xml:space="preserve">
<value>Datei(en) verknüpfen</value>
</data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
@@ -313,7 +313,10 @@
Lz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem2.Caption" xml:space="preserve">
<data name="BarButtonItem1.ItemAppearance.Normal.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Bold</value>
</data>
<data name="bbtnitmsaveLayout.Caption" xml:space="preserve">
<value>...speichern</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -336,7 +339,10 @@
bGxvdyIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem3.Caption" xml:space="preserve">
<data name="BarButtonItem2.ItemAppearance.Normal.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Bold</value>
</data>
<data name="bbtnitmresetlayout.Caption" xml:space="preserve">
<value>...zurücksetzen</value>
</data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -362,9 +368,18 @@
LjR6IiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
</value>
</data>
<data name="BarButtonItem3.ItemAppearance.Normal.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Bold</value>
</data>
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Layout</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Funktionen</value>
</data>
<data name="RibbonPage1.Text" xml:space="preserve">
<value>Start</value>
</data>
@@ -401,12 +416,6 @@
<data name="&gt;&gt;RibbonControl1.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Layout</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Funktionen</value>
</data>
<data name="RibbonPage2.Text" xml:space="preserve">
<value>RibbonPage2</value>
</data>
@@ -1722,22 +1731,22 @@
<data name="&gt;&gt;bsiInfo.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem1.Name" xml:space="preserve">
<value>BarButtonItem1</value>
<data name="&gt;&gt;bbtnitmLinkRecords.Name" xml:space="preserve">
<value>bbtnitmLinkRecords</value>
</data>
<data name="&gt;&gt;BarButtonItem1.Type" xml:space="preserve">
<data name="&gt;&gt;bbtnitmLinkRecords.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem2.Name" xml:space="preserve">
<value>BarButtonItem2</value>
<data name="&gt;&gt;bbtnitmsaveLayout.Name" xml:space="preserve">
<value>bbtnitmsaveLayout</value>
</data>
<data name="&gt;&gt;BarButtonItem2.Type" xml:space="preserve">
<data name="&gt;&gt;bbtnitmsaveLayout.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem3.Name" xml:space="preserve">
<value>BarButtonItem3</value>
<data name="&gt;&gt;bbtnitmresetlayout.Name" xml:space="preserve">
<value>bbtnitmresetlayout</value>
</data>
<data name="&gt;&gt;BarButtonItem3.Type" xml:space="preserve">
<data name="&gt;&gt;bbtnitmresetlayout.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPage1.Name" xml:space="preserve">
@@ -1752,12 +1761,6 @@
<data name="&gt;&gt;RibbonPageGroup1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Name" xml:space="preserve">
<value>RibbonPageGroup2</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup3.Name" xml:space="preserve">
<value>RibbonPageGroup3</value>
</data>

View File

@@ -271,8 +271,11 @@ Public Class frmDocRecordLink
txtcurrSichtData.Text = entity.title
Refresh_Grid_Data(False, DT_RESULT)
End If
Load_DocGrid_Layout()
Else
bsiInfo.Caption = "Bitte wöhlen Sie eine Sicht aus! " + Now.ToShortTimeString
End If
Load_DocGrid_Layout()
Me.Cursor = Cursors.Default
End Sub
Private Function ReturnDataforEntity(oEntityID As Integer) As DataTable
@@ -285,7 +288,7 @@ Public Class frmDocRecordLink
Return MYDB_ECM.GetDatatable(ResultSQL)
End Function
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmLinkRecords.ItemClick
If WMMOD.SessionLoggedin = False Then
MsgBox("No session to windream created! Check Your connection!", MsgBoxStyle.Critical)
Exit Sub
@@ -293,33 +296,25 @@ Public Class frmDocRecordLink
Dim selectedRows As Integer() = grvwGrid.GetSelectedRows()
Dim oLinkCount As Integer = 0
LOGGER.Info("Start der Verknüpfung - Es wurden [{0}] Datensätze ausgewählt!", selectedRows.Count)
For Each rowhandle As Integer In selectedRows
Dim SELECTED_RECORDID = grvwGrid.GetRowCellValue(rowhandle, "Record-ID")
If IsNothing(SELECTED_RECORDID) Then
Dim oSelectedRecordID = grvwGrid.GetRowCellValue(rowhandle, "Record-ID")
If IsNothing(oSelectedRecordID) Then
Continue For
End If
LOGGER.Debug(">>> Doc will be linked with Record: " & SELECTED_RECORDID.ToString)
Try
For Each row As DataRow In CURRENT_DT_SELECTED_FILES.Rows
CURRENT_DOC_ID = row.Item("DOC_ID")
LOGGER.Info("DocID {0} will be linked with Record {1} ", CURRENT_DOC_ID.ToString, oSelectedRecordID.ToString)
Dim DOC_PATH = row.Item("FILEPATH")
Dim _objecttype = row.Item("OBJECTTYPE")
WMOBJECTTYPE = _objecttype
Dim sql_Exec = String.Format("EXEC PRPMO_CHECK_DOC_RECORD_LINK {0},{1},'{2}','{3}'", SELECTED_RECORDID, CURRENT_DOC_ID, "MANUAL RECORD-LINK", USER_USERNAME)
'Dim ins = String.Format("INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES ({0},{1},'{2}','{3}')", SELECTED_RECORDID, CURRENT_DOC_ID, "MANUAL RECORD-LINK", USER_USERNAME)
Dim sql_Exec = String.Format("EXEC PRPMO_CHECK_DOC_RECORD_LINK {0},{1},'{2}','{3}'", oSelectedRecordID, CURRENT_DOC_ID, "MANUAL RECORD-LINK", USER_USERNAME)
If MYDB_ECM.ExecuteNonQuery(sql_Exec) = False Then
MsgBox("Unexpected Error in Inserting Record-Doc Link. Please check logfile!", MsgBoxStyle.Critical)
Else
'If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then
' Dim proc = String.Format("EXEC PRPROXY_DOC_CHECK_DOC_REC_LINK {0},{1}", CURRENT_DOC_ID, SELECTED_RECORDID)
' MYDB_ECM.ExecuteNonQuery(proc)
'End If
Dim msg = String.Format("Der Datensatz wurde erfolgreich verknüpft!")
If USER_LANGUAGE <> "de-DE" Then
msg = "The record was successfully linked"
End If
bsiInfo.Caption = msg
ClassHelper.InsertEssential_Log(CURRENT_DOC_ID, "DOC-ID", "FILE LINK CREATED FOR RECORD: " & SELECTED_RECORDID.ToString)
ClassHelper.InsertEssential_Log(CURRENT_DOC_ID, "DOC-ID", "FILE LINK CREATED FOR RECORD: " & oSelectedRecordID.ToString)
oLinkCount += 1
End If
Dim sql = String.Format("SELECT * FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = '{0}'", _objecttype)
@@ -327,29 +322,34 @@ Public Class frmDocRecordLink
If DT_OBJTYPE.Rows.Count = 1 Then
Dim Entity_Index = DT_OBJTYPE.Rows(0).Item("IDXNAME_ENTITYID")
Dim Record_Index = DT_OBJTYPE.Rows(0).Item("IDXNAME_RECORDID")
Dim ENT_ID = MYDB_ECM.GetScalarValue(String.Format("SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}", SELECTED_RECORDID))
Dim ENT_ID = MYDB_ECM.GetScalarValue(String.Format("SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}", oSelectedRecordID))
If ENT_ID > 1 And Entity_Index <> String.Empty Then
WMMOD.SetFileIndex(DOC_PATH, Entity_Index, ENT_ID, _objecttype)
End If
If Record_Index <> String.Empty Then
WMMOD.SetFileIndex(DOC_PATH, Record_Index, SELECTED_RECORDID, _objecttype)
WMMOD.SetFileIndex(DOC_PATH, Record_Index, oSelectedRecordID, _objecttype)
End If
End If
Next
bsiInfo.Caption = $"[{oLinkCount}] records successfully linked - {Now.ToShortTimeString}"
Refresh_Grid_Data(True, Nothing)
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Linking Record to file", ex.Message, ex.StackTrace)
End Try
Next
Dim omsg = $"[{oLinkCount}] Datensätze erfolgreich verknüpft! - {Now.ToShortTimeString}"
If USER_LANGUAGE <> "de-DE" Then
omsg = $"[{oLinkCount}] records successfully linked - {Now.ToShortTimeString}"
End If
MsgBox(omsg, MsgBoxStyle.Information, "orgFLOW")
Refresh_Grid_Data(True, Nothing)
Load_DocGrid_Layout()
grvwGrid.ClearSelection()
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmsaveLayout.ItemClick
Save_DocGrid_Layout()
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmresetlayout.ItemClick
Reset_View_layout()
End Sub
Sub Reset_View_layout()

View File

@@ -44,7 +44,12 @@ Public Class frmDocSearchResult
_Helper = New ClassHelper
Text = CURRENT_DOCSEARCH_CAPTION
DocumentViewer1.Init(LOGCONFIG, MYGDPICTURE_LICENSE_KEY)
DocumentViewer1.Init(LOGCONFIG, MYGDPICTURE_LICENSE_KEY, New DigitalData.Controls.DocumentViewer.DocumentViewer.ToolbarSettings() With {
.ShowPrintButton = True,
.ShowRotateButton = True,
.ShowFlipButton = True,
.ShowSettingButton = True
})
End Sub
Private Sub frmDocSearchResult_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing

View File

@@ -2,9 +2,11 @@
Public Class frmFileRename
Private ReadOnly oRenameType As String
Private OldDisplayName As String
Private DisplayName As String
Private FullFilename As String
Private DocID As Int64
Public Sub New(DocID As Integer, oldName As String, pRenameType As String)
Public Sub New(pDocID As Integer, oldName As String, pRenameType As String, pFullFilename As String)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
@@ -14,6 +16,8 @@ Public Class frmFileRename
lblOldFilename.Text = oldName
txtNewName.Text = oldName
oRenameType = pRenameType
FullFilename = pFullFilename
DocID = pDocID
End Sub
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
@@ -50,26 +54,27 @@ Public Class frmFileRename
End Try
Else
Dim OldName, NewName, OnlyFilename As String
OldName = ClassDocGrid.SELECTED_DOC_PATH
OldName = FullFilename
' Define file names.
NewName = txtNewName.Text
OnlyFilename = NewName
Dim oFullFilename = ClassHelper.FORMAT_WM_PATH(ClassDocGrid.SELECTED_DOC_PATH)
Dim oFullFilename = ClassHelper.FORMAT_WM_PATH(FullFilename)
Dim name1 = Path.Combine(Path.GetDirectoryName(oFullFilename), NewName)
NewName &= Path.GetExtension(oFullFilename)
OnlyFilename &= Path.GetExtension(oFullFilename)
' Rename file.
LOGGER.Info($"Renaming Old: [{OldName}]")
LOGGER.Info($"Renaming Old: [{oFullFilename}]")
LOGGER.Info($"Renaming New: [{NewName}]")
My.Computer.FileSystem.RenameFile(OldName, NewName)
My.Computer.FileSystem.RenameFile(oFullFilename, NewName)
LOGGER.Info($"Renaming FileSystem done!")
Cursor = Cursors.WaitCursor
Dim oEXEC As String = $"EXEC PRPMO_DOC_CREATE_NEW_DOC {ClassDocGrid.SELECTED_DOC_ID}, {CURRENT_RECORD_ID},'{USER_USERNAME}'"
Dim oEXEC As String = $"EXEC PROF_DOC_CREATE_UPDATE {DocID}, {CURRENT_RECORD_ID},'{USER_USERNAME}',''"
If MYDB_ECM.ExecuteNonQuery(oEXEC) Then
Me.Close()
Else
MsgBox("Not succesfull - Check log", MsgBoxStyle.Critical)
End If
End If
End If
End Sub

View File

@@ -61,6 +61,7 @@ Partial Class frmGlobalSearch
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.DD_ECMAdmin1 = New DD_Record_Organizer.DD_ECMAdmin()
Me.XtraSaveFileDialog1 = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components)
Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.Panel1.SuspendLayout()
@@ -186,6 +187,7 @@ Partial Class frmGlobalSearch
'
'Panel1
'
Me.Panel1.Controls.Add(Me.LabelControl1)
Me.Panel1.Controls.Add(Me.lblFT_Irregular)
Me.Panel1.Controls.Add(Me.txtSearch)
Me.Panel1.Controls.Add(Me.Label2)
@@ -360,6 +362,13 @@ Partial Class frmGlobalSearch
Me.XtraSaveFileDialog1.FileName = "XtraSaveFileDialog1"
resources.ApplyResources(Me.XtraSaveFileDialog1, "XtraSaveFileDialog1")
'
'LabelControl1
'
Me.LabelControl1.Appearance.Font = CType(resources.GetObject("LabelControl1.Appearance.Font"), System.Drawing.Font)
Me.LabelControl1.Appearance.Options.UseFont = True
resources.ApplyResources(Me.LabelControl1, "LabelControl1")
Me.LabelControl1.Name = "LabelControl1"
'
'frmGlobalSearch
'
resources.ApplyResources(Me, "$this")
@@ -434,4 +443,5 @@ Partial Class frmGlobalSearch
Friend WithEvents BarToggleSearchRecord As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents BarToggleFulltext As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
End Class

View File

@@ -328,7 +328,34 @@
<value>Panel1</value>
</data>
<data name="&gt;&gt;Label1.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="LabelControl1.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt, style=Italic</value>
</data>
<data name="LabelControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>382, 74</value>
</data>
<data name="LabelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>134, 13</value>
</data>
<data name="LabelControl1.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="LabelControl1.Text" xml:space="preserve">
<value>Leerzeichen mit % ersetzen</value>
</data>
<data name="&gt;&gt;LabelControl1.Name" xml:space="preserve">
<value>LabelControl1</value>
</data>
<data name="&gt;&gt;LabelControl1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LabelControl1.Parent" xml:space="preserve">
<value>Panel1</value>
</data>
<data name="&gt;&gt;LabelControl1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblFT_Irregular.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -361,7 +388,7 @@
<value>Panel1</value>
</data>
<data name="&gt;&gt;lblFT_Irregular.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="txtSearch.Location" type="System.Drawing.Point, System.Drawing">
<value>15, 50</value>
@@ -382,7 +409,7 @@
<value>Panel1</value>
</data>
<data name="&gt;&gt;txtSearch.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="Label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -391,13 +418,13 @@
<value>15, 31</value>
</data>
<data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 13</value>
<value>69, 13</value>
</data>
<data name="Label2.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="Label2.Text" xml:space="preserve">
<value>Suchbegriff:</value>
<value>Suchbegriff: </value>
</data>
<data name="&gt;&gt;Label2.Name" xml:space="preserve">
<value>Label2</value>
@@ -409,7 +436,7 @@
<value>Panel1</value>
</data>
<data name="&gt;&gt;Label2.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="Panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Top</value>

View File

@@ -241,6 +241,7 @@ Public Class frmMain
End Sub
Sub Load_TasksforUser()
Try
VWPMO_WF_ACTIVETableAdapter.Connection.ConnectionString = MYDB_ECM.CurrentConnectionString
Me.VWPMO_WF_ACTIVETableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_WF_ACTIVE, USER_LANGUAGE, USER_USERNAME)
CURRENT_TASKS_GENERAL = Me.DD_DMSDataSet.VWPMO_WF_ACTIVE

View File

@@ -91,6 +91,15 @@ Partial Class frmNodeNavigation
Me.CMSAdmin_Treeview = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.KnotenLöschenadminToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.KnotenVerschiebenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.PopupMenu1 = New DevExpress.XtraBars.PopupMenu(Me.components)
Me.BarManager1 = New DevExpress.XtraBars.BarManager(Me.components)
Me.barDockControlTop = New DevExpress.XtraBars.BarDockControl()
Me.barDockControlBottom = New DevExpress.XtraBars.BarDockControl()
Me.barDockControlLeft = New DevExpress.XtraBars.BarDockControl()
Me.barDockControlRight = New DevExpress.XtraBars.BarDockControl()
Me.Bar1 = New DevExpress.XtraBars.Bar()
Me.Bar2 = New DevExpress.XtraBars.Bar()
Me.Bar3 = New DevExpress.XtraBars.Bar()
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerTreeList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -117,13 +126,15 @@ Partial Class frmNodeNavigation
Me.SplitContainerDocView.Panel2.SuspendLayout()
Me.SplitContainerDocView.SuspendLayout()
Me.CMSAdmin_Treeview.SuspendLayout()
CType(Me.PopupMenu1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'ribbonNodeNavigation
'
Me.ribbonNodeNavigation.ExpandCollapseItem.Id = 0
Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview, Me.btnCreateNewNode, Me.tsitmDMSReadOnly})
Me.ribbonNodeNavigation.Location = New System.Drawing.Point(0, 0)
Me.ribbonNodeNavigation.Location = New System.Drawing.Point(0, 41)
Me.ribbonNodeNavigation.MaxItemId = 25
Me.ribbonNodeNavigation.Name = "ribbonNodeNavigation"
Me.ribbonNodeNavigation.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
@@ -133,7 +144,7 @@ Partial Class frmNodeNavigation
Me.ribbonNodeNavigation.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[True]
Me.ribbonNodeNavigation.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowToolbarCustomizeItem = False
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1443, 158)
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1443, 146)
Me.ribbonNodeNavigation.StatusBar = Me.RibbonStatusBar1
Me.ribbonNodeNavigation.Toolbar.ShowCustomizeItem = False
'
@@ -319,7 +330,7 @@ Partial Class frmNodeNavigation
Me.RibbonStatusBar1.ItemLinks.Add(Me.tsitmDMSReadOnly)
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemLocked)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmtInfoDoc)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 788)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 769)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.ribbonNodeNavigation
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1443, 22)
@@ -344,7 +355,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerTreeList.Panel2.Controls.Add(Me.SplitContainerDocumentSearch)
Me.SplitContainerTreeList.Panel2.Text = "Panel2"
Me.SplitContainerTreeList.Size = New System.Drawing.Size(1433, 630)
Me.SplitContainerTreeList.Size = New System.Drawing.Size(969, 582)
Me.SplitContainerTreeList.SplitterPosition = 289
Me.SplitContainerTreeList.TabIndex = 2
'
@@ -386,7 +397,7 @@ Partial Class frmNodeNavigation
Me.TreeListDevexpress.OptionsView.ShowVertLines = False
Me.TreeListDevexpress.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TreeListDevexpress.ParentFieldName = "PARENT_GUID"
Me.TreeListDevexpress.Size = New System.Drawing.Size(289, 630)
Me.TreeListDevexpress.Size = New System.Drawing.Size(289, 582)
Me.TreeListDevexpress.StateImageList = Me.ImageCollection1
Me.TreeListDevexpress.TabIndex = 1
'
@@ -410,7 +421,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerDocumentSearch.Panel2.Controls.Add(Me.GridControlDocSearch)
Me.SplitContainerDocumentSearch.Panel2.Text = "Panel2"
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(1134, 630)
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(670, 582)
Me.SplitContainerDocumentSearch.SplitterPosition = 246
Me.SplitContainerDocumentSearch.TabIndex = 1
'
@@ -421,7 +432,7 @@ Partial Class frmNodeNavigation
Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlControls.Location = New System.Drawing.Point(0, 0)
Me.pnlControls.Name = "pnlControls"
Me.pnlControls.Size = New System.Drawing.Size(1134, 246)
Me.pnlControls.Size = New System.Drawing.Size(670, 246)
Me.pnlControls.TabIndex = 0
'
'GridControlDocSearch
@@ -435,7 +446,7 @@ Partial Class frmNodeNavigation
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
Me.GridControlDocSearch.Name = "GridControlDocSearch"
Me.GridControlDocSearch.Size = New System.Drawing.Size(1134, 374)
Me.GridControlDocSearch.Size = New System.Drawing.Size(670, 326)
Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@@ -443,7 +454,7 @@ Partial Class frmNodeNavigation
'cmsResultFileDetail
'
Me.cmsResultFileDetail.ImageScalingSize = New System.Drawing.Size(24, 24)
Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLink_ShowAll, Me.tsmiFileLinkRemove, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.tsmiFileVersion, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete})
Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLink_ShowAll, Me.tsmiFileLinkRemove, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileVersion, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete})
Me.cmsResultFileDetail.Name = "ContextMenuStripResultFiles"
Me.cmsResultFileDetail.Size = New System.Drawing.Size(248, 394)
'
@@ -526,13 +537,13 @@ Partial Class frmNodeNavigation
'tsmiFileRenameFilename
'
Me.tsmiFileRenameFilename.Name = "tsmiFileRenameFilename"
Me.tsmiFileRenameFilename.Size = New System.Drawing.Size(142, 22)
Me.tsmiFileRenameFilename.Size = New System.Drawing.Size(180, 22)
Me.tsmiFileRenameFilename.Text = "Dateiname"
'
'tsmiFileRenameDisplayname
'
Me.tsmiFileRenameDisplayname.Name = "tsmiFileRenameDisplayname"
Me.tsmiFileRenameDisplayname.Size = New System.Drawing.Size(142, 22)
Me.tsmiFileRenameDisplayname.Size = New System.Drawing.Size(180, 22)
Me.tsmiFileRenameDisplayname.Text = "Displayname"
'
'tsmiFileVersion
@@ -629,10 +640,9 @@ Partial Class frmNodeNavigation
'
'SplitContainerDocView
'
Me.SplitContainerDocView.Collapsed = True
Me.SplitContainerDocView.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.SplitContainerDocView.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerDocView.Location = New System.Drawing.Point(0, 158)
Me.SplitContainerDocView.Location = New System.Drawing.Point(0, 187)
Me.SplitContainerDocView.Name = "SplitContainerDocView"
'
'SplitContainerDocView.Panel1
@@ -644,7 +654,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerDocView.Panel2.Controls.Add(Me.DocumentViewer)
Me.SplitContainerDocView.Panel2.Text = "Panel2"
Me.SplitContainerDocView.Size = New System.Drawing.Size(1443, 630)
Me.SplitContainerDocView.Size = New System.Drawing.Size(1443, 582)
Me.SplitContainerDocView.SplitterPosition = 969
Me.SplitContainerDocView.TabIndex = 0
'
@@ -654,7 +664,7 @@ Partial Class frmNodeNavigation
Me.DocumentViewer.FileLoaded = False
Me.DocumentViewer.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer.Name = "DocumentViewer"
Me.DocumentViewer.Size = New System.Drawing.Size(0, 0)
Me.DocumentViewer.Size = New System.Drawing.Size(464, 582)
Me.DocumentViewer.TabIndex = 0
'
'XtraSaveFileDialog1
@@ -687,6 +697,81 @@ Partial Class frmNodeNavigation
Me.KnotenVerschiebenToolStripMenuItem.Size = New System.Drawing.Size(201, 22)
Me.KnotenVerschiebenToolStripMenuItem.Text = "Knoten verschieben"
'
'PopupMenu1
'
Me.PopupMenu1.Name = "PopupMenu1"
Me.PopupMenu1.Ribbon = Me.ribbonNodeNavigation
'
'BarManager1
'
Me.BarManager1.Bars.AddRange(New DevExpress.XtraBars.Bar() {Me.Bar1, Me.Bar2, Me.Bar3})
Me.BarManager1.DockControls.Add(Me.barDockControlTop)
Me.BarManager1.DockControls.Add(Me.barDockControlBottom)
Me.BarManager1.DockControls.Add(Me.barDockControlLeft)
Me.BarManager1.DockControls.Add(Me.barDockControlRight)
Me.BarManager1.Form = Me
Me.BarManager1.MainMenu = Me.Bar2
Me.BarManager1.StatusBar = Me.Bar3
'
'barDockControlTop
'
Me.barDockControlTop.CausesValidation = False
Me.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top
Me.barDockControlTop.Location = New System.Drawing.Point(0, 0)
Me.barDockControlTop.Manager = Me.BarManager1
Me.barDockControlTop.Size = New System.Drawing.Size(1443, 41)
'
'barDockControlBottom
'
Me.barDockControlBottom.CausesValidation = False
Me.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom
Me.barDockControlBottom.Location = New System.Drawing.Point(0, 791)
Me.barDockControlBottom.Manager = Me.BarManager1
Me.barDockControlBottom.Size = New System.Drawing.Size(1443, 19)
'
'barDockControlLeft
'
Me.barDockControlLeft.CausesValidation = False
Me.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left
Me.barDockControlLeft.Location = New System.Drawing.Point(0, 41)
Me.barDockControlLeft.Manager = Me.BarManager1
Me.barDockControlLeft.Size = New System.Drawing.Size(0, 750)
'
'barDockControlRight
'
Me.barDockControlRight.CausesValidation = False
Me.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right
Me.barDockControlRight.Location = New System.Drawing.Point(1443, 41)
Me.barDockControlRight.Manager = Me.BarManager1
Me.barDockControlRight.Size = New System.Drawing.Size(0, 750)
'
'Bar1
'
Me.Bar1.BarName = "Befehle"
Me.Bar1.DockCol = 0
Me.Bar1.DockStyle = DevExpress.XtraBars.BarDockStyle.Top
Me.Bar1.Text = "Befehle"
'
'Bar2
'
Me.Bar2.BarName = "Hauptmenü"
Me.Bar2.DockCol = 0
Me.Bar2.DockStyle = DevExpress.XtraBars.BarDockStyle.Top
Me.Bar2.OptionsBar.MultiLine = True
Me.Bar2.OptionsBar.UseWholeRow = True
Me.Bar2.Text = "Hauptmenü"
'
'Bar3
'
Me.Bar3.BarName = "Statusleiste"
Me.Bar3.CanDockStyle = DevExpress.XtraBars.BarCanDockStyle.Bottom
Me.Bar3.DockCol = 0
Me.Bar3.DockStyle = DevExpress.XtraBars.BarDockStyle.Bottom
Me.Bar3.OptionsBar.AllowQuickCustomization = False
Me.Bar3.OptionsBar.DrawDragBorder = False
Me.Bar3.OptionsBar.UseWholeRow = True
Me.Bar3.Text = "Statusleiste"
'
'frmNodeNavigation
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -695,6 +780,10 @@ Partial Class frmNodeNavigation
Me.Controls.Add(Me.SplitContainerDocView)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.ribbonNodeNavigation)
Me.Controls.Add(Me.barDockControlLeft)
Me.Controls.Add(Me.barDockControlRight)
Me.Controls.Add(Me.barDockControlBottom)
Me.Controls.Add(Me.barDockControlTop)
Me.IconOptions.SvgImage = CType(resources.GetObject("frmNodeNavigation.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Name = "frmNodeNavigation"
Me.Ribbon = Me.ribbonNodeNavigation
@@ -726,6 +815,8 @@ Partial Class frmNodeNavigation
CType(Me.SplitContainerDocView, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerDocView.ResumeLayout(False)
Me.CMSAdmin_Treeview.ResumeLayout(False)
CType(Me.PopupMenu1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.BarManager1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -797,4 +888,13 @@ Partial Class frmNodeNavigation
Friend WithEvents CMSAdmin_Treeview As ContextMenuStrip
Friend WithEvents KnotenLöschenadminToolStripMenuItem As ToolStripMenuItem
Friend WithEvents KnotenVerschiebenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents PopupMenu1 As DevExpress.XtraBars.PopupMenu
Friend WithEvents BarManager1 As DevExpress.XtraBars.BarManager
Friend WithEvents Bar1 As DevExpress.XtraBars.Bar
Friend WithEvents Bar2 As DevExpress.XtraBars.Bar
Friend WithEvents Bar3 As DevExpress.XtraBars.Bar
Friend WithEvents barDockControlTop As DevExpress.XtraBars.BarDockControl
Friend WithEvents barDockControlBottom As DevExpress.XtraBars.BarDockControl
Friend WithEvents barDockControlLeft As DevExpress.XtraBars.BarDockControl
Friend WithEvents barDockControlRight As DevExpress.XtraBars.BarDockControl
End Class

View File

@@ -743,6 +743,12 @@
<metadata name="CMSAdmin_Treeview.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>158, 54</value>
</metadata>
<metadata name="PopupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>323, 54</value>
</metadata>
<metadata name="BarManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>449, 54</value>
</metadata>
<data name="frmNodeNavigation.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40

View File

@@ -75,6 +75,7 @@ Public Class frmNodeNavigation
Private Property ChildNodeGuid As Integer = 0
Private Property ClassNodeCommands As ClassNodeCommands
Private Property ViewerInit As Boolean = False
Private Debug As Boolean = False
@@ -130,8 +131,12 @@ Public Class frmNodeNavigation
If CONFIG.Config.DocumentSearchSplitterWidth > 0 Then
SplitContainerDocumentSearch.SplitterPosition = CONFIG.Config.DocumentSearchSplitterWidth
End If
If ViewerInit Then
SplitContainerDocView.Collapsed = Not CONFIG.Config.DocumentViewerShown
Else
SplitContainerDocView.Collapsed = True
End If
SplitContainerDocView.Collapsed = Not CONFIG.Config.DocumentViewerShown
checkShowPreview.Checked = CONFIG.Config.DocumentViewerShown
Catch ex As Exception
@@ -152,8 +157,18 @@ Public Class frmNodeNavigation
CURRENT_DT_TBPMO_ENTITY_RIGHT_CONTROLS = MYDB_ECM.GetDatatable(String.Format("SELECT T.* FROM TBPMO_ENTITY_RIGHT_CONTROLS T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID where T1.CONSTRUCT_ID = {0}", CONSTRUCTORID))
Try
DocumentViewer.Init(LOGCONFIG, MYGDPICTURE_LICENSE_KEY)
If DocumentViewer.Init(LOGCONFIG, MYGDPICTURE_LICENSE_KEY, New DigitalData.Controls.DocumentViewer.DocumentViewer.ToolbarSettings() With {
.ShowPrintButton = True,
.ShowRotateButton = True,
.ShowFlipButton = True,
.ShowSettingButton = True
}) = False Then
MsgBox("Viewer konnte nicht initialisiert werden. Bitte informieren Sie den Systembetreuer und prüfen Ihr Log.", MsgBoxStyle.Information)
SplitContainerDocView.Collapsed = True
DocumentViewer.Visible = False
Else
ViewerInit = True
End If
Catch ex As Exception
LOGGER.Warn($"Error while init DocumentViewer: {ex.Message}")
End Try
@@ -459,7 +474,7 @@ Public Class frmNodeNavigation
End Function
Public Async Sub ShowDialogAsync2()
Await Task.Run(Sub()
MsgBox("Der Parent-Node wurde erfolgreich getauscht. Aktualisieren Sie die Ansicht!", MsgBoxStyle.Information)
MsgBox("Der Parent-Node wurde erfolgreich getauscht. Aktualisieren Sie nun die Ansicht!", MsgBoxStyle.Information)
End Sub)
End Sub
@@ -903,15 +918,19 @@ Public Class frmNodeNavigation
Dim oDocumentsFound = Await RUN_WDSEARCH_GRID(True)
If oDocumentsFound = 0 Then
Close_Document_Viewer()
RibbonPageGroupDocResult.Enabled = False
SplitContainerDocView.Collapsed = True
Else
RibbonPageGroupDocResult.Enabled = True
SplitContainerDocView.Collapsed = False
If ViewerInit Then
If oDocumentsFound = 0 Then
Close_Document_Viewer()
RibbonPageGroupDocResult.Enabled = False
SplitContainerDocView.Collapsed = True
Else
RibbonPageGroupDocResult.Enabled = True
SplitContainerDocView.Collapsed = False
End If
End If
Update_Document_Label(oDocumentsFound)
sw.Done()
@@ -2153,7 +2172,9 @@ Public Class frmNodeNavigation
MsgBox("File contains invalid operator '!" & vbNewLine & "Please rename file and try again!", MsgBoxStyle.Exclamation)
Continue For
End If
ClassHelper.Insert_USER_File(CURRENT_WORKFILE, DropType)
If ClassHelper.Insert_USER_File(CURRENT_WORKFILE, DropType) = False Then
Exit Sub
End If
End If
End If
Next
@@ -2487,6 +2508,9 @@ Public Class frmNodeNavigation
Dim allow_Open As Boolean = False
Dim oDocuments = Current_DocList.SelectedDocuments
If oDocuments.Count = 0 Then
Exit Sub
End If
Dim Result = ClassDOC_SEARCH.Get_File_Rights(oDocuments.First.DocId)
@@ -2640,15 +2664,18 @@ Public Class frmNodeNavigation
Dim oDocuments = Current_DocList.SelectedDocuments
If oDocuments.Count = 1 Then
ClassFileResult.DocID = oDocuments.First.DocId
ClassFileResult.DocumentPath = oDocuments.First.DocPath
ClassFileResult.OldDisplayName = oDocuments.First.DisplayName
If oDocuments.First.DisplayName <> "" Then
If oDocuments.First.DisplayName <> "" And ClassFileResult.DocID > 0 Then
Dim oRowHandle As Integer = GridViewDoc_Search.FocusedRowHandle
Dim frm As New frmFileRename(ClassFileResult.DocID, oDocuments.First.DisplayName, "Displayname")
Dim frm As New frmFileRename(ClassFileResult.DocID, oDocuments.First.DisplayName, "Displayname", ClassFileResult.DocumentPath)
frm.ShowDialog()
Await RUN_WDSEARCH_GRID(True)
If Not IsNothing(oRowHandle) Then
GridViewDoc_Search.FocusedRowHandle = oRowHandle
End If
Else
MsgBox("Bitte eine Datei auswählen!", MsgBoxStyle.Information)
End If
End If
@@ -2682,11 +2709,11 @@ Public Class frmNodeNavigation
If RENAME_DOC_PATH <> "" Then
If RENAME_DOC_PATH <> "" And ClassFileResult.DocID > 0 Then
Dim FileToRename As String
FileToRename = Path.GetFileNameWithoutExtension(RENAME_DOC_PATH)
Dim oRowHandle As Integer = GridViewDoc_Search.FocusedRowHandle
Dim frm As New frmFileRename(ClassFileResult.DocID, FileToRename, "Filename")
Dim frm As New frmFileRename(ClassFileResult.DocID, FileToRename, "Filename", RENAME_DOC_PATH)
frm.ShowDialog()
Await RUN_WDSEARCH_GRID(True)
If Not IsNothing(oRowHandle) Then
@@ -3086,8 +3113,12 @@ Public Class frmNodeNavigation
If FORM_LOADED = False Then
Exit Sub
End If
If ViewerInit Then
SplitContainerDocView.Collapsed = Not checkShowPreview.Checked
Else
SplitContainerDocView.Collapsed = True
End If
SplitContainerDocView.Collapsed = Not checkShowPreview.Checked
End Sub
Private Sub GridViewDoc_Search_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles GridViewDoc_Search.SelectionChanged
@@ -3095,19 +3126,21 @@ Public Class frmNodeNavigation
End Sub
Private Sub Show_SelectedDoc()
Dim oSelectedDocs = ClassDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If ViewerInit Then
If oSelectedDocs.Count = 1 Then
Refresh_DocID()
Close_Document_Viewer()
If oSelectedDocs.Count = 1 Then
Refresh_DocID()
Close_Document_Viewer()
System.Threading.Thread.Sleep(400)
Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDocs.First()
Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
System.Threading.Thread.Sleep(400)
Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDocs.First()
Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
DocumentViewer.LoadFile(oPath)
Else
Close_Document_Viewer()
DocumentViewer.LoadFile(oPath)
Else
Close_Document_Viewer()
End If
End If
End Sub
Private Sub Close_Document_Viewer()
Try
@@ -3333,13 +3366,17 @@ Public Class frmNodeNavigation
End If
End Sub
Private Sub KnotenLöschenadminToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KnotenLöschenadminToolStripMenuItem.Click
Private Async Sub KnotenLöschenadminToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KnotenLöschenadminToolStripMenuItem.Click
If CURRENT_NODEID <> 0 Then
Dim result As DialogResult = MessageBox.Show("Wollen Sie fortfahren? Der Knoten wird in Folge mit den Unterknoten als gelöscht markiert!", "Bestätigung erforderlich", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = System.Windows.Forms.DialogResult.Yes Then
Dim oSQL = $"EXEC [dbo].[PRPMO_DELETE_NODE] {CURRENT_NODEID}, '{USER_USERNAME}', 1, 0"
If MYDB_ECM.ExecuteNonQuery(oSQL) = True Then
MsgBox("Knoten wurde erfolgreich gelöscht. Aktualisieren Sie die Ansicht!", MsgBoxStyle.Information)
result = MessageBox.Show("Wollen Sie die Ansicht aktualisieren?", "Knoten wurde erfolgreich gelöscht!", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = System.Windows.Forms.DialogResult.Yes Then
Await ReloadTreeView()
End If
End If
End If
End If
@@ -3356,4 +3393,8 @@ Public Class frmNodeNavigation
End If
End If
End Sub
Private Sub frmNodeNavigation_DragDrop(sender As Object, e As DragEventArgs) Handles Me.DragDrop
End Sub
End Class

View File

@@ -33,7 +33,7 @@ Public Class frmWM_IndexFile
End Class
Function WORK_FILE(ImportFilePath As String, VerzeichnisZiel As String, vDokart_ID As Integer, vDokart As String, multiindex As Boolean)
Dim swWORK_FILE As New SW("WORK_FILE: " & DOCTYPE_IDTextBox.Text)
'Dim swWORK_FILE As New SW("WORK_FILE: " & DOCTYPE_IDTextBox.Text)
Try
CURRENT_DOC_ID = Nothing
Dim odeleteRights As Boolean = True
@@ -47,7 +47,7 @@ Public Class frmWM_IndexFile
'#################################################################
Dim sw As New SW("GetUse Nameconvention ID: " & DOCTYPE_IDTextBox.Text)
If ClassImport_Windream.Name_Generieren(DOCTYPE_IDTextBox.Text) = False Then
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End If
sw.Done()
@@ -63,7 +63,7 @@ Public Class frmWM_IndexFile
result = MessageBox.Show(msg, "File already exists:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = MsgBoxResult.Yes Then
If WMMOD.RemoveFile(CURRENT_NEWFILENAME) Then
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End If
Else
@@ -111,15 +111,12 @@ Public Class frmWM_IndexFile
sql = "SELECT * FROM VWCUST_DOCTYPE_CONFIG WHERE DOCTYPE_ID = " & vDokart_ID
Dim DTVWCUST_DOCTYPE_CONFIG As DataTable = MYDB_ECM.GetDatatable(sql)
If Not IsNothing(DTVWCUST_DOCTYPE_CONFIG) Then
For Each oRow As DataRow In DTVWCUST_DOCTYPE_CONFIG.Rows
If oRow.Item(0) = "DELETE_RIGHTS" Then
odeleteRights = CBool(oRow.Item(1))
End If
Next
If DTVWCUST_DOCTYPE_CONFIG.Rows.Count = 1 Then
odeleteRights = CBool(DTVWCUST_DOCTYPE_CONFIG.Rows(0).Item("DELETE_RIGHTS"))
End If
End If
Catch ex As Exception
LOGGER.Warn($"Unexpected error in VWCUST_DOCTYPE_CONFIG Area: {ex.Message}")
End Try
Dim indexierung_erfolgreich As Boolean = True
@@ -129,7 +126,7 @@ Public Class frmWM_IndexFile
err = True
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in WorkFile-indexing Doctype '" & WMINDEX_DOCTYPE & "') - Check logfile!")
sw.Done()
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End If
@@ -138,7 +135,7 @@ Public Class frmWM_IndexFile
err = True
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error: ", "Unexpected Error in WorkFile-indexing AddiRelation '" & WMINDEX_RELATION & "') - Check logfile!")
sw.Done()
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End If
@@ -213,7 +210,7 @@ Public Class frmWM_IndexFile
Next
If err = True Then
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End If
@@ -222,7 +219,7 @@ Public Class frmWM_IndexFile
'Return False
End If
Else
swWORK_FILE.Done()
'swWORK_FILE.Done()
MsgBox("Attention in Work-File:" & vbNewLine & "No indices were defined (0)!", MsgBoxStyle.Critical)
Return False
@@ -324,18 +321,18 @@ Public Class frmWM_IndexFile
End If
Else
MsgBox("An unexpected error occured while indexing file. Please check the log!", MsgBoxStyle.Exclamation)
swWORK_FILE.Done()
' swWORK_FILE.Done()
Return False
End If
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return True
Else
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End If
Catch ex As Exception
MsgBox("Unexpected error in Work-File:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
swWORK_FILE.Done()
'swWORK_FILE.Done()
Return False
End Try

View File

@@ -3,7 +3,6 @@
<package id="BouncyCastle.Cryptography" version="2.5.0" targetFramework="net462" />
<package id="DocumentFormat.OpenXml" version="3.2.0" targetFramework="net462" />
<package id="DocumentFormat.OpenXml.Framework" version="3.2.0" targetFramework="net462" />
<package id="GdPicture" version="14.3.3" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.3.3" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />

View File

@@ -150,7 +150,6 @@
<File Id="OfficeLib" Name="Office.dll" Source="C:\Windows\assembly\GAC_MSIL\Office\15.0.0.0__71e9bce111e9429c\Office.dll" KeyPath="yes" />
<File Id="Microsoft.Office.Interop.Outlook" Name="Microsoft.Office.Interop.Outlook.dll" Source="C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Outlook\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Outlook.dll" KeyPath="no" />
<File Id="Microsoft.Office.Interop.Word" Name="Microsoft.Office.Interop.Word.dll" Source="C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll" KeyPath="no" />
<File Id="InteropServices.RuntimeInformation" Name="System.Runtime.InteropServices.RuntimeInformation.dll" Source="System.Runtime.InteropServices.RuntimeInformation.dll" KeyPath="no" />
</Component>
<!-- MAIL.NET Bibliothek -->

Binary file not shown.

View File

@@ -1,199 +0,0 @@
\======================================================
**GdPicture.NET 14 End User License Agreement**
\======================================================
**1) INTRODUCTION AND DEFINITIONS**
1.1. This Agreement is a license agreement between you and ORPALIS (the "Author") for the use of the computer software development kit (the “SDK”) you have purchased or downloaded for evaluation purposes ("GdPicture.NET" and/or “DocuVieware” at current major version).
1.2. We, ORPALIS (the "Author") reserve the right to modify at whenever required time, the content of this Agreement (“Agreement” or “EULA”).
1.3. You accept this Agreement by clicking the "I accept" button where this option is made available to you by us, ORPALIS (the "Author") in the user interface regarding End User License Agreement (EULA) of our products.
1.4. By using GdPicture.NET products (including DocuVieware), either by evaluating or purchasing it, you agree to be bound by all the terms and conditions of this Agreement.
1.5. This Agreement is the entire agreement between you and us, ORPALIS (the "Author") and supersedes any other communication or advertising with respect to GdPicture.NET and related products. If any provision of this Agreement is held invalid, the remainder of this Agreement shall continue in full force and effect.
1.6 “User” and “End User” means a person or an entity that installs or uses the SDK or Documentation.
**2) EDITIONS**
2.1. GdPicture.NET SDK is a Software Development Kit (SDK).
DocuVieware is another Software Development Kit (SDK) having a dependency on GdPicture.NET SDK.
2.2 Both software are bundled into the same Software Package (or installation kit).
2.3 Each GdPicture.NET SDK developer license includes a DocuVieware developer license. In other words DocuVieware development licenses are bundled with GdPicture.NET SDK (see 3.3.1).
**3) DOCUVIEWARE**
3.1 DocuVieware is a universal HTML5 Viewer and Document Management toolkit, a standalone product whose licensing rules are stated as below.
3.2 DocuVieware licensing comprises:
-DocuVieware development-licensing, and
-DocuVieware distribution-licensing.
3.3 DocuVieware development licensing
3.3.1 DocuVieware development licenses are bundled with GdPicture.NET SDK and, therefore, are subject to all GdPicture.NET regulatory amendments, as specified below.
3.4. DocuVieware distribution licensing
3.4.1 In order to distribute your works that relate to DocuVieware, you will need to license distribution rights.
3.4.2 Distribution licensing concerns the rights to distribute your DocuVieware-based works and does not regulate your DocuVieware nor GdPicture.NET development rights.
3.4.3 DocuVieware distribution licensing is Server-based.
3.4.4 The term "Server" with regard to DocuVieware distribution licensing is defined by us, ORPALIS, as a physical, or virtual machine, or computing device on which you have installed DocuVieware software in order to deploy and provide your DocuVieware-based works to your customers.
3.4.5 Server may have up to 4 vCPUs (or cores). IE: distributing DocuVieware on a Server having 8 vCPUs (or cores) require two deployment licenses.
3.4.6. You may distribute your unlimited works based-on (or linked-to) DocuVieware, on a Server once you have acquired a Server deployment license.
3.4.7 Each Server deployment requires a distribution licensing.
3.4.8 Unlimited distribution rights licensing is available solely upon direct negotiation.
**4) EVALUATION LICENSING**
4.1. “Evaluation License” allows a User to fully evaluate the SDK during an evaluation period of sixty (60) days from the date the SDK is first used.
The evaluation license key unlocks all features of the SDK for sixty (60) days.
4.2. The evaluation license is provided for evaluation purposes only, not for production use.
4.3. Evaluators requiring an evaluation period beyond the initial sixty (60) days can contact us by creating a sales support ticket.
4.4. Evaluation license usage is prohibited to develop/maintain an application already covered by a commercial GdPicture license. For example, if a developer is joining a team assigned to the development/maintenance of an application linking GdPicture under a commercial license agreement, this developer must have its own valid commercial license.*
**5) COMMERCIAL LICENSING**
5.1. Three different license types are available for each of the GdPicture.NET editions:
a) per-developer license:
Based on the amount of seats purchased - this license type entitles 1,2,3,4,5 or 6 distinct Users and/or build machine(s), of the same organization at a single physical address to write software with access to the SDK..
b) site license:
This license type entitles an unlimited number of Users and/or build machine(s) of the same organization at a single physical address to write software with access to the SDK.
c) Worldwide license:
This license entitles an unlimited number of Users and/or build machine(s) of the same organization at an unlimited number of physical addresses to write software with access to the SDK.
5.2. The use of the SDK requires one license for each User within your organization who will launch the compilation process of any application linking the SDK. For example, if your organization has 3 developers, 2 of which will work directly with the SDK and another one will not work directly with the SDK but will nevertheless launch the compilation process of a project linking the SDK, you will need to purchase 2 + 1 = 3 licenses.
5.3. Licenses are non-transferable between Users. Therefore, if a company has "x" Users who will use the SDK, the company requires a "x" Users license purchased according to paragraph 5.1. above. The same provision applies if, for example, the Users will not be working with the SDK at the same time.
5.4 You are forbidden to disclose your license key(s) to third parties.
5.5 The same license cannot be used by two different companies.
5.6. You are not allowed to sell the SDK or your license key(s) to other persons or entities.
5.7. You are prohibited from disclosing your license key(s) to other persons or entities.
5.8. You are not allowed to disclose your license key(s) on the source code of a web page.
5.9. You may not rent, lease, sub-license, or transfer the SDK, SDK copies, documentation, license keys, or your rights under this license without the prior written consent of ORPALIS (the "Author").
5.10 Any owner of any application linking the SDK must own at least one commercial license. For example, if a company X is owning the intellectual property of any application developed or maintained by another company Y, both companies will have to own their* own licenses.
**6) USE OF THE SDK**
6.1. You may not alter, decompile, disassemble, or reverse engineer GdPicture.NET products, including DocuVieware.
6.2. **GdPicture.NET SDK may not be used to develop software toolkits, API, libraries, components, command-line software, REST API, or any kind of third-party software, except as authorized in writing by a duly authorized officer of ORPALIS. This includes internal usage.**
6.3. Binaries of legally purchased SDK may be embedded in any application or system developed by you or your organization as long the SDK is covered by an active SDK maintenance (see 9.4).
6.4. You may modify the source code versions of sample files, if any, included with the SDK for the purpose of creating your own application(s).
6.5. You may not remove or alter our copyright notices.
6.6. You are not allowed to use our name, logo, or trademarks to market your application without our prior written consent.
**7) GDPICTURE.NET SERVER AND WEB DEPLOYMENT**
7.1. This chapter is not related to DocuVieware distribution licensing nor to DocuVieware-based works deployment.
7.2. This chapter concerns GdPicture.NET SDK only.
7.3. No extra fees are charged for GdPicture.NET SDK server deployment.
7.4. GdPicture.NET SDK may be used on any server, as long as access to the functionalities of our components is done via your own software and into your own machine. In other words, the public should not have direct access to GdPicture.NET SDK binaries or key.
7.5. GdPicture.NET SDK may be installed on any third-party hosting server as long as each developer using GdPicture.NET SDK has its own license key.
7.6. GdPicture.NET SDK may be installed on a shared hosting server, provided that each customer accesses GdPicture.NET SDK with its own license key.
7.7. GdPicture.NET SDK may not be installed on a hosting provider's server with a single license key used by all the hosting provider's customers.
7.8. You are not allowed to publish web applications, using GdPicture.NET SDK on the client side.
**8) REDISTRIBUTION**
8.1. No royalties are payable for the re-distribution of the SDK.
8.2. Binaries of legally purchased SDK can be distributed with your application (desktop or server) on a royalty-free basis. This means that you can distribute as many applications using the SDK as you wish, without restrictions or royalties, as long the SDK is covered by an active SDK maintenance (see 9.5).
8.3. Redistribution of the SDK is granted during a period of twelve months following the acquisition date. A separate maintenance contract is required to extend the redistribution rights beyond the twelve months period following the acquisition date.
8.4. You must distribute your application(s) under a written agreement that prohibits reverse engineering, decompilation, or disassembly of the applications(s) and clearly require from the customers of your application(s) to abide by the previously stated conditions.
**9) SDK MAINTENANCE**
9.1 The SDK is sold based on a yearly subscription model. An active SDK maintenance is required to install, use, or distribute the SDK.
9.2 An active SDK maintenance is automatically granted to owners of a commercial license during a period of twelve months which starts at the acquisition date. A separate annual maintenance contract (Annual Maintenance Contract (AMC)) is required to extend the SDK maintenance beyond the initial twelve months period.
9.3 An active SDK maintenance is required to install the SDK binaries for development purpose.
9.4 An active SDK maintenance is required to develop/maintain any application linking the SDK.
9.5 An active SDK maintenance is required to redistribute or allow installation of any application linking the SDK.
**10) TECHNICAL SUPPORT**
10.1. ORPALIS supports only the latest SDK version in a continuous integration model. This support includes bug fixes, new features, new minor and major versions, and any form of enhancements.
10.2. Technical support is available to Users owning a valid evaluation license or owning a commercial license under an active maintenance.
10.3. Each developer with a maintained license is allowed to open up to 10 tickets for a commercial license and up to 5 tickets for evaluation. Additional support plans can be purchased separately.
10.4. Before creating a support ticket, you have to make sure that you are using the latest available version of the SDK.
10.5. Technical support is provided for the problems which you cannot reasonably be expected to resolve by yourself. This includes any bug proven to be related to our product but excludes any code writing for your own applications development. It also excludes issues described and published in our online wealth of resources: online guides, online forums, knowledge-base, and FAQ page of our website.
10.6. Response time depends on the complexity of the reported issue and/or the completeness and accuracy of provided information for investigation/reproducing purposes (code snippets, files generating the issue, hardware/software environment information, and so forth).
**11) RECORDS AND AUDIT**
Users of a commercial license must maintain complete and accurate records relating to their use of the SDK including, but not limited to, copies of all agreements relating to the disclosure of the SDK in Source Code form.
Users must permit ORPALIS or its independent auditors to access, review, and copy such records upon the ORPALISs reasonable request, to determine the Users compliance with this End User License Agreement.
ORPALIS may request that a User provides information regarding all developers using the SDK.
Users shall respond to each request completely and accurately within thirty (30) days of the date of the request. Notwithstanding the foregoing, a User is not obligated to disclose confidential information of any third party in connection with the audit and may redact any records solely to the extent required to satisfy its confidentiality obligations to third parties.
**12) WARRANTIES AND EXCLUSION OF WARRANTIES**
ORPALIS represents and warrants that it has and shall have full right and authority to enter into this Agreement and to license the SDK and other technology to you, and that it shall use its best efforts to provide SDK, support, and maintenance in accordance with all terms of this Agreement, in a good, timely, efficient, professional, and workmanlike manner using (i) then-current technology, (ii) ORPALIS employees and agents who are fully familiar with the technology, and (ii) at least the degrees of accuracy, quality, efficiency, completeness, timeliness, and responsiveness as are equal to or higher than the accepted industry standards.
EXCEPT FOR THE PRIOR EXPRESS LIMITED WARRANTIES, THE AUTHOR MAKES, AND YOU RECEIVE, NO WARRANTIES, EXPRESS, IMPLIED, STATUTORY OR IN ANY COMMUNICATION WITH YOU, AND THE AUTHOR SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THE SDK IS PROVIDED “AS IS”, THE AUTHOR DOES NOT WARRANT THAT THE OPERATION OF THE SDK WILL BE UNINTERRUPTED OR ERROR-FREE.
IN NO EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES, INCLUDING LOSS OF DATA, LOST PROFITS, COST OF COVER OR OTHER SPECIAL, INCIDENTAL, CONSEQUENTIAL OR INDIRECT DAMAGES ARISING FROM THE USE OF THE SDK OR ACCOMPANYING DOCUMENTATION, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY. THIS LIMITATION WILL APPLY EVEN IF THE COMPANY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. YOU ACKNOWLEDGE THAT THE LICENSE FEE REFLECTS THIS ALLOCATION OF RISK.
**13) LIMITATION OF LIABILITY; INDEMNITY**
Except (A) to the extent resulting from the negligence or willful misconduct of ORPALIS or its employees or agents, and/or (B) for ORPALIS indemnity obligations below: (i) In no event shall ORPALIS be liable for any damages (including, without limitation, lost profits, business interruption, or lost information) arising out of or related to this Agreement or any 'Authorized Users' use of or inability to use the SDK, even if ORPALIS has been advised of the possibility of such damages. In no event will ORPALIS be liable for loss of data or for indirect, special, incidental, consequential (including lost profit), or other damages based in contract, tort, or otherwise.
**14) TERMINATION**
Without prejudice to any other rights, either party may terminate this EULA if the other party materially breaches any the terms and conditions of this EULA and fails to cure such breach within thirty (30) days after receipt of notice documenting such breach. In the event of termination, you must destroy all copies of the SDK in your possession.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1,160 +0,0 @@
# .NET SDK README
Intelligent PDF & document processing SDKs: from scanning to barcodes to OCR to conversion to robust PDF processing — if you can think of it, this library can probably do it.
# Getting Started
## Setting up the SDK
```csharp
using GdPicture14;
LicenseManager licence = new LicenseManager();
licence.RegisterKEY(""); // Set a demo key
```
## Converting a Word Document to a PDF
```csharp
// After Setting up the SDK
using GdPictureDocumentConverter converter = new GdPictureDocumentConverter();
converter.LoadFromFile(@"input.docx");
converter.SaveAsPDF(@"output.pdf");
```
## Converting an Image File into Searchable PDF (OCR)
**Note**: For using the OCR with GdPicture the optional nuget [**GdPicture.Resources**](https://www.nuget.org/packages/GdPicture.Resources) is required.
### Method 1: Saving intermediary output in a file
```csharp
// After Setting up the SDK
using GdPicturePDF pdf = new GdPicturePDF();
using GdPictureDocumentConverter converter = new GdPictureDocumentConverter();
converter.LoadFromFile(@"input.png");
converter.SaveAsPDF(@"output_intermediary.pdf");
pdf.LoadFromFile(@"output_intermediary.pdf", true);
pdf.OcrPages("*", 0, "eng", "", "", 200);
pdf.SaveToFile(@"output_with_ocr.pdf");
```
### Method 2: With a memory stream
```csharp
// After Setting up the SDK
using GdPicturePDF pdf = new GdPicturePDF();
using GdPictureDocumentConverter converter = new GdPictureDocumentConverter();
converter.LoadFromFile(@"input.png");
using MemoryStream stream = new MemoryStream();
converter.SaveAsPDF(stream);
pdf.LoadFromStream(stream);
pdf.OcrPages("*", 0, "eng", "", "", 200);
pdf.SaveToFile(@"output_with_ocr.pdf");
```
**If you would like to see more examples**, please visit the [code samples page](https://www.nutrient.io/guides/dotnet/samples/) in our guides.
# **Introduction**
[GdPicture.NET](https://www.nutrient.io/guides/dotnet/) is a [Nutrient](https://www.nutrient.io/) SDK for OCR, data extraction, editing, converting, generating PDFs, barcodes, scanning, and much more. It offers developers a rich API for quickly adding PDF, imaging, and intelligent data processing capabilities to any .NET application. There are many [code samples](https://www.nutrient.io/guides/web/samples/), and it comes supported by the amazing team at [Nutrient](https://www.nutrient.io//company/about/). 
- **Low-Level APIs**: For fine-grained control
- **High Fidelity**: Accurate, reliable document conversion and OCR
- **Prebuilt Features**: Convert, edit, sign, form fill, and more
## **System Compatibility**
### Deployment
GdPicture.NET assemblies are available for the following frameworks:
- .NET 8.0
- .NET Framework 4.6.2
Using different GdPicture.NET assemblies, you can deploy the application you build to various operating systems, as outlined in the table below.
| GdPicture.NET Assembly | Operating Systems Supported for Deployment |
| --- | --- |
| .NET 8.0 or newer | Linux* (x64, arm64), Microsoft Windows 10 (x64/x86) or newer, Microsoft Windows Server Core 2012 (x64) or newer, macOS 13 or newer (x64/ arm64) |
| .NET Framework 4.6.2 | Microsoft Windows Vista (x64/x86) or newer Microsoft Windows Server 2008 (x64/x86) or newer |
*The .NET 8.0 assembly on Linux requires GLIBC 2.29 or newer.*
### **Package Overview and Dependencies**
GdPicture repository contains multiple packages designed to provide flexibility, scalability, and targeted functionality for various platforms and use cases. Below is an overview of each package and its role within the ecosystem:
### Main package
- [**GdPicture.API**](https://www.nuget.org/packages/GdPicture.API): A cross-platform package that provides core API-level functionality. Serves as the foundation for all other GdPicture packages and can be used independently for lightweight document processing and manipulation tasks.
### Optional package
- [**GdPicture.Resources**](https://www.nuget.org/packages/GdPicture.Resources): Resources for GdPicture required for OCR processing.
### Alternative packages
- [**GdPicture**](https://www.nuget.org/packages/GdPicture): A Windows-only package that wraps [GdPicture.API](https://www.nuget.org/packages/GdPicture.API) and extends its capabilities by adding GdViewers (WPF and Winform).
- [**DocuVieware**](https://www.nuget.org/packages/DocuVieware): A standalone package offering a rich viewer and collaboration solution. Ideal for web-based projects that require advanced document viewing, annotation, and sharing capabilities.
- [**GdPicture.MAUI**](https://www.nuget.org/packages/GdPicture.MAUI): A cross-platform package that extends GdPicture.API capabilities by adding GdViewer MAUI viewer component (Preview).
# Supported File Types
GdPicture.NET library enables you to load, save, and convert numerous file types, and a full list of file types can be found [here](https://www.nutrient.io/guides/dotnet/about/file-type-support/).
- PDF, PDF/A
- Microsoft Office: DOC, DOCM, DOCX, DOTX, PPT, PPTM, PPTX, PPSX, XLS, XLSM, XLSX
- CAD: DXF
- Image: AI, BMP, CUR, CUT, DDS, DIB, DICOM, EMF, EXIF, EXR, G3, GIF, HDR, HEIF/HEIC, ICO, IFF, J2K, J2C, JB2, JBIG2, JIF, JFIF, JNG, JP2, JPEG, JPG, JPE, KOA, LBM, MNG, PBM, PBM RAW, PCD, PCT, PICT, PIC, PCX, PFM, PGM, PGM RAW, PJPEG, PNG, PNM, PPM, PPM RAW, PSD, RAS, RAW, RLE, SGI, SVG, TGA, TARGA, TIFF, TIF, WBMP, WAP, WBM, WMF, WSQ, XBM, XPM
- RAW Camera Image: 3FR, ARW, BAY, BMQ, CAP, CINE, CR2, CR3, CRW, CS1, DC2, DCR, DRF, DSC, DNG, ERF, FFF, HDR, IA, IIQ, KC2, K25, KDC, MDC, MEF, MOS, MRW, NEF, NRW, ORF, PEF, PTX, PXN, QTK, RAF, RAW, RDC, RW2, RW1, RWZ, SR2, SRF, SRW, STI
- Web: HTM, HTML, MHT, MHTML
- Email: EML, MSG
- Text: ODT, RTF, TXT
- PostScript: PS (*Currently, PostScript implementation is experimental.)*
# Key Features, **Documentation &** Support
Nutrient offers comprehensive [guides](https://www.nutrient.io/guides/dotnet/) and [code samples](https://www.nutrient.io/guides/dotnet/samples/) to help you quickly integrate and customize your application. It comes with [full technical support](http://www.nutrient.io/support/request/?utm_source=npm&utm_medium=referral&utm_campaign=readme) that includes direct access to the engineers who built the product. Whether you have questions getting started with our SDK, or you want to know how to best integrate new features into your app, were here to help you find a solution.
Most popular guides:
- [Load a file](https://www.nutrient.io/guides/dotnet/load-a-file/): Load PDF documents, images and about 100 different file formats. This is the first step in using the full potential of our library. Loading files to one of our custom classes allows you to perform different actions on those files. You can use different kind of sources, such as a local machine, a byte array, a stream object, or remote URLs.
- [Conversion](https://www.nutrient.io/guides/dotnet/conversion/): Convert various formats — including Office documents, images, emails, and webpages — into high-quality PDFs. Seamlessly convert PDFs back to Office formats while preserving original styling and layout.
- [OCR](https://www.nutrient.io/guides/dotnet/ocr/): Leverage advanced OCR technology for zonal, full-page, and template-based text recognition, enabling searchable PDF/A creation, automated document classification, and fast processing, including barcode and specialized data decoding.
- [Editor](https://www.nutrient.io/guides/dotnet/editor/): Programmatically edit PDFs, images, and other file formats in your application. Leverage an intuitive API to manipulate, merge, split, insert, and remove PDF pages in your workflows. Easily adjust images with more than 50 unique filters, including blur, sharpen, red-eye correction, sepia, smooth, and soften. Dynamically insert text and image watermarks to protect your confidential documents and images.
- [Extraction](https://www.nutrient.io/guides/dotnet/extraction/): Harness our API to automatically extract key-value pairs, tables, and structured data.
- [Barcodes](https://www.nutrient.io/guides/dotnet/barcodes/): Automate the recognition and decoding of 1D and 2D barcodes (including QR, Micro QR, Data Matrix, PDF417, Aztec Code, and MaxiCode). Dynamically generate barcodes in vector or raster format for insertion into image or PDF files.
- [PDF Generation](https://www.nutrient.io/guides/dotnet/pdf-generation/): Leverage a lightning-fast PDF generation engine that can merge data with templates.
- [TWAIN and WIA Scanning](https://www.nutrient.io/guides/dotnet/scanning/) (Windows Specific Feature): Capture images from any scanner devices and digital cameras using our enterprise-grade TWAIN and WIA toolkit, and leverage high- and low-level APIs to customize the process.
- [Hyper-compression](https://www.nutrient.io/guides/dotnet/optimization/hyper-compress-mrc/): Dramatically reduce file sizes for various document types using our mixed raster content (MRC) compression engine, which calibrates specific settings to deliver high-fidelity outputs without noticeable data loss.
- [PDF/A](https://www.nutrient.io/guides/dotnet/pdfa/convert/): Convert more than 100 file types into ISO-compliant, searchable PDF/A formats with full conformance support and veraPDF validation, ideal for automated workflows and high-volume processing.
# **API**
[Read the full API reference](https://www.nutrient.io/api/gdpicture/).
# **Changelog**
For a detailed list of the changes included in each version, refer to the [changelog](https://www.nutrient.io/changelog/dotnet/).
# **License**
When you integrate [GdPicture.NET](https://www.nutrient.io/guides/dotnet/) into your application, a trial license is activated automatically, meaning there's no need for a license key. This trial license provides the following:
- **Support**: Access to [technical support](https://support.pspdfkit.com/hc/en-us/requests/new) is included.
- **Watermarking**: A prominent watermark (text overlay) will appear on all documents.
- **Trial Notifications**: Regular reminders indicating that the product is in trial mode.
For a comprehensive evaluation, please [contact our Sales team](https://www.nutrient.io/contact-sales) to request a demo license key. This demo license enables you to explore our product for a 60-day period without watermarks or trial notifications.
Copyright 2025 Nutrient. All rights reserved.
[Docuvieware](https://www.notion.so/Docuvieware-176e1255d6bc804795efc99e27b5eb7f?pvs=21)
[GdPicture](https://www.notion.so/GdPicture-176e1255d6bc80928cb2e867d335e267?pvs=21)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff