MS 04.09.2015 2
This commit is contained in:
328
app - Kopie/DD-Record-Organiser/frmWD_Index_Dokart.vb
Normal file
328
app - Kopie/DD-Record-Organiser/frmWD_Index_Dokart.vb
Normal file
@@ -0,0 +1,328 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class frmWD_Index_Dokart
|
||||
Dim droptype As String
|
||||
Dim aktFiledropped As String
|
||||
Dim MULTIFILES As Integer = 0
|
||||
Private Sub FillToolStripButton_Click(sender As Object, e As EventArgs)
|
||||
Try
|
||||
Me.VWPMO_DOKUMENTTYPESTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_DOKUMENTTYPES, CURRENT_FORMVIEW_ID)
|
||||
Catch ex As System.Exception
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
Function WORK_FILE(Filepath As String, Targetpath As String, vDokart_ID As Integer, vDokart As String, multiindex As Boolean)
|
||||
Try
|
||||
Dim err As Boolean = False
|
||||
Dim streamresult = ClassWindream.Stream_File(Filepath, Targetpath)
|
||||
'Dim type = streamresult.GetType
|
||||
If streamresult = True Then
|
||||
Dim sql = "SELECT * FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = " & vDokart_ID
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
Dim indexierung_erfolgreich As Boolean = False
|
||||
If dt Is Nothing = False Then
|
||||
If dt.Rows.Count > 0 Then
|
||||
Dim Count As Integer = 0
|
||||
For Each row As DataRow In dt.Rows
|
||||
Dim indexname = row.Item("INDEXNAME").ToString
|
||||
Dim idxvalue = row.Item("VALUE")
|
||||
If idxvalue.ToString.StartsWith("@") Then
|
||||
Select Case idxvalue.ToString.ToUpper
|
||||
Case "@RECORD-ID"
|
||||
idxvalue = idxvalue.ToString.Replace("@Record-ID", CURRENT_RECORD_ID)
|
||||
Case "@DOKART"
|
||||
idxvalue = idxvalue.ToString.Replace("@Dokart", vDokart)
|
||||
End Select
|
||||
End If
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Indexvalue: " & idxvalue.ToString, False)
|
||||
Count += 1
|
||||
indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_FILEIN_WD, indexname, idxvalue)
|
||||
If indexierung_erfolgreich = False Then
|
||||
MsgBox("Unexpected Error in indexing file - See log", MsgBoxStyle.Critical)
|
||||
err = True
|
||||
Exit For
|
||||
End If
|
||||
'ByVal WD_File As String, ByVal _Indexname As String, ByVal _Value As String
|
||||
Next
|
||||
If err = True Then
|
||||
Return False
|
||||
End If
|
||||
'den Entity-Key auslesen
|
||||
sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & ClassWindream._WDObjekttyp & "')"
|
||||
dt = ClassDatabase.Return_Datatable(sql)
|
||||
If Not dt Is Nothing Then
|
||||
If dt.Rows.Count = 1 Then
|
||||
Dim indexname = dt.Rows(0).Item("IDXNAME_ENTITYID").ToString
|
||||
Dim idxvalue = CURRENT_FORM_ID
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Entity-ID: " & idxvalue.ToString, False)
|
||||
indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_FILEIN_WD, indexname, idxvalue)
|
||||
If indexierung_erfolgreich = False Then
|
||||
err = True
|
||||
MsgBox("Unexpected Error in indexing file Entity - See log", MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End If
|
||||
indexname = dt.Rows(0).Item("IDXNAME_PARENTID").ToString
|
||||
idxvalue = CURRENT_PARENTID
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" - Parent-ID: " & idxvalue.ToString, False)
|
||||
indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_FILEIN_WD, indexname, idxvalue)
|
||||
If indexierung_erfolgreich = False Then
|
||||
err = True
|
||||
MsgBox("Unexpected Error in indexing file Parent-ID - See log", MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If indexierung_erfolgreich = True Then
|
||||
If multiindex = False Then MsgBox("Datei erfolgreich nach windream übertragen", MsgBoxStyle.Information, "Erfolgsmeldung")
|
||||
ClassDatabase.Execute_Scalar("UPDATE TBPMO_FILES_USER SET WORKED = 1 WHERE GUID = " & CURRENT_FILEID)
|
||||
frmForm_Constructor.tsstatus_Detail_show(True, "Datei erfolgreich nach windream übertragen")
|
||||
'Die Originaldatei löschen
|
||||
If droptype = "dragdrop file" And indexierung_erfolgreich = True Then
|
||||
If chkdelete_origin.Checked = True Then
|
||||
'Die temporäre Datei löschen
|
||||
File.Delete(aktFiledropped)
|
||||
End If
|
||||
ElseIf droptype = "@ATTMNTEXTRACTED@" And indexierung_erfolgreich = True Then
|
||||
'Die temporäre Datei löschen
|
||||
File.Delete(aktFiledropped)
|
||||
ElseIf droptype = "dragdrop message" And indexierung_erfolgreich = True Then
|
||||
'Die temporäre Datei löschen
|
||||
File.Delete(aktFiledropped)
|
||||
End If
|
||||
Return True
|
||||
Else
|
||||
MsgBox("Es gab ein Problem bei der Indexierung der Datei. Bitte prüfen sie das Log!", MsgBoxStyle.Exclamation, "Achtung:")
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Unexpected error in Work-File:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
End Function
|
||||
Private Sub btnindex_Click(sender As Object, e As EventArgs) Handles btnindex.Click
|
||||
Try
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
SaveMySettingsValue("WD_IndexDeleteDocs", WD_IndexDeleteDocs)
|
||||
|
||||
If cmbDokumentart.SelectedIndex <> -1 Then
|
||||
My.Settings.WD_INDEXDOKART_SAVE = cmbDokumentart.Text
|
||||
My.Settings.Save()
|
||||
ClassWindream._WDObjekttyp = Me.OBJECT_TYPETextBox.Text
|
||||
If chkMultiIndexer.Visible = True And chkMultiIndexer.Checked = True Then
|
||||
'Die erste Datei indexieren
|
||||
If WORK_FILE(Me.txtFilepath.Text, Me.PATHTextBox.Text, cmbDokumentart.SelectedValue, cmbDokumentart.Text, True) = True Then
|
||||
'Und nun die folgenden
|
||||
Dim DTFiles2Work As DataTable = ClassDatabase.Return_Datatable("SELECT * FROM TBPMO_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_FILEID & " AND UPPER(USER_WORK) = UPPER('" & Environment.UserName & "')")
|
||||
If Not DTFiles2Work Is Nothing Then
|
||||
Dim err = False
|
||||
For Each filerow As DataRow In DTFiles2Work.Rows
|
||||
CURRENT_FILEID = filerow.Item("GUID")
|
||||
CURRENT_FILENAME = filerow.Item("FILENAME2WORK")
|
||||
Dim HandleType As String = filerow.Item("HANDLE_TYPE")
|
||||
aktFiledropped = CURRENT_FILENAME
|
||||
If HandleType = "@DROPFROMFSYSTEM@" Then
|
||||
droptype = "dragdrop file"
|
||||
ElseIf HandleType = "@OUTLOOK_ATTMNT@" Then
|
||||
droptype = "dragdrop attachment"
|
||||
ElseIf HandleType = "@OUTLOOKMESSAGE@" Then
|
||||
droptype = "dragdrop message"
|
||||
End If
|
||||
If WORK_FILE(CURRENT_FILENAME, Me.PATHTextBox.Text, cmbDokumentart.SelectedValue, cmbDokumentart.Text, True) = False Then
|
||||
err = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Me.Cursor = Cursors.Default
|
||||
If err = False Then
|
||||
MsgBox("Alle Dateien wurden mit Multiindexing erfolgreich nach windream übertragen!", MsgBoxStyle.Information, "Erfolgsmeldung:")
|
||||
Me.Close()
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
Else
|
||||
If WORK_FILE(Me.txtFilepath.Text, Me.PATHTextBox.Text, cmbDokumentart.SelectedValue, cmbDokumentart.Text, False) = True Then Me.Close()
|
||||
End If
|
||||
Me.Cursor = Cursors.Default
|
||||
'ClassWindream._WDObjekttyp = Me.OBJECT_TYPETextBox.Text
|
||||
'Dim streamresult = ClassWindream.Stream_File(Me.txtFilepath.Text, Me.PATHTextBox.Text)
|
||||
''Dim type = streamresult.GetType
|
||||
'If streamresult = True Then
|
||||
' Dim sql = "SELECT * FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = " & cmbDokumentart.SelectedValue
|
||||
' Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
' Dim indexierung_erfolgreich As Boolean = False
|
||||
' If dt Is Nothing = False Then
|
||||
' If dt.Rows.Count > 0 Then
|
||||
' Dim Count As Integer = 0
|
||||
' For Each row As DataRow In dt.Rows
|
||||
' Dim indexname = row.Item("INDEXNAME").ToString
|
||||
' Dim idxvalue = row.Item("VALUE")
|
||||
' If idxvalue.ToString.StartsWith("@") Then
|
||||
' Select Case idxvalue.ToString.ToUpper
|
||||
' Case "@RECORD-ID"
|
||||
' idxvalue = idxvalue.ToString.Replace("@Record-ID", CURRENT_RECORD_ID)
|
||||
' Case "@DOKART"
|
||||
' idxvalue = idxvalue.ToString.Replace("@Dokart", cmbDokumentart.Text)
|
||||
' End Select
|
||||
' End If
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(" - Indexvalue: " & idxvalue.ToString, False)
|
||||
' Count += 1
|
||||
' indexierung_erfolgreich = ClassWindream.DateiIndexieren(streamresult, indexname, idxvalue)
|
||||
' If indexierung_erfolgreich = False Then
|
||||
' MsgBox("Error in indexing file - See log", MsgBoxStyle.Critical)
|
||||
' Exit For
|
||||
' End If
|
||||
' 'ByVal WD_File As String, ByVal _Indexname As String, ByVal _Value As String
|
||||
' Next
|
||||
' 'den Entity-Key auslesen
|
||||
' sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & ClassWindream._WDObjekttyp & "')"
|
||||
' dt = ClassDatabase.Return_Datatable(sql)
|
||||
' If Not dt Is Nothing Then
|
||||
' If dt.Rows.Count = 1 Then
|
||||
' Dim indexname = dt.Rows(0).Item("IDXNAME_ENTITYID").ToString
|
||||
' Dim idxvalue = CURRENT_FORM_ID
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(" - Entity-ID: " & idxvalue.ToString, False)
|
||||
' indexierung_erfolgreich = ClassWindream.DateiIndexieren(streamresult, indexname, idxvalue)
|
||||
' If indexierung_erfolgreich = False Then
|
||||
' MsgBox("Error in indexing file Entity - See log", MsgBoxStyle.Critical)
|
||||
' End If
|
||||
' indexname = dt.Rows(0).Item("IDXNAME_PARENTID").ToString
|
||||
' idxvalue = CURRENT_PARENTID
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(" - Parent-ID: " & idxvalue.ToString, False)
|
||||
' indexierung_erfolgreich = ClassWindream.DateiIndexieren(streamresult, indexname, idxvalue)
|
||||
' If indexierung_erfolgreich = False Then
|
||||
' MsgBox("Error in indexing file Parent-ID - See log", MsgBoxStyle.Critical)
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
' If indexierung_erfolgreich = True Then
|
||||
' MsgBox("Datei erfolgreich nach windream übertragen", MsgBoxStyle.Information, "Erfolgsmeldung")
|
||||
' ClassDatabase.Execute_Scalar("UPDATE TBPMO_FILES_USER SET WORKED = 1 WHERE GUID = " & CURRENT_FILEID)
|
||||
' frmForm_Constructor.tsstatus_Detail_show(True, "Datei erfolgreich nach windream übertragen")
|
||||
' 'Die Originaldatei löschen
|
||||
' If droptype = "dragdrop file" And indexierung_erfolgreich = True Then
|
||||
' If chkdelete_origin.Checked = True Then
|
||||
' 'Die temporäre Datei löschen
|
||||
' File.Delete(aktFiledropped)
|
||||
' End If
|
||||
' ElseIf droptype = "@ATTMNTEXTRACTED@" And indexierung_erfolgreich = True Then
|
||||
' 'Die temporäre Datei löschen
|
||||
' File.Delete(aktFiledropped)
|
||||
' ElseIf droptype = "dragdrop message" And indexierung_erfolgreich = True Then
|
||||
' 'Die temporäre Datei löschen
|
||||
' File.Delete(aktFiledropped)
|
||||
' End If
|
||||
' Me.Close()
|
||||
' Else
|
||||
' MsgBox("Es gab ein Problem bei der Indexierung der Datei. Bitte prüfen sie das Log!", MsgBoxStyle.Exclamation, "Achtung:")
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
'Else
|
||||
' MsgBox("Unexpected Error in Stream2windream. Please check logfile!", MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Indexing:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub cmbDokumentart_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbDokumentart.SelectedIndexChanged
|
||||
Try
|
||||
If cmbDokumentart.SelectedIndex <> -1 Then
|
||||
Refresh_indices()
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in cmbDokumentart SelectedIndex:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
Sub Refresh_indices()
|
||||
Try
|
||||
If Not FW_DOCTYPE_IDTextBox.Text = String.Empty Then
|
||||
Dim sql = "SELECT * FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = " & FW_DOCTYPE_IDTextBox.Text
|
||||
Dim dt As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
Dim Count As Integer = 0
|
||||
If dt.Rows.Count > 0 Then
|
||||
ListView1.Items.Clear()
|
||||
For Each row As DataRow In dt.Rows
|
||||
ListView1.Items.Add(row.Item("INDEXNAME").ToString)
|
||||
ListView1.Items(Count).SubItems.Add(row.Item("VALUE"))
|
||||
Count += 1
|
||||
Next
|
||||
End If
|
||||
'den Entity-Key auslesen
|
||||
sql = "Select Top 1 * from TBPMO_WD_OBJECTTYPE where Upper(object_type) = Upper('" & OBJECT_TYPETextBox.Text & "')"
|
||||
dt = ClassDatabase.Return_Datatable(sql)
|
||||
If Not dt Is Nothing Then
|
||||
If dt.Rows.Count = 1 Then
|
||||
ListView1.Items.Add(dt.Rows(0).Item("IDXNAME_ENTITYID").ToString)
|
||||
ListView1.Items(Count).SubItems.Add(CURRENT_FORM_ID)
|
||||
ListView1.Items.Add(dt.Rows(0).Item("IDXNAME_PARENTID").ToString)
|
||||
ListView1.Items(Count + 1).SubItems.Add(CURRENT_PARENTID)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in Refresh Indices for Indexing:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub frmWD_Index_Dokart_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
||||
My.Settings.Save()
|
||||
End Sub
|
||||
Private Sub frmWD_Index_Dokart_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Try
|
||||
chkMultiIndexer.Checked = False
|
||||
ClassLogger.Add(">> frmWD_Index_Dokart_Load", False)
|
||||
chkdelete_origin.Checked = False
|
||||
chkdelete_origin.Visible = False
|
||||
CURRENT_FILENAME = ClassDatabase.Execute_Scalar("SELECT FILENAME2WORK FROM TBPMO_FILES_USER WHERE GUID = " & CURRENT_FILEID)
|
||||
Dim HandleType As String = ClassDatabase.Execute_Scalar("SELECT HANDLE_TYPE FROM TBPMO_FILES_USER WHERE GUID = " & CURRENT_FILEID)
|
||||
MULTIFILES = ClassDatabase.Execute_Scalar("SELECT COUNT(*) FROM TBPMO_FILES_USER WHERE WORKED = 0 AND GUID <> " & CURRENT_FILEID & " AND UPPER(USER_WORK) = UPPER('" & Environment.UserName & "')")
|
||||
If MULTIFILES > 0 Then
|
||||
chkMultiIndexer.Text = "Multi-Indexing - Alle nachfolgenden Dateien (" & MULTIFILES & ") identisch indexieren"
|
||||
chkMultiIndexer.Visible = True
|
||||
Else
|
||||
chkMultiIndexer.Visible = False
|
||||
End If
|
||||
aktFiledropped = CURRENT_FILENAME
|
||||
txtFilepath.Text = aktFiledropped
|
||||
If HandleType = "@DROPFROMFSYSTEM@" Then
|
||||
droptype = "dragdrop file"
|
||||
chkdelete_origin.Visible = True
|
||||
chkdelete_origin.Checked = WD_IndexDeleteDocs
|
||||
ElseIf HandleType = "@OUTLOOK_ATTMNT@" Then
|
||||
droptype = "dragdrop attachment"
|
||||
chkdelete_origin.Visible = True
|
||||
chkdelete_origin.Checked = WD_IndexDeleteDocs
|
||||
ElseIf HandleType = "@OUTLOOKMESSAGE@" Then
|
||||
droptype = "dragdrop message"
|
||||
chkdelete_origin.Visible = True
|
||||
chkdelete_origin.Checked = WD_IndexDeleteDocs
|
||||
End If
|
||||
|
||||
VWPMO_DOKUMENTTYPESTableAdapter.Connection.ConnectionString = MyConnectionString
|
||||
Me.VWPMO_DOKUMENTTYPESTableAdapter.Fill(Me.DD_DMSDataSet.VWPMO_DOKUMENTTYPES, CURRENT_FORMVIEW_ID)
|
||||
TBPMO_FILES_USERTableAdapter.Connection.ConnectionString = MyConnectionString
|
||||
Refresh_indices()
|
||||
Catch ex As Exception
|
||||
MsgBox("Error in frmWD_Index_Dokart_Load:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub chkdelete_origin_CheckedChanged(sender As Object, e As EventArgs) Handles chkdelete_origin.CheckedChanged
|
||||
WD_IndexDeleteDocs = chkdelete_origin.Checked
|
||||
SaveMySettingsValue("WD_IndexDeleteDocs", WD_IndexDeleteDocs)
|
||||
End Sub
|
||||
|
||||
Private Sub frmWD_Index_Dokart_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
If My.Settings.WD_INDEXDOKART_SAVE <> String.Empty Then
|
||||
cmbDokumentart.SelectedIndex = cmbDokumentart.FindStringExact(My.Settings.WD_INDEXDOKART_SAVE)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user