MS 3.1.1.0

This commit is contained in:
SchreiberM 2024-01-30 15:16:27 +01:00
parent de312ed3f6
commit 8a9bdc2fcd
11 changed files with 310 additions and 168 deletions

View File

@ -32,7 +32,7 @@ Public Class ClassDOC_SEARCH
OPTION4 = DT_RESULTLIST_OPTIONS.Rows(0).Item("OPTION4_CTRL") OPTION4 = DT_RESULTLIST_OPTIONS.Rows(0).Item("OPTION4_CTRL")
OPTION5 = DT_RESULTLIST_OPTIONS.Rows(0).Item("OPTION5_CTRL") OPTION5 = DT_RESULTLIST_OPTIONS.Rows(0).Item("OPTION5_CTRL")
End If End If
LOGGER.Info("DT_RESULTLIST_SEL_VALUES.Rows.Count: " & DT_RESULTLIST_SEL_VALUES.Rows.Count)
For Each oRow As DataRow In DT_RESULTLIST_SEL_VALUES.Rows For Each oRow As DataRow In DT_RESULTLIST_SEL_VALUES.Rows
If oRow.Item("COLUMN_VIEW").ToString = "VALUE1" Then If oRow.Item("COLUMN_VIEW").ToString = "VALUE1" Then

View File

@ -83,6 +83,9 @@
End Function End Function
Public Shared Function Delete_ResultFile(RESULT_DOC_ID, RECORD_ID, DELETE_FILE) Public Shared Function Delete_ResultFile(RESULT_DOC_ID, RECORD_ID, DELETE_FILE)
Try Try
If DELETE_FILE = "True" Then
DELETE_FILE = 1
End If
Dim proc = String.Format("EXEC PRPMO_DELETE_RESULTFILE {0},{1},{2}", RESULT_DOC_ID, RECORD_ID, DELETE_FILE) Dim proc = String.Format("EXEC PRPMO_DELETE_RESULTFILE {0},{1},{2}", RESULT_DOC_ID, RECORD_ID, DELETE_FILE)
If MYDB_ECM.ExecuteNonQuery(proc) = True Then If MYDB_ECM.ExecuteNonQuery(proc) = True Then
If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then

View File

@ -2,6 +2,7 @@
Imports System.Globalization Imports System.Globalization
Imports WINDREAMLib Imports WINDREAMLib
Imports DD_LIB_Standards Imports DD_LIB_Standards
Imports DD_Record_Organizer.frmChangeDocType
Public Class ClassImport_Windream Public Class ClassImport_Windream
Public Shared Function Import_File(QuellDatei_Path As String, DOCTYPE_ID As Integer) Public Shared Function Import_File(QuellDatei_Path As String, DOCTYPE_ID As Integer)
@ -24,7 +25,7 @@ Public Class ClassImport_Windream
Dim streamresult = clsWD_SET.Stream_File(QuellDatei_Path, Targetpath) Dim streamresult = clsWD_SET.Stream_File(QuellDatei_Path, Targetpath)
If streamresult = True Then If streamresult = True Then
Dim sql As String = String.Format("SELECT DocID FROM VWPMO_DOC_SYNC WHERE UPPER(FULL_FILENAME) = UPPER('{0}') AND CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())", CURRENT_FILEIN_WD) Dim sql As String = String.Format("SELECT DocID FROM VWPMO_DOC_SYNC WHERE UPPER(FULL_FILENAME) = UPPER('{0}') AND CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE())", CURRENT_FILEIN_WD)
CURRENT_DOC_ID = MYDB_ECM.GetScalarValue(SQL) CURRENT_DOC_ID = MYDB_ECM.GetScalarValue(sql)
sql = $"SELECT * FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = {DOCTYPE_ID} AND ENTITY_ID = {CURRENT_ENTITY_ID}" sql = $"SELECT * FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = {DOCTYPE_ID} AND ENTITY_ID = {CURRENT_ENTITY_ID}"
Dim dt As DataTable = MYDB_ECM.GetDatatable(sql) Dim dt As DataTable = MYDB_ECM.GetDatatable(sql)
Dim indexierung_erfolgreich As Boolean = False Dim indexierung_erfolgreich As Boolean = False
@ -146,9 +147,9 @@ Public Class ClassImport_Windream
If CREATE_FOLDER_INDEX(oDYNAMIC_FOLDER, DocTypeID) = True And CURRENT_VARIABLE_FOLDER <> "" 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 - oWMTARGET_FOLDER: " & oWMTARGET_FOLDER)
LOGGER.Debug("After CREATE_FOLDER_INDEX - CURRENT_VARIABLE_FOLDER: " & CURRENT_VARIABLE_FOLDER) LOGGER.Debug("After CREATE_FOLDER_INDEX - CURRENT_VARIABLE_FOLDER: " & CURRENT_VARIABLE_FOLDER)
If oWMTARGET_FOLDER <> CURRENT_VARIABLE_FOLDER Then If oWMTARGET_FOLDER <> CURRENT_VARIABLE_FOLDER Then
oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_VARIABLE_FOLDER.Replace(oWMTARGET_FOLDER, "") oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_VARIABLE_FOLDER.Replace(oWMTARGET_FOLDER, "")
Else Else
oWMTARGET_FOLDER = CURRENT_VARIABLE_FOLDER oWMTARGET_FOLDER = CURRENT_VARIABLE_FOLDER
@ -164,7 +165,7 @@ Public Class ClassImport_Windream
End If End If
LOGGER.Debug("oWMTARGET_FOLDER: " & oWMTARGET_FOLDER) LOGGER.Debug("oWMTARGET_FOLDER: " & oWMTARGET_FOLDER)
LOGGER.Debug("CURRENT_SUBFOLDER: " & CURRENT_SUBFOLDER) LOGGER.Debug("CURRENT_SUBFOLDER: " & CURRENT_SUBFOLDER)
'Untsserordner ja oder nein 'Untsserordner ja oder nein
@ -246,19 +247,22 @@ Public Class ClassImport_Windream
For Each element As System.Text.RegularExpressions.Match In elemente For Each element As System.Text.RegularExpressions.Match In elemente
LOGGER.Debug("element in RegeX: " & element.Value) LOGGER.Debug("element in RegeX: " & element.Value)
Dim oSubstring = element.Value.Substring(2, 1).ToUpper
'%CTRL
Dim oSubstr = element.Value.Substring(2, 4)
Select Case element.Value.Substring(2, 1).ToUpper Select Case element.Value.Substring(2, 1).ToUpper
'Nur automatische Indizes auswerten 'Nur automatische Indizes auswerten
Case "A" Case "A"
Dim APattern = element.Value.Substring(3, element.Value.Length - 4) Dim APattern = element.Value.Substring(3, element.Value.Length - 4)
Dim value As String Dim oPatternvalue As String
Select Case APattern Select Case APattern
'Laufzeitvariable Record-ID 'Laufzeitvariable Record-ID
Case "RECORD_ID" Case "RECORD_ID"
value = CURRENT_RECORD_ID oPatternvalue = CURRENT_RECORD_ID
Case "DOKART" Case "DOKART"
'Laufzeitvariable Dokumentartstring 'Laufzeitvariable Dokumentartstring
value = CURRENT_DOKARTSTRING oPatternvalue = CURRENT_DOKARTSTRING
Case Else Case Else
'Ein Index der nur für die Namenkonvention herangezogen wird 'Ein Index der nur für die Namenkonvention herangezogen wird
If APattern.StartsWith("NC_") And APattern.Contains("#") Then If APattern.StartsWith("NC_") And APattern.Contains("#") Then
@ -270,22 +274,22 @@ Public Class ClassImport_Windream
Dim sql_AUTOindexresult = MYDB_ECM.GetScalarValue("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & INDEX_ID) Dim sql_AUTOindexresult = MYDB_ECM.GetScalarValue("SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & INDEX_ID)
If IsNothing(sql_AUTOindexresult) Then If IsNothing(sql_AUTOindexresult) Then
LOGGER.Debug("unexpected: sql_AUTOindexresult is nothing!!") LOGGER.Debug("unexpected: sql_AUTOindexresult is nothing!!")
value = "" oPatternvalue = ""
Else Else
If IsDBNull(sql_AUTOindexresult) Then If IsDBNull(sql_AUTOindexresult) Then
value = "" oPatternvalue = ""
Else Else
sql_AUTOindexresult = sql_AUTOindexresult.ToString.ToUpper.Replace("@RECORD-ID", CURRENT_RECORD_ID) sql_AUTOindexresult = sql_AUTOindexresult.ToString.ToUpper.Replace("@RECORD-ID", CURRENT_RECORD_ID)
Dim AUTOindexresult = MYDB_ECM.GetScalarValue(sql_AUTOindexresult) Dim AUTOindexresult = MYDB_ECM.GetScalarValue(sql_AUTOindexresult)
If IsNothing(AUTOindexresult) Then If IsNothing(AUTOindexresult) Then
LOGGER.Warn("ATTENTION: unexpected: AUTOindexresult is nothing!!") LOGGER.Warn("ATTENTION: unexpected: AUTOindexresult is nothing!!")
LOGGER.Warn("" & sql_AUTOindexresult) LOGGER.Warn("" & sql_AUTOindexresult)
value = "" oPatternvalue = ""
Else Else
If IsDBNull(AUTOindexresult) Then If IsDBNull(AUTOindexresult) Then
value = "" oPatternvalue = ""
Else Else
value = AUTOindexresult oPatternvalue = AUTOindexresult
End If End If
End If End If
@ -293,90 +297,28 @@ Public Class ClassImport_Windream
End If End If
Else Else
LOGGER.Warn("INDEX_ID is not numeric: " & INDEX_ID.ToString & "- APattern: " & APattern) LOGGER.Warn("INDEX_ID is not numeric: " & INDEX_ID.ToString & "- APattern: " & APattern)
value = "" oPatternvalue = ""
End If End If
Else Else
LOGGER.Warn("split.Length <> 2 - APattern: " & APattern) LOGGER.Warn("split.Length <> 2 - APattern: " & APattern)
value = "" oPatternvalue = ""
End If End If
ElseIf APattern.Contains("#") Then ElseIf APattern.Contains("#") Then
LOGGER.Debug("element [" & APattern & "] filled with Record-Data...: ") LOGGER.Debug("element [" & APattern & "] filled with Record-Data...: ")
Dim split() As String = APattern.Split("#") Dim split() As String = APattern.Split("#")
If split.Length = 2 Then If split.Length = 2 Then
Dim CONTROL_ID = split(1) Dim CONTROL_ID = split(1)
If IsNumeric(CONTROL_ID) Then oPatternvalue = GET_CTRLData(split(1), DocTypeID, APattern)
Dim CONTROLVALUE = ClassControlValues.Get_Control_Value_for_ID(CONTROL_ID, CURRENT_RECORD_ID)
If IsNothing(CONTROLVALUE) Then
Dim checktype = "SELECT CONTROL_TYPE_ID,SQL_COMMAND_1,CONNECTION_ID_1 FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID
Dim DTtype As DataTable = MYDB_ECM.GetDatatable(checktype)
If DTtype.Rows.Count = 1 Then
Dim lblsql = DTtype.Rows(0).Item(1)
lblsql = lblsql.ToString.ToUpper.Replace("@RECORD_ID", CURRENT_RECORD_ID)
lblsql = lblsql.ToString.ToUpper.Replace("@RECORD-ID", CURRENT_RECORD_ID)
lblsql = lblsql.ToString.ToUpper.Replace("@ENTITY-ID", CURRENT_ENTITY_ID)
lblsql = lblsql.ToString.ToUpper.Replace("@ENTITY_ID", CURRENT_ENTITY_ID)
LOGGER.Debug("variable sql will be used for convention")
Dim result = MYDB_ECM.GetScalarValue(DTtype.Rows(0).Item(2))
If Not IsNothing(result) Then
value = result.ToString
Else
LOGGER.Warn("variable sqlresult is nothing - " & lblsql)
value = ""
End If
Else
LOGGER.Warn("!!ATTENTION: NameConvention should be filled with value of Control-ID '" & CONTROL_ID & "', but result was nothing.")
LOGGER.Warn("SQL-Command: " & CURRENT_LAST_SQL)
value = ""
End If
Else
If IsDBNull(CONTROLVALUE) Then
LOGGER.Warn("NameConvention should be filled with value of Control-ID '" & CONTROL_ID & "', but result was DBNULL.")
LOGGER.Warn("SQL-Command: " & CURRENT_LAST_SQL)
value = ""
Else
Dim sql1 = "SELECT * FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID = (SELECT TOP 1 GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = " & DocTypeID & " AND FORMVIEW_ID = " & CURRENT_FORMVIEW_ID & ")"
Dim DT_FORMAT As DataTable = MYDB_ECM.GetDatatable(sql1)
If Not IsNothing(DT_FORMAT) Then
If DT_FORMAT.Rows.Count > 0 Then
Dim result
Try
result = (From FormatRow In DT_FORMAT.AsEnumerable
Select FormatRow Where FormatRow.Item("PATTERN") = APattern).Single()
Catch ex As Exception
End Try
If Not IsNothing(result) Then
Dim _rule = result.Item("FORMAT_RULE")
If Not IsNothing(_rule) Then
If IsDate(CONTROLVALUE) Then
Dim _date As Date = CDate(CONTROLVALUE)
'Dim _date = CDate(Format(CONTROLVALUE, "dd-MM-yyyy"))
_rule = _rule.ToString.Replace("Y", "y")
_rule = _rule.ToString.Replace("D", "d")
_rule = _rule.ToString.Replace("m", "M")
Dim convertedvalue = _date.ToString(_rule, CultureInfo.InvariantCulture)
CONTROLVALUE = convertedvalue
End If
End If
End If
End If
End If
value = CONTROLVALUE
End If
End If
End If
End If End If
End If End If
End Select End Select
If value <> String.Empty Then If oPatternvalue <> String.Empty Then
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, value) oNewWM_Filename = oNewWM_Filename.Replace(element.Value, oPatternvalue)
_NewFileString = oNewWM_Filename _NewFileString = oNewWM_Filename
LOGGER.Debug("Actual NEWFILESTRING: " & _NewFileString) LOGGER.Debug("Actual NEWFILESTRING: " & _NewFileString)
' sql_history_INSERT_INTO = sql_history_INSERT_INTO & ", INDEX" & AnzahlIndexe.ToString ' sql_history_INSERT_INTO = sql_history_INSERT_INTO & ", INDEX" & AnzahlIndexe.ToString
@ -385,6 +327,7 @@ Public Class ClassImport_Windream
Else Else
err = True err = True
End If End If
Case "V" Case "V"
Dim datetemp As String Dim datetemp As String
Dim _Month As String = My.Computer.Clock.LocalTime.Month Dim _Month As String = My.Computer.Clock.LocalTime.Month
@ -438,14 +381,28 @@ Public Class ClassImport_Windream
End If End If
_NewFileString = oNewWM_Filename _NewFileString = oNewWM_Filename
Case Else Case Else
Dim msg As String If element.Value.Substring(2, 4).ToUpper = "CTRL" Then
msg = "In der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper Dim APattern = element.Value.Substring(3, element.Value.Length - 4)
If USER_LANGUAGE <> "de-DE" Then LOGGER.Debug("element [" & element.Value & "] with Control-Data...: ")
msg = "In nameconvention an element was defined which could not be replaced." & vbNewLine & "elementname: " & element.Value.ToUpper Dim split() As String = APattern.Split("#")
If split.Length = 2 Then
Dim CONTROL_ID = split(1)
Dim oPatternvalue = GET_CTRLData(split(1), DocTypeID, APattern)
oNewWM_Filename = oNewWM_Filename.Replace(element.Value, oPatternvalue)
End If
Else
Dim msg As String
msg = "In der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper
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)
MsgBox(msg, MsgBoxStyle.Exclamation, "Error in Name Convention:")
End If End If
LOGGER.Warn(msg)
MsgBox(msg, MsgBoxStyle.Exclamation, "Error in Name Convention:")
End Select End Select
Next Next
Try Try
@ -455,6 +412,8 @@ Public Class ClassImport_Windream
LOGGER.Info(String.Format("DATEINAME contains /-sign. / will be replaced with _")) LOGGER.Info(String.Format("DATEINAME contains /-sign. / will be replaced with _"))
oNewWM_Filename = oNewWM_Filename.Replace("/", "_") oNewWM_Filename = oNewWM_Filename.Replace("/", "_")
End If End If
oNewWM_Filename = oNewWM_Filename.Replace("\\", "\")
Catch ex As Exception Catch ex As Exception
LOGGER.Warn(" - Error in Versioning file - Error: " & vbNewLine & ex.Message) LOGGER.Warn(" - Error in Versioning file - Error: " & vbNewLine & ex.Message)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Versioning file:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Versioning file:")
@ -483,6 +442,89 @@ Public Class ClassImport_Windream
End Try End Try
End Function End Function
Private Shared Function GET_CTRLData(pInput As String, pDoctypeID As Integer, pPattern As String)
Try
Dim oReturnValue As String = ""
pInput = pInput.Replace("]", "")
If IsNumeric(pInput) Then
Dim CONTROLVALUE = ClassControlValues.Get_Control_Value_for_ID(pInput, CURRENT_RECORD_ID)
If IsNothing(CONTROLVALUE) Then
Dim checktype = "SELECT CONTROL_TYPE_ID,SQL_COMMAND_1,CONNECTION_ID_1 FROM TBPMO_CONTROL WHERE GUID = " & pInput
Dim DTtype As DataTable = MYDB_ECM.GetDatatable(checktype)
If DTtype.Rows.Count = 1 Then
Dim lblsql = DTtype.Rows(0).Item(1)
Dim result
If Len(lblsql) = 0 Or lblsql Is Nothing Then
LOGGER.Warn("TBPMO_CONTROL.SQL is nothing")
oReturnValue = ""
Else
lblsql = lblsql.ToString.ToUpper.Replace("@RECORD_ID", CURRENT_RECORD_ID)
lblsql = lblsql.ToString.ToUpper.Replace("@RECORD-ID", CURRENT_RECORD_ID)
lblsql = lblsql.ToString.ToUpper.Replace("@ENTITY-ID", CURRENT_ENTITY_ID)
lblsql = lblsql.ToString.ToUpper.Replace("@ENTITY_ID", CURRENT_ENTITY_ID)
LOGGER.Debug("variable sql will be used for convention")
result = MYDB_ECM.GetScalarValue(DTtype.Rows(0).Item(2))
End If
If Not IsNothing(result) Then
oReturnValue = result.ToString
Else
LOGGER.Warn("variable sqlresult is nothing - " & lblsql)
oReturnValue = ""
End If
Else
LOGGER.Warn("!!ATTENTION: NameConvention should be filled with value of Control-ID '" & pInput & "', but result was nothing.")
LOGGER.Warn("SQL-Command: " & CURRENT_LAST_SQL)
oReturnValue = ""
End If
Else
If IsDBNull(CONTROLVALUE) Then
LOGGER.Warn("NameConvention should be filled with value of Control-ID '" & pInput & "', but result was DBNULL.")
LOGGER.Warn("SQL-Command: " & CURRENT_LAST_SQL)
oReturnValue = ""
Else
Dim sql1 = "SELECT * FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID = (SELECT TOP 1 GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = " & pDoctypeID & " AND FORMVIEW_ID = " & CURRENT_FORMVIEW_ID & ")"
Dim DT_FORMAT As DataTable = MYDB_ECM.GetDatatable(sql1)
If Not IsNothing(DT_FORMAT) Then
If DT_FORMAT.Rows.Count > 0 Then
Dim result
Try
result = (From FormatRow In DT_FORMAT.AsEnumerable
Select FormatRow Where FormatRow.Item("PATTERN") = pPattern).Single()
Catch ex As Exception
End Try
If Not IsNothing(result) Then
Dim _rule = result.Item("FORMAT_RULE")
If Not IsNothing(_rule) Then
If IsDate(CONTROLVALUE) Then
Dim _date As Date = CDate(CONTROLVALUE)
'Dim _date = CDate(Format(CONTROLVALUE, "dd-MM-yyyy"))
_rule = _rule.ToString.Replace("Y", "y")
_rule = _rule.ToString.Replace("D", "d")
_rule = _rule.ToString.Replace("m", "M")
Dim convertedvalue = _date.ToString(_rule, CultureInfo.InvariantCulture)
CONTROLVALUE = convertedvalue
End If
End If
End If
End If
End If
oReturnValue = CONTROLVALUE
End If
End If
End If
Return oReturnValue
Catch ex As Exception
LOGGER.Warn(" - Unexpected Error in GET_CTRLData: " & vbNewLine & ex.Message)
MsgBox("Unexpected Error in GET_CTRLData: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return ""
End Try
End Function
Private Shared Function CREATE_FOLDER_INDEX(FolderConvention As String, DocTypeID As Integer) Private Shared Function CREATE_FOLDER_INDEX(FolderConvention As String, DocTypeID As Integer)
Try Try
CURRENT_VARIABLE_FOLDER_OVERRIDE = False CURRENT_VARIABLE_FOLDER_OVERRIDE = False
@ -509,7 +551,7 @@ Public Class ClassImport_Windream
Dim INDEX_ID = split(1) Dim INDEX_ID = split(1)
If IsNumeric(INDEX_ID) Then If IsNumeric(INDEX_ID) Then
Dim sql = "SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & INDEX_ID Dim sql = "SELECT SQL_RESULT FROM TBDD_INDEX_AUTOM WHERE GUID = " & INDEX_ID
Dim sql_command = MYDB_ECM.GetScalarValue(SQL) Dim sql_command = MYDB_ECM.GetScalarValue(sql)
If IsNothing(sql_command) Then If IsNothing(sql_command) Then
LOGGER.Warn("unexpected: SQL_RESULT is nothing!!") LOGGER.Warn("unexpected: SQL_RESULT is nothing!!")
LOGGER.Warn("" & sql) LOGGER.Warn("" & sql)

View File

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

View File

@ -1,6 +1,8 @@
Imports System.IO Imports System.IO
Imports System.Text Imports System.Text
Imports DD_LIB_Standards Imports DD_LIB_Standards
Imports DevExpress.XtraGrid.Columns
Public Class frmDocRecordLink Public Class frmDocRecordLink
Public Property Documents As New List(Of ClassWindreamDocGrid.WindreamDoc) Public Property Documents As New List(Of ClassWindreamDocGrid.WindreamDoc)
@ -27,40 +29,49 @@ Public Class frmDocRecordLink
Else Else
DT_RECORDS = ENTITY_DATATABLE DT_RECORDS = ENTITY_DATATABLE
End If End If
If CURRENT_LINK_ENTITY_ID = 0 Then
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
Try End If
DT_RECORDS.Columns.Add("already linked", Type.GetType("System.Boolean")).SetOrdinal(0) Try
DT_RECORDS.Columns("already linked").DefaultValue = False ' DT_RECORDS.Columns.Add("already linked", Type.GetType("System.Boolean")).SetOrdinal(0)
' DT_RECORDS.Columns("already linked").DefaultValue = False
Catch ex As Exception Catch ex As Exception
End Try End Try
'Try
' For Each row As DataRow In CURRENT_DT_SELECTED_FILES.Rows
' Dim DOC_ID = row.Item("DOC_ID")
' Dim sel = String.Format("select T.RECORD_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0} AND T.DOC_ID = {1}", CURRENT_LINK_ENTITY_ID, DOC_ID)
' Dim DTRECS_LINKED As DataTable = MYDB_ECM.GetDatatable(sel)
' For Each recrow As DataRow In DTRECS_LINKED.Rows
' For Each rowrecsdisplay As DataRow In DT_RECORDS.Rows
' If rowrecsdisplay.Item("Record-ID") = recrow.Item("RECORD_ID") Then
' rowrecsdisplay.Item("already linked") = True
' Else
' rowrecsdisplay.Item("already linked") = False
' End If
' Next
' Next
' Next
'Catch ex As Exception
' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in displaying already linked", ex.Message, ex.StackTrace)
'End Try
Try Try
For Each row As DataRow In CURRENT_DT_SELECTED_FILES.Rows grvwGrid.Columns.Clear()
Dim DOC_ID = row.Item("DOC_ID") dgEntityRecords.DataSource = DT_RECORDS
Dim sel = String.Format("select T.RECORD_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0} AND T.DOC_ID = {1}", CURRENT_LINK_ENTITY_ID, DOC_ID) ' grvwGrid.Columns.Item("already linked").Fixed = True
Dim DTRECS_LINKED As DataTable = MYDB_ECM.GetDatatable(sel) grvwGrid.PopulateColumns()
For Each recrow As DataRow In DTRECS_LINKED.Rows dgEntityRecords.RefreshDataSource()
For Each rowrecsdisplay As DataRow In DT_RECORDS.Rows grvwGrid.OptionsView.ColumnAutoWidth = False
If rowrecsdisplay.Item("Record-ID") = recrow.Item("RECORD_ID") Then grvwGrid.Columns(0).Fixed = FixedStyle.Left
rowrecsdisplay.Item("already linked") = True grvwGrid.BestFitColumns()
Else
rowrecsdisplay.Item("already linked") = False
End If
Next
Next
Next
Catch ex As Exception Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in displaying already linked", ex.Message, ex.StackTrace) ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in format grid", ex.Message, ex.StackTrace)
End Try End Try
grvwGrid.Columns.Clear()
dgEntityRecords.DataSource = DT_RECORDS
grvwGrid.Columns.Item("already linked").Fixed = True
grvwGrid.PopulateColumns()
dgEntityRecords.RefreshDataSource()
grvwGrid.OptionsView.ColumnAutoWidth = False
grvwGrid.BestFitColumns()
End Sub End Sub
Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load
' OLD WAY ' OLD WAY
@ -326,7 +337,7 @@ Public Class frmDocRecordLink
End If End If
Next Next
bsiInfo.Caption = $"[{oLinkCount}] records successfully linked - {Now.ToShortTimeString}" bsiInfo.Caption = $"[{oLinkCount}] records successfully linked - {Now.ToShortTimeString}"
Refresh_Grid_Data(True, Nothing)
Catch ex As Exception Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Linking Record to file", ex.Message, ex.StackTrace) ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in Linking Record to file", ex.Message, ex.StackTrace)
End Try End Try

View File

@ -71,7 +71,7 @@ Partial Class frmDocSearchResult
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0) Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
Me.GridControlDocSearch.Name = "GridControlDocSearch" Me.GridControlDocSearch.Name = "GridControlDocSearch"
Me.GridControlDocSearch.Size = New System.Drawing.Size(698, 465) Me.GridControlDocSearch.Size = New System.Drawing.Size(1073, 465)
Me.GridControlDocSearch.TabIndex = 8 Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search}) Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@ -247,6 +247,7 @@ Partial Class frmDocSearchResult
' '
'SplitContainerControl1 'SplitContainerControl1
' '
Me.SplitContainerControl1.Collapsed = True
Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2 Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 158) Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 158)
@ -271,7 +272,7 @@ Partial Class frmDocSearchResult
Me.DocumentViewer1.FileLoaded = False Me.DocumentViewer1.FileLoaded = False
Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0) Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer1.Name = "DocumentViewer1" Me.DocumentViewer1.Name = "DocumentViewer1"
Me.DocumentViewer1.Size = New System.Drawing.Size(375, 465) Me.DocumentViewer1.Size = New System.Drawing.Size(0, 0)
Me.DocumentViewer1.TabIndex = 0 Me.DocumentViewer1.TabIndex = 0
' '
'frmDocSearchResult 'frmDocSearchResult

View File

@ -124,7 +124,7 @@
<data name="docCM_Showlinks.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="docCM_Showlinks.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vwAADr8BOAVTJAAAAINJREFUOE9jQAbfvn37TwyGKscEIEknJye8mH4GfHj/EQWTbAAuPIRcgAsPRwO+ vgAADr4B6kKxwAAAAINJREFUOE9jQAbfvn37TwyGKscEIEknJye8mH4GfHj/EQWTbAAuPIRcgAsPRwO+
f/+eABLEhX19ffEbABR4n5KSAlcA0rB582YwDRIHacAbjQ8ePABLgDSdPHny/5w5c8Ds5cuXg8VBYjDN f/+eABLEhX19ffEbABR4n5KSAlcA0rB582YwDRIHacAbjQ8ePABLgDSdPHny/5w5c8Ds5cuXg8VBYjDN
WA2AuQDZZphimAvwGkAoDLBhqFYgYGAAAFMd0furxZnJAAAAAElFTkSuQmCC WA2AuQDZZphimAvwGkAoDLBhqFYgYGAAAFMd0furxZnJAAAAAElFTkSuQmCC
</value> </value>

View File

@ -1,4 +1,5 @@
Imports System.IO Imports System.IO
Imports System.Runtime.InteropServices
'Imports System.Runtime.InteropServices 'Imports System.Runtime.InteropServices
'Imports System.Text 'Imports System.Text
Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.Base
@ -6,12 +7,39 @@ Imports DevExpress.XtraPrinting
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Public Class frmDocSearchResult Public Class frmDocSearchResult
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
<DllImport("Shell32", CharSet:=CharSet.Auto, SetLastError:=True)>
Public Shared Function ShellExecuteEx(ByRef lpExecInfo As SHELLEXECUTEINFO) As Boolean
End Function
Public Structure SHELLEXECUTEINFO
Public cbSize As Integer
Public fMask As Integer
Public hwnd As IntPtr
<MarshalAs(UnmanagedType.LPTStr)> Public lpVerb As String
<MarshalAs(UnmanagedType.LPTStr)> Public lpFile As String
<MarshalAs(UnmanagedType.LPTStr)> Public lpParameters As String
<MarshalAs(UnmanagedType.LPTStr)> Public lpDirectory As String
Dim nShow As Integer
Dim hInstApp As IntPtr
Dim lpIDList As IntPtr
<MarshalAs(UnmanagedType.LPTStr)> Public lpClass As String
Public hkeyClass As IntPtr
Public dwHotKey As Integer
Public hIcon As IntPtr
Public hProcess As IntPtr
End Structure
Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_FLAG_NO_UI = &H400
Public Const SW_SHOW As Short = 5
Private _Helper As ClassHelper
Private DT_RESULT As DataTable Private DT_RESULT As DataTable
Private SelectedDocID As Int64 Private SelectedDocID As Int64
Private SelectedFULL_FILEPATH As String Private SelectedFULL_FILEPATH As String
Private Sub frmDocSearchResult_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmDocSearchResult_Load(sender As Object, e As EventArgs) Handles Me.Load
LoadDocSearch(False) LoadDocSearch(False)
_Helper = New ClassHelper
Text = CURRENT_DOCSEARCH_CAPTION Text = CURRENT_DOCSEARCH_CAPTION
Dim oGDPictureLicenseKey = MYDB_ECM.GetScalarValue(Queries.DD_ECM.ThirdPartyModules.GdPictureLicense) Dim oGDPictureLicenseKey = MYDB_ECM.GetScalarValue(Queries.DD_ECM.ThirdPartyModules.GdPictureLicense)
@ -57,10 +85,15 @@ Public Class frmDocSearchResult
Private Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged Private Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
If GridViewDoc_Search.RowCount > 0 Then If GridViewDoc_Search.RowCount > 0 Then
GetDocID() LoadFile2Viewer()
Refresh_DocID() End If
End Sub
DocumentViewer1.LoadFile(SelectedFULL_FILEPATH) Sub LoadFile2Viewer()
GetDocID()
Refresh_DocID()
If SplitContainerControl1.Collapsed = False Then
Dim OFilePath = ClassHelper.FORMAT_WM_PATH(SelectedFULL_FILEPATH)
DocumentViewer1.LoadFile(OFilePath)
End If End If
End Sub End Sub
Sub Refresh_DocID() Sub Refresh_DocID()
@ -156,38 +189,54 @@ Public Class frmDocSearchResult
Exit Sub Exit Sub
End If End If
Dim frm As New frmDoc_Links Try
frm.Show() For Each row In GridViewDoc_Search.GetSelectedRows
frm.BringToFront() Dim SELECTED_DOC_ID = GridViewDoc_Search.GetRowCellValue(row, "DocID")
If IsNothing(SELECTED_DOC_ID) Then
MsgBox("Could not Get a selected DocID!", MsgBoxStyle.Exclamation)
Exit Sub
End If
CURRENT_DOC_ID = SELECTED_DOC_ID
Dim frm As New frmDoc_Links
frm.Show()
frm.BringToFront()
Next
Catch ex As Exception
MsgBox("Unexpected Error in Showing DocLinks: " & ex.Message, MsgBoxStyle.Critical)
End Try
Catch ex As Exception Catch ex As Exception
MsgBox("Unexpected Error in Showing DocLinks: " & ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in Showing DocLinks: " & ex.Message, MsgBoxStyle.Critical)
End Try End Try
End Sub End Sub
Private Sub docCM_PropertiesFile_Click(sender As Object, e As EventArgs) Handles docCM_PropertiesFile.Click Private Sub docCM_PropertiesFile_Click(sender As Object, e As EventArgs) Handles docCM_PropertiesFile.Click
'Show_File_Properties() Show_File_Properties()
End Sub End Sub
'Sub Show_File_Properties() Sub Show_File_Properties()
' If IsNothing(SelectedFULL_FILEPATH) Then Try
' MsgBox("Could not read File Parameters(4)!", MsgBoxStyle.Exclamation) For Each row In GridViewDoc_Search.GetSelectedRows
' Exit Sub Dim SELECTED_DOC_PATH = _Helper.FORMAT_WM_PATH(GridViewDoc_Search.GetRowCellValue(row, "FULL_FILENAME"))
' End If Dim SELECTED_DOC_ID = GridViewDoc_Search.GetRowCellValue(row, "DocID")
' If SelectedFULL_FILEPATH <> "" Then
' Cursor = Cursors.WaitCursor
' Dim sei As New SHELLEXECUTEINFO
' sei.cbSize = Marshal.SizeOf(sei)
' sei.lpVerb = "properties"
' sei.lpFile = SelectedFULL_FILEPATH
' sei.nShow = SW_SHOW
' sei.fMask = SEE_MASK_INVOKEIDLIST
' If Not ShellExecuteEx(sei) Then
' Dim ex As New System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error())
' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Open file properties:", ex.Message)
' End If
' End If
' Cursor = Cursors.Default
'End Sub Cursor = Cursors.WaitCursor
Dim sei As New SHELLEXECUTEINFO
sei.cbSize = Marshal.SizeOf(sei)
sei.lpVerb = "properties"
sei.lpFile = SELECTED_DOC_PATH
sei.nShow = SW_SHOW
sei.fMask = SEE_MASK_INVOKEIDLIST
If Not ShellExecuteEx(sei) Then
Dim ex As New System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error())
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Open file propertys:", ex.Message)
End If
Next
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Sub Save_DocGrid_Layout() Sub Save_DocGrid_Layout()
@ -285,5 +334,8 @@ Public Class frmDocSearchResult
Private Sub bchlitmPreview_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bchlitmPreview.CheckedChanged Private Sub bchlitmPreview_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bchlitmPreview.CheckedChanged
SplitContainerControl1.Collapsed = Not bchlitmPreview.Checked SplitContainerControl1.Collapsed = Not bchlitmPreview.Checked
If SplitContainerControl1.Collapsed = False Then
LoadFile2Viewer()
End If
End Sub End Sub
End Class End Class

View File

@ -1,5 +1,6 @@
Imports System.IO Imports System.IO
Imports DD_LIB_Standards Imports DD_LIB_Standards
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraPrinting Imports DevExpress.XtraPrinting
Imports Microsoft.Office.Interop.Outlook Imports Microsoft.Office.Interop.Outlook
@ -86,6 +87,7 @@ Public Class frmDoc_Links
End Try End Try
grvwGrid.OptionsView.ColumnAutoWidth = False grvwGrid.OptionsView.ColumnAutoWidth = False
grvwGrid.BestFitColumns() grvwGrid.BestFitColumns()
grvwGrid.Columns(0).Fixed = FixedStyle.Left
Catch ex As System.Exception Catch ex As System.Exception
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
@ -199,8 +201,12 @@ Public Class frmDoc_Links
Private Sub OrdnerÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OrdnerÖffnenToolStripMenuItem.Click Private Sub OrdnerÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OrdnerÖffnenToolStripMenuItem.Click
Dim oPAth = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns("FULL_FILENAME")) Dim oPAth = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns("FULL_FILENAME"))
Dim oDocID = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns("DocID")) Dim oDocID = grvwGrid.GetFocusedRowCellValue(grvwGrid.Columns("DocID"))
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows If Not IsNothing(oPAth) Then
ClassHelper.Open_Folder(oPAth, oDocID) If Not IsNothing(oDocID) Then
Next ClassHelper.Open_Folder(oPAth, oDocID)
End If
End If
End Sub End Sub
End Class End Class

View File

@ -150,6 +150,14 @@ Public Class frmGlobalSearch
GridViewFiles.Columns("ChangedWhen").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss" GridViewFiles.Columns("ChangedWhen").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
Catch ex As Exception Catch ex As Exception
End Try
Try
GridViewFiles.Columns("ErstelltWann").DisplayFormat.FormatType = FormatType.DateTime
GridViewFiles.Columns("ErstelltWann").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
GridViewFiles.Columns("GeändertWann").DisplayFormat.FormatType = FormatType.DateTime
GridViewFiles.Columns("GeändertWann").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
Catch ex As Exception
End Try End Try
' FormID und RecordID immer ausblenden ' FormID und RecordID immer ausblenden
' GridViewFiles.Columns.Item("FULL_FILENAME").Visible = False ' GridViewFiles.Columns.Item("FULL_FILENAME").Visible = False

View File

@ -1605,8 +1605,7 @@ LOGGER.Error(ex)
If USER_LANGUAGE <> "de-De" Then If USER_LANGUAGE <> "de-De" Then
oText = $"The entity-wide search will be started in background. The result will be displayed when ready." oText = $"The entity-wide search will be started in background. The result will be displayed when ready."
End If End If
MsgBox(oText, vbOKOnly, "Information") Update_Status_Label(True, oText, EditState.Insert)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@ENTITY_ID", _EntityId) CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@ENTITY_ID", _EntityId)
CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_LANGUAGE", USER_LANGUAGE) CURRENT_DOCSEARCH_SQL = CURRENT_DOCSEARCH_SQL.Replace("@USER_LANGUAGE", USER_LANGUAGE)
@ -3039,6 +3038,11 @@ LOGGER.Error(ex)
Refresh_Selected_Table() Refresh_Selected_Table()
Dim oDocuments = DocList.SelectedDocuments Dim oDocuments = DocList.SelectedDocuments
Dim oDocId As Integer = oDocuments.First.DocId
If oDocId = 0 Then
MsgBox("Sorry no document has been selected! Please try again!", MsgBoxStyle.Exclamation)
Exit Sub
End If
Dim msg = "Sind Sie sicher, dass Sie die Datei(en) endgültig löschen wollen?" Dim msg = "Sind Sie sicher, dass Sie die Datei(en) endgültig löschen wollen?"
If USER_LANGUAGE <> "de-DE" Then If USER_LANGUAGE <> "de-DE" Then
msg = "Are You sure You want to permanently delete this file(s)?" msg = "Are You sure You want to permanently delete this file(s)?"
@ -3046,36 +3050,51 @@ LOGGER.Error(ex)
Dim result1 As MsgBoxResult Dim result1 As MsgBoxResult
result1 = MessageBox.Show(msg, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question) result1 = MessageBox.Show(msg, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result1 = MsgBoxResult.Yes Then If result1 = MsgBoxResult.Yes Then
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows For Each oDoc As ClassWindreamDocGrid.WindreamDoc In ClassWindreamDocGrid.GetSelectedDocuments(GridViewDoc_Search)
If row.Item("DOC_PATH") <> "" Then If oDoc.DocPath <> "" Then
Try Try
If Not IsNothing(row.Item("DOC_ID")) Then LOGGER.Info($"DocID {oDoc.DocPath} shall be deleted. User committed Delete-Start...")
Dim Count As Integer = MYDB_ECM.GetScalarValue("SELECT COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = " & row.Item("DOC_ID")) Dim oDElWMFile As Boolean = False
If Count > 1 And CURRENT_SEARCH_TYPE = "RECORD" Then Dim oCountLinks As Integer
If Not IsNothing(oDoc.DocId) Then
oCountLinks = MYDB_ECM.GetScalarValue("SELECT COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = " & oDoc.DocId)
If oCountLinks > 1 And CURRENT_SEARCH_TYPE = "RECORD" Then
msg = "Diese Datei ist noch mit anderen Datensätzen verknüpft! Wollen Sie diese Verknüpfungen ebenfalls löschen?" msg = "Diese Datei ist noch mit anderen Datensätzen verknüpft! Wollen Sie diese Verknüpfungen ebenfalls löschen?"
If USER_LANGUAGE <> "de-DE" Then If USER_LANGUAGE <> "de-DE" Then
msg = "This file is also linked to other records! Would You like to delete these links also?" msg = "This file is also linked to other records! Would You like to delete these links also?"
End If End If
Dim result2 As MsgBoxResult Dim result2 As MsgBoxResult
result2 = MessageBox.Show(msg, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question) result2 = MessageBox.Show(msg, CAPTION_CONFIRMATION, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Dim oDElWMFile As Boolean = False
If result2 = MsgBoxResult.Yes Then
oDElWMFile = True
End If
If ClassFileResult.Delete_ResultFile(row.Item("DOC_ID"), CURRENT_RECORD_ID, oDElWMFile) = True Then If result2 = MsgBoxResult.Yes Then
If oDElWMFile = True Then LOGGER.Info($">> File has other Record-Links. User committed to delete all!")
ClassHelper.InsertEssential_Log(row.Item("DOC_ID"), "DOC-ID", "FILE DELETED BY USER") oDElWMFile = True
Else Else
ClassHelper.InsertEssential_Log(row.Item("DOC_ID"), "DOC-ID", "FILE LINK DELETED BY USER") oDElWMFile = False
LOGGER.Info($">> File has other Record-Links. links shall be kept!")
End If
Else
oDElWMFile = True
End If
If ClassFileResult.Delete_ResultFile(oDoc.DocId, CURRENT_RECORD_ID, oDElWMFile) = True Then
If oDElWMFile = True Then
If clsWD_SET.Delete_WDFile(oDoc.DocPath) Then
Update_Status_Label(True, Now.ToLongTimeString & " - File successfully deleted", EditState.Insert)
ClassHelper.InsertEssential_Log(oDoc.DocId, "DOC-ID", "FILE DELETED BY USER")
End If End If
Else
ClassHelper.InsertEssential_Log(oDoc.DocId, "DOC-ID", "FILE LINK DELETED BY USER")
Update_Status_Label(True, Now.ToLongTimeString & " - File-links successfully deleted", EditState.Insert)
End If End If
Else
Update_Status_Label(True, Now.ToLongTimeString & " - Error deleting file - Check log", EditState.Delete)
End If End If
End If End If
If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then If LICENSE_PROXY = True And DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED Then
Dim proc = String.Format("EXEC PRPROXY_DOC_CHECK_DELETE {0}", row.Item("DOC_ID")) Dim proc = String.Format("EXEC PRPROXY_DOC_CHECK_DELETE {0}", oDoc.DocId)
MYDB_ECM.ExecuteNonQuery(proc) MYDB_ECM.ExecuteNonQuery(proc)
End If End If
Catch ex As Exception Catch ex As Exception