Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.ComponentModel Imports System.Drawing Imports System.Drawing.Color Public Class frmDefekteDokumente Inherits System.Windows.Forms.Form #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. InitializeComponent() ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen End Sub ' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub ' Für Windows Form-Designer erforderlich Private components As System.ComponentModel.IContainer 'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich 'Sie kann mit dem Windows Form-Designer modifiziert werden. 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents ImageList1 As System.Windows.Forms.ImageList Friend WithEvents ToolBarButton1 As System.Windows.Forms.ToolBarButton Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem5 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents MenuItem8 As MenuItem Friend WithEvents ToolBarButton2 As ToolBarButton Friend WithEvents MenuItem9 As MenuItem Friend WithEvents MenuItem10 As MenuItem Friend WithEvents MenuItem11 As MenuItem Friend WithEvents Label5 As System.Windows.Forms.Label Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDefekteDokumente)) Me.ToolBar1 = New System.Windows.Forms.ToolBar() Me.ToolBarButton1 = New System.Windows.Forms.ToolBarButton() Me.ToolBarButton2 = New System.Windows.Forms.ToolBarButton() Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) Me.Label1 = New System.Windows.Forms.Label() Me.ContextMenu1 = New System.Windows.Forms.ContextMenu() Me.MenuItem1 = New System.Windows.Forms.MenuItem() Me.MenuItem9 = New System.Windows.Forms.MenuItem() Me.MenuItem8 = New System.Windows.Forms.MenuItem() Me.MenuItem10 = New System.Windows.Forms.MenuItem() Me.MenuItem11 = New System.Windows.Forms.MenuItem() Me.MenuItem2 = New System.Windows.Forms.MenuItem() Me.MenuItem3 = New System.Windows.Forms.MenuItem() Me.MenuItem4 = New System.Windows.Forms.MenuItem() Me.MenuItem5 = New System.Windows.Forms.MenuItem() Me.MenuItem6 = New System.Windows.Forms.MenuItem() Me.MenuItem7 = New System.Windows.Forms.MenuItem() Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() Me.Label2 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label() Me.Label4 = New System.Windows.Forms.Label() Me.Label5 = New System.Windows.Forms.Label() CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'ToolBar1 ' Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.ToolBarButton1, Me.ToolBarButton2}) Me.ToolBar1.DropDownArrows = True Me.ToolBar1.ImageList = Me.ImageList1 Me.ToolBar1.Location = New System.Drawing.Point(0, 0) Me.ToolBar1.Name = "ToolBar1" Me.ToolBar1.ShowToolTips = True Me.ToolBar1.Size = New System.Drawing.Size(811, 28) Me.ToolBar1.TabIndex = 0 ' 'ToolBarButton1 ' Me.ToolBarButton1.ImageIndex = 0 Me.ToolBarButton1.Name = "ToolBarButton1" ' 'ToolBarButton2 ' Me.ToolBarButton2.ImageIndex = 1 Me.ToolBarButton2.Name = "ToolBarButton2" Me.ToolBarButton2.ToolTipText = "Liste aktualisieren" ' 'ImageList1 ' Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent Me.ImageList1.Images.SetKeyName(0, "") Me.ImageList1.Images.SetKeyName(1, "Arrow_02_16.png") ' 'Label1 ' Me.Label1.Dock = System.Windows.Forms.DockStyle.Top Me.Label1.Location = New System.Drawing.Point(0, 28) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(811, 47) Me.Label1.TabIndex = 1 ' 'ContextMenu1 ' Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem9, Me.MenuItem8, Me.MenuItem10, Me.MenuItem11, Me.MenuItem2, Me.MenuItem3, Me.MenuItem4, Me.MenuItem5, Me.MenuItem6, Me.MenuItem7}) ' 'MenuItem1 ' Me.MenuItem1.Index = 0 Me.MenuItem1.Text = "Versuchen, Dokument auf der Datenbank zu sichern" ' 'MenuItem9 ' Me.MenuItem9.Index = 1 Me.MenuItem9.Text = "-" ' 'MenuItem8 ' Me.MenuItem8.Index = 2 Me.MenuItem8.Text = "Dokumentbearbeitung wieder aufnehmen" ' 'MenuItem10 ' Me.MenuItem10.Index = 3 Me.MenuItem10.Text = "Temporäre Dateien löschen" ' 'MenuItem11 ' Me.MenuItem11.Index = 4 Me.MenuItem11.Text = "-" ' 'MenuItem2 ' Me.MenuItem2.Index = 5 Me.MenuItem2.Text = "Eintrag löschen" Me.MenuItem2.Visible = False ' 'MenuItem3 ' Me.MenuItem3.Index = 6 Me.MenuItem3.Text = "Dokument anzeigen" Me.MenuItem3.Visible = False ' 'MenuItem4 ' Me.MenuItem4.Index = 7 Me.MenuItem4.Text = "Dokument löschen" ' 'MenuItem5 ' Me.MenuItem5.Index = 8 Me.MenuItem5.Text = "Partner-Dossier anzeigen" ' 'MenuItem6 ' Me.MenuItem6.Index = 9 Me.MenuItem6.Text = "-" ' 'MenuItem7 ' Me.MenuItem7.Index = 10 Me.MenuItem7.Shortcut = System.Windows.Forms.Shortcut.F5 Me.MenuItem7.Text = "Liste aktualisieren" ' 'C1TrueDBGrid1 ' Me.C1TrueDBGrid1.AllowUpdate = False Me.C1TrueDBGrid1.AllowUpdateOnBlur = False Me.C1TrueDBGrid1.AlternatingRows = True Me.C1TrueDBGrid1.ContextMenu = Me.ContextMenu1 Me.C1TrueDBGrid1.Cursor = System.Windows.Forms.Cursors.Default Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill Me.C1TrueDBGrid1.FetchRowStyles = True Me.C1TrueDBGrid1.FilterBar = True Me.C1TrueDBGrid1.GroupByCaption = "Drag a column header here to group by that column" Me.C1TrueDBGrid1.Images.Add(CType(resources.GetObject("C1TrueDBGrid1.Images"), System.Drawing.Image)) Me.C1TrueDBGrid1.Location = New System.Drawing.Point(0, 75) Me.C1TrueDBGrid1.MultiSelect = C1.Win.C1TrueDBGrid.MultiSelectEnum.None Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) Me.C1TrueDBGrid1.ScrollTips = True Me.C1TrueDBGrid1.Size = New System.Drawing.Size(811, 242) Me.C1TrueDBGrid1.TabIndex = 26 Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") ' 'Label2 ' Me.Label2.Location = New System.Drawing.Point(8, 48) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(272, 23) Me.Label2.TabIndex = 27 Me.Label2.Text = "Bearbeiten Sie die Dokumente mittels Kontextmenü." ' 'Label3 ' Me.Label3.Location = New System.Drawing.Point(8, 32) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(488, 23) Me.Label3.TabIndex = 28 Me.Label3.Text = "Die unten aufgeführten Dokumente sind nicht ordnungsgemäss auf der Datenbank gesp" & "eichert." ' 'Label4 ' Me.Label4.BackColor = System.Drawing.SystemColors.ActiveCaption Me.Label4.Location = New System.Drawing.Point(328, 48) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(16, 8) Me.Label4.TabIndex = 30 ' 'Label5 ' Me.Label5.BackColor = System.Drawing.SystemColors.ActiveCaption Me.Label5.Location = New System.Drawing.Point(-6, 32) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(10, 32) Me.Label5.TabIndex = 31 ' 'frmDefekteDokumente ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(811, 317) Me.ControlBox = False Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.C1TrueDBGrid1) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.ToolBar1) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "frmDefekteDokumente" Me.Text = "Problemdokumente" CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() End Sub #End Region Dim hiddenbuttonpressed As Boolean = False Dim m_start As Boolean Property Start() As Boolean Get Return False End Get Set(ByVal Value As Boolean) m_start = Value End Set End Property Dim m_fnkt As Integer Property fnkt() As Integer Get Return m_fnkt End Get Set(ByVal Value As Integer) m_fnkt = Value End Set End Property Dim mt As DataTable Property t() As DataTable Get Return mt End Get Set(ByVal Value As DataTable) mt = Value End Set End Property Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick Select Case ToolBar1.Buttons.IndexOf(e.Button) Case 1 'close button Me.refresh_list() Exit Sub End Select 'SHU&BUD - Closebutton ist aktiv, sofern das Programm in der Testumgebung löuft If Me.fnkt = 3 Then Me.hiddenbuttonpressed = True If Globals.Applikationsdaten.Rows(0).Item("showlogin") = True Then Me.hiddenbuttonpressed = True Globals.Bearbeitung_Problemdokumente = False End If If Me.hiddenbuttonpressed = True Then Globals.Bearbeitung_Problemdokumente = False End If If Globals.ProblemDokumentZwingend = True Then If Globals.Bearbeitung_Problemdokumente = True And Me.C1TrueDBGrid1.Splits(0).Rows.Count > 0 Then MyMsg.show_standardmessage(230, MsgBoxStyle.Critical) Exit Sub Else Globals.Bearbeitung_Problemdokumente = False Me.Hide() Me.fnkt = 1 End If 'Me.Close() Else Globals.Bearbeitung_Problemdokumente = False Me.Hide() Me.fnkt = 1 End If End Sub Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click Dim d As New DocMgmt() If d.Save_To_DB(Me.C1TrueDBGrid1.Columns(0).Text, Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente") + Me.C1TrueDBGrid1.Columns("Dokumentname").Text) = True Then Globals.PerfMon.Insert_DocRestore("Dokument auf DB gespeichert: " + Me.C1TrueDBGrid1.Columns(0).Text) DivFnkt.Status_Dokumentbearbeitung(2, Me.C1TrueDBGrid1.Columns(0).Text, 0, "") delete_olib(Me.C1TrueDBGrid1.Columns("Dokumentid").Text) Else MsgBox("Das Dokumente konnte nicht in der Datenbank gespeichert werden.") End If refresh_list() End Sub Private Sub delete_olib(ByVal dokumentid As String) Dim filesc As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*_" + dokumentid + ".olib", System.IO.SearchOption.TopDirectoryOnly) If filesc.Count > 0 Then For Each filename As String In filesc System.IO.File.Delete(filename) Next End If End Sub Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click DivFnkt.Status_Dokumentbearbeitung(2, Me.C1TrueDBGrid1.Columns(0).Text, 0, "") Globals.PerfMon.Insert_DocRestore("Dokumenteintrag ohne Speicherversuch gelöscht: " + Me.C1TrueDBGrid1.Columns(0).Text) refresh_list() End Sub Public Sub refresh_list() Dim d As New DocMgmt() t = d.check_doc(fnkt) t.Columns.Add("Tempfile") For Each r As DataRow In t.Rows r.Item("Tempfile") = "" Next d = Nothing Dim filesc As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*" + ".olib", System.IO.SearchOption.TopDirectoryOnly) If filesc.Count > 0 Then Globals.UseOlibFile = True If Globals.UseOlibFile = True Then Dim files As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*" + ".olib", System.IO.SearchOption.TopDirectoryOnly) For Each filename As String In files Dim dokumentid As String dokumentid = Microsoft.VisualBasic.Left(filename, Len(filename) - 5) dokumentid = Microsoft.VisualBasic.Right(dokumentid, 22) Dim dt As System.Data.DataTable = t Dim dokinwork As Boolean = False For Each fw As Wachfile In Globals.NewFileWacher.FilesToWatch If fw.Dokumentid = dokumentid Then dokinwork = True Next If dokinwork = False Then Dim dr As DataRow = dt.NewRow Dim dok As New edokaDB.clsDokument Dim par As New edokaDB.clsPartner Dim dokt As New edokaDB.clsDokumenttyp dok.cpMainConnectionProvider = conn par.cpMainConnectionProvider = conn dokt.cpMainConnectionProvider = conn dok.sDokumentid = New SqlString(CType(dokumentid, String)) dok.SelectOne() Try par.iNRPAR00 = New SqlInt32(CType(dok.iNrpar00.Value, Int32)) par.SelectOne() dokt.iDokumenttypnr = New SqlInt32(CType(dok.iDokumenttypnr, Int32)) dokt.SelectOne() dr.Item("Dokumentid") = dokumentid dr.Item("PartnerNr") = par.iNRPAR00.ToString dr.Item("Kurzbezeichnung") = par.sBKPAR00.ToString dr.Item("Erstellt am") = dok.daErstelltam.ToString dr.Item("Dokument") = dokt.sBezeichnung.ToString dr.Item("Dokumentname") = dok.sDokumentname.ToString dr.Item("Tempfile") = "*" dt.Rows.Add(dr) Catch dr.Item("Dokumentid") = dokumentid dr.Item("PartnerNr") = System.DBNull.Value dr.Item("Kurzbezeichnung") = "" dr.Item("Erstellt am") = System.DBNull.Value dr.Item("Dokument") = "" dr.Item("Dokumentname") = "" dr.Item("Tempfile") = "*" dt.Rows.Add(dr) End Try dok.Dispose() par.Dispose() dokt.Dispose() End If Next End If Me.C1TrueDBGrid1.DataSource = t Me.C1TrueDBGrid1.DataMember = t.TableName Dim i As Integer For i = 0 To Me.C1TrueDBGrid1.Columns.Count - 1 Me.C1TrueDBGrid1.Splits(0).DisplayColumns(i).AutoSize() Next Me.C1TrueDBGrid1.Splits(0).DisplayColumns("dokumentname").Visible = False 'Me.C1TrueDBGrid1.Splits(0).DisplayColumns("Tempfile").Visible = False End Sub Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click DivFnkt.ShowDoc(Me.C1TrueDBGrid1.Columns(0).Text, Me) End Sub Private Sub frmDefekteDokumente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Globals.UseOlibFile Then Me.MenuItem9.Visible = True Me.MenuItem8.Visible = True Me.MenuItem10.Visible = True Me.MenuItem11.Visible = True Else Me.MenuItem9.Visible = False Me.MenuItem8.Visible = False Me.MenuItem10.Visible = False Me.MenuItem11.Visible = False End If Me.Label4.BackColor = Me.BackColor '08.11.2004 BUD If Globals.Applikationsdaten.Rows(0).Item("showlogin") = False Then Me.Label5.BackColor = Me.BackColor End If Dim i As Integer For i = 0 To Me.C1TrueDBGrid1.Columns.Count - 1 Me.C1TrueDBGrid1.Splits(0).DisplayColumns(i).AutoSize() Next Me.C1TrueDBGrid1.Splits(0).DisplayColumns("dokumentname").Visible = False End Sub Private Sub ContextMenu1_Popup(ByVal sender As Object, ByVal e As System.EventArgs) Handles ContextMenu1.Popup If Me.C1TrueDBGrid1.Splits(0).Rows.Count = 0 Then Me.MenuItem1.Enabled = False Me.MenuItem2.Enabled = False Me.MenuItem3.Enabled = False Me.MenuItem4.Enabled = False Me.MenuItem5.Enabled = False Me.MenuItem6.Enabled = False Me.MenuItem7.Enabled = False Me.MenuItem8.Enabled = False Else Me.MenuItem1.Enabled = True Me.MenuItem3.Enabled = True Me.MenuItem4.Enabled = True Me.MenuItem5.Enabled = True Me.MenuItem6.Enabled = True Me.MenuItem7.Enabled = True End If If System.IO.File.Exists(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente") + Me.C1TrueDBGrid1.Columns("Dokumentname").Text) Then Me.MenuItem1.Enabled = True Else Me.MenuItem1.Enabled = False End If MenuItem8.Enabled = False Dim files As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*" + Me.C1TrueDBGrid1.Columns("Dokumentid").Text + ".olib", System.IO.SearchOption.TopDirectoryOnly) If files.Length > 0 And Me.C1TrueDBGrid1.Columns("Dokumentid").Text <> "" Then Me.MenuItem8.Enabled = True End If If Me.C1TrueDBGrid1.Columns("Kurzbezeichnung").Text = "" Then Me.MenuItem4.Enabled = False Me.MenuItem5.Enabled = False Me.MenuItem3.Enabled = False Me.MenuItem8.Enabled = False End If If Me.C1TrueDBGrid1.Columns("Tempfile").Text = "" Then Me.MenuItem10.Enabled = False Else Me.MenuItem10.Enabled = True End Sub Private Sub MenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem5.Click 'DivFnkt.Status_Dokumentbearbeitung(2, Me.C1TrueDBGrid1.Columns(0).Text, 0, "") Dim f As New frmSearchDoc() f.txtbcknr.Text = Me.C1TrueDBGrid1.Columns("Dokumentid").Text f.Visible = False 'f.Show() f.Visible = False f.MdiParent = Me.MdiParent f.Show_Doc() f.Hide() End Sub Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click Dim f As New frmLoeschgrund() f.txtLoeschgrund.Text = "" f.ShowDialog() If f.DialogResult = DialogResult.OK Then Dim scmCmdToExecute As SqlCommand = New SqlCommand() scmCmdToExecute.CommandText = "dbo.SP_Dokument_delete" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection conn.OpenConnection() Try Dim loeschgrund As String If f.txtLoeschgrund.Text.Length > 254 Then 'begrentzt durch dbo.dokument.loeschgrund loeschgrund = f.txtLoeschgrund.Text.Substring(0, 254) Else loeschgrund = f.txtLoeschgrund.Text End If scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.C1TrueDBGrid1.Columns("dokumentid").Value)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiter", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr)) 'scmCmdToExecute.Parameters.Add(New SqlParameter("@loeschgrund", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, loeschgrund)) scmCmdToExecute.Parameters.Add("@loeschgrund", loeschgrund) scmCmdToExecute.ExecuteNonQuery() DivFnkt.Status_Dokumentbearbeitung(2, Me.C1TrueDBGrid1.Columns(0).Text, 0, "") Dim files As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*" + Me.C1TrueDBGrid1.Columns("Dokumentid").Text + ".*", System.IO.SearchOption.TopDirectoryOnly) For Each filename As String In files System.IO.File.Delete(filename) Next Catch ex As Exception Throw New Exception("Dokument löschen::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() conn.CloseConnection(True) 'gelöschtes item aus der liste entfernen, ohne refresh 'RST 2006-07-18 'old: refresh_list() Dim dataRow As DataRow dataRow = t.Rows.Item(C1TrueDBGrid1.Row) t.Rows.Remove(dataRow) C1TrueDBGrid1.Rebind() Dim i As Integer For i = 0 To Me.C1TrueDBGrid1.Columns.Count - 1 Me.C1TrueDBGrid1.Splits(0).DisplayColumns(i).AutoSize() Next End Try End If End Sub Private Sub frmDefekteDokumente_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated If Globals.Applikationsdaten.Rows(0).Item("showlogin") = False Then Me.Label5.BackColor = Me.BackColor End If refresh_list() If Globals.UseOlibFile Then Me.MenuItem9.Visible = True Me.MenuItem8.Visible = True Me.MenuItem10.Visible = True Me.MenuItem11.Visible = True Else Me.MenuItem9.Visible = False Me.MenuItem8.Visible = False Me.MenuItem10.Visible = False Me.MenuItem11.Visible = False End If End Sub Private Sub frmDefekteDokumente_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If Globals.Global_ForceExit = True Then Exit Sub If Me.hiddenbuttonpressed = True Then Globals.Bearbeitung_Problemdokumente = False Exit Sub End If If Start And Me.C1TrueDBGrid1.Splits(0).Rows.Count < 1 Then Start = False e.Cancel = True Me.fnkt = 1 Me.Hide() Exit Sub End If If Globals.Bearbeitung_Problemdokumente = True And Me.C1TrueDBGrid1.Splits(0).Rows.Count > 0 Then MyMsg.show_standardmessage(230, MsgBoxStyle.Critical) e.Cancel = True Exit Sub Else Globals.Bearbeitung_Problemdokumente = False End If e.Cancel = True Me.fnkt = 1 Me.Hide() End Sub Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click Me.refresh_list() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.hiddenbuttonpressed = True Globals.Bearbeitung_Problemdokumente = False End Sub Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click Me.hiddenbuttonpressed = True Globals.Bearbeitung_Problemdokumente = False End Sub Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click '*********************** 'Release 3.3 '08.11.2004 / BUD '*********************** If Globals.Applikationsdaten.Rows(0).Item("showlogin") = True Then Me.hiddenbuttonpressed = True Globals.Bearbeitung_Problemdokumente = False End If End Sub Private Sub MenuItem8_Click(sender As Object, e As EventArgs) Handles MenuItem8.Click Dim files As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*" + Me.C1TrueDBGrid1.Columns("Dokumentid").Text + ".olib", System.IO.SearchOption.TopDirectoryOnly) For Each filename As String In files Dim ds As New DataSet ds.ReadXml(filename) If ds.Tables.Count < 1 Then MsgBox("Die Wiederaufnahme der Dokumentbearbeitung ist nicht möglich.") Exit Sub End If If Globals.Force_Watch_Message Then PerfMon.force_insert_entry(Me.C1TrueDBGrid1.Columns("Dokumentid").Text + ": Dokumentbearbeitung wieder aufgenommen ") End If restart_dokumentbearbeitung(ds, filename) ds.Dispose() refresh_list() Next End Sub Public Sub Get_Olib_Table(ByRef olibdata As DataSet, ByRef Table As DataTable, ByRef Tablename As String) Try Table = olibdata.Tables(Tablename) If Table Is Nothing Then Dim d As New DataTable Table = d.Copy End If For Each c As DataColumn In Table.Columns For Each r As DataRow In Table.Rows If UCase(r.Item(c)).ToString = "TRUE" Then r.Item(c) = "1" If UCase(r.Item(c)).ToString = "FALSE" Then r.Item(c) = "0" If UCase(r.Item(c)).ToString = "SYSTEM.DBNULL.VALUE" Then r.Item(c) = System.DBNull.Value Next Next Table.AcceptChanges() Catch ex As Exception Dim d As New DataTable Table = d.Copy End Try End Sub Public Sub restart_dokumentbearbeitung(ByVal olibdata As DataSet, ByVal filename As String) If System.IO.File.Exists(olibdata.Tables("Allgemein").Rows(0).Item("dokumentfilename").ToString) Then Else MsgBox("Das Office-Dokument ist nicht vorhanden") Exit Sub End If Dim wlib As New WordLib wlib.save_historystatus = olibdata.Tables("Allgemein").Rows(0).Item("save_historystatus") wlib.save_historystatusbr = olibdata.Tables("Allgemein").Rows(0).Item("save_historystatusbr") wlib.DokumentID = olibdata.Tables("Allgemein").Rows(0).Item("dokumentid") wlib.CreateDoc = olibdata.Tables("Allgemein").Rows(0).Item("CreateDoc") wlib.Dokumentidbr = olibdata.Tables("Allgemein").Rows(0).Item("Dokumentidbr") wlib.Dokumentcoldindex_Changed = olibdata.Tables("Allgemein").Rows(0).Item("Dokumentcoldindex_Changed") wlib.dokumentid_changed = olibdata.Tables("Allgemein").Rows(0).Item("dokumentid_changed") wlib.dokumentid_changed = olibdata.Tables("Allgemein").Rows(0).Item("dokumentid_changed") wlib.Dokumentcoldindex_changedbr = olibdata.Tables("Allgemein").Rows(0).Item("Dokumentcoldindex_Changedbr") wlib.dokumentid_changedbr = olibdata.Tables("Allgemein").Rows(0).Item("dokumentid_changedbr") wlib.DokumentName = olibdata.Tables("Allgemein").Rows(0).Item("Dokumentname") If Globals.NewFileWacher.GetHandle(wlib.DokumentID, olibdata.Tables("Allgemein").Rows(0).Item("Applicationtype"), wlib.DokumentID) > 0 Then Select Case olibdata.Tables("Allgemein").Rows(0).Item("Applicationtype") Case 1 MsgBox("Das Dokument ist bereits mit Word geöffnet. Schliessen Sie bitte die entsprechende Word-Anwendung", vbExclamation) Case 2 MsgBox("Das Dokument ist bereits mit Excel geöffnet. Schliessen Sie bitte die entsprechende Excel-Anwendung", vbExclamation) Case Else MsgBox("Das Dokument ist bereits mit der dafür vorgesehenen Anwendung geöffnet. Schliessen Sie bitte die entsprechende Anwendung", vbExclamation) End Select wlib = Nothing Exit Sub End If Get_Olib_Table(olibdata, wlib.Save_Dokument, "Save_Dokument") Get_Olib_Table(olibdata, wlib.Save_Notizen, "Save_Notizen") Get_Olib_Table(olibdata, wlib.Save_ColdIndex, "Save_Coldindex") Get_Olib_Table(olibdata, wlib.Save_Dokumentwerte, "Save_Dokumentwerte") Get_Olib_Table(olibdata, wlib.Save_Dokumentzuordnungen, "Save_Dokumentzuordnungen") Get_Olib_Table(olibdata, wlib.Save_Dokumentinfomeldungen, "Save_Dokumentinfomeldung") Get_Olib_Table(olibdata, wlib.Save_DokumentFunktionen, "Save_Dokumentfunktionen") Get_Olib_Table(olibdata, wlib.save_dokumentersetzen, "Save_Dokumentersetzen") Get_Olib_Table(olibdata, wlib.save_dokumentcoldindex, "Save_Dokumentcoldindex") Get_Olib_Table(olibdata, wlib.Save_Dokumentbr, "Save_Dokumentbr") Get_Olib_Table(olibdata, wlib.Save_Notizenbr, "Save_Notizenbr") Get_Olib_Table(olibdata, wlib.Save_ColdIndexbr, "Save_Coldindexbr") Get_Olib_Table(olibdata, wlib.Save_Dokumentwertebr, "Save_Dokumentwertebr") Get_Olib_Table(olibdata, wlib.Save_Dokumentzuordnungenbr, "Save_Dokumentzuordnungenvr") Get_Olib_Table(olibdata, wlib.Save_Dokumentinfomeldungenbr, "Save_Dokumentinfomeldungenbr") Get_Olib_Table(olibdata, wlib.Save_DokumentFunktionenbr, "Save_Dokumentfunktionenbr") Get_Olib_Table(olibdata, wlib.save_dokumentersetzenbr, "Save_Dokumentersetzenbr") Get_Olib_Table(olibdata, wlib.save_dokumentcoldindexbr, "Save_Dokumentcoldindexbr") Select Case olibdata.Tables("Allgemein").Rows(0).Item("Applicationtype") Case 1 wlib.Dokumentfilename = olibdata.Tables("Allgemein").Rows(0).Item("dokumentfilename").ToString wlib.StartWord() wlib.LoadWord(olibdata.Tables("Allgemein").Rows(0).Item("dokumentfilename").ToString) System.IO.File.Delete(filename) Case 2 wlib.Dokumentfilename = olibdata.Tables("Allgemein").Rows(0).Item("dokumentfilename").ToString wlib.StartExcel() wlib.Excel_Dokument = True wlib.LoadExcel(olibdata.Tables("Allgemein").Rows(0).Item("dokumentfilename").ToString) Case Else End Select DivFnkt.Status_Dokumentbearbeitung(2, wlib.DokumentID, False, "") DivFnkt.Status_Dokumentbearbeitung(1, wlib.DokumentID, True, "") Try Words.Remove(wlib.DokumentName) Catch ex As Exception End Try Words.Add(wlib, wlib.DokumentName) wlib = Nothing End Sub Private Sub MenuItem10_Click(sender As Object, e As EventArgs) Handles MenuItem10.Click If MsgBox("Sollen die temprären Daten gelöscht werden?", vbYesNo) = MsgBoxResult.Yes Then Dim files As String() = System.IO.Directory.GetFiles(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), "*" + Me.C1TrueDBGrid1.Columns("Dokumentid").Text + ".*", System.IO.SearchOption.TopDirectoryOnly) For Each filename As String In files System.IO.File.Delete(filename) If Globals.Force_Watch_Message Then PerfMon.force_insert_entry(filename + ": Temporäre Daten gelöscht") End If Next End If refresh_list() End Sub End Class