Imports System.Data Imports System.Data.SqlClient Imports System.Data.SqlTypes Imports System.IO Imports System.Data.OleDb Imports System.Threading Imports System.Security.Principal Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms Public Class Form1 Dim dsdaten As New DataSet Dim UserID As String = Get_Username() Dim HasError As Boolean = False Private Sub ImportCSVToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ImportCSVToolStripMenuItem.Click End Sub Dim c As New clsdata() Public Function Validate_Parameter() c.Dsdaten = Me.dsdaten c.ParamCollection.Clear() c.ParamCollection.Clear() c.Check_Parameter() Me.lbljahr.Text = c.Jahr.ToString For i As Integer = 1 To c.PartnerCollection.Count Dim partner As Partnerclass = c.PartnerCollection.Item(i) Dim s As String If partner.HasError <> 0 Then s = "(*)" HasError = True Else s = "" End If lbpartner.Items.Add(s + partner.Partner) Next For i As Integer = 1 To c.ParamCollection.Count Dim param As ParamClass = c.ParamCollection.Item(i) Dim s As String If param.HasError <> 0 Then s = "(*)" HasError = True Else s = "" End If lbparam.Items.Add(s + param.DocType + " " + param.Paramtyp + " " + param.Zeitraum) Next If HasError = True Then Me.btnDokumenteAnfordern.Enabled = False Else Me.btnDokumenteAnfordern.Enabled = True End Function Dim CheckUser As Boolean = False Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load FileOpen(1, ApplicationPath() + "\docretparams.cfg", OpenMode.Input) Dim s As String While Not EOF(1) Input(1, s) Dim splitter() As String splitter = s.Split(":") Select Case splitter(0) Case "DefaultExtension" Globals.DefaultExtension = splitter(1) Case "EDOKABerechtigungen" Select Case splitter(1) Case 0 CheckUser = True Case 1 CheckUser = False Globals.UserRechte = 0 End Select End Select End While FileClose(1) If CheckUser Then Dim cu As New clsUser cu.check_user(UserID) If Globals.UserRechte = -1 Then 'Me.Close() Exit Sub End If End If If Globals.UserRechte = 1 Then Me.BenutzerverwaltungToolStripMenuItem.Visible = True Else Me.BenutzerverwaltungToolStripMenuItem.Visible = False Dim lv As ListView lv = Me.lstJob With lv .View = View.Details .FullRowSelect = True .Columns.Add("JobNr") .Columns.Add("Steuerjahr") .Columns.Add("Partner") .Columns.Add("Statusdatum", 150) .Columns.Add("Status", 150) .Columns.Add("Datei", 150) End With Me.Refreshlist() End Sub Private Sub lbpartner_DrawItem(sender As Object, e As DrawItemEventArgs) Handles lbpartner.DrawItem Try If lbpartner.Items(e.Index).ToString().IndexOf("*") > -1 Then e.Graphics.FillRectangle(Brushes.LightPink, e.Bounds) End If e.Graphics.DrawString(lbpartner.Items(e.Index).ToString(), e.Font, Brushes.Black, New System.Drawing.PointF(e.Bounds.X, e.Bounds.Y)) e.DrawFocusRectangle() Catch End Try End Sub Private Sub lbparam_DrawItem(sender As Object, e As DrawItemEventArgs) Handles lbparam.DrawItem Try If lbparam.Items(e.Index).ToString().IndexOf("*") > -1 Then e.Graphics.FillRectangle(Brushes.LightPink, e.Bounds) End If e.Graphics.DrawString(lbparam.Items(e.Index).ToString(), e.Font, Brushes.Black, New System.Drawing.PointF(e.Bounds.X, e.Bounds.Y)) e.DrawFocusRectangle() Catch End Try End Sub Private Sub btnDokumenteAnfordern_Click(sender As Object, e As EventArgs) Handles btnDokumenteAnfordern.Click Dim db As New clsdb Dim jobnr As String jobnr = db.Insert_Job(Me.UserID, Me.lbljahr.Text) For i As Integer = 1 To c.PartnerCollection.Count Dim p As Partnerclass = c.PartnerCollection.Item(i) db.Insert_Partner(jobnr, p.Partner) Next For i As Integer = 1 To c.ParamCollection.Count Dim p As ParamClass = c.ParamCollection.Item(i) db.Insert_Parameter(jobnr, p.Paramtyp, p.DocType, p.Zeitraum) Next Me.TabControl1.SelectedIndex = 1 db.DokZugriff_Journal(jobnr) Refreshlist() End Sub Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click Refreshlist() End Sub Sub Refreshlist() Me.lstJob.Items.Clear() Dim db As New clsdb db.Get_Jobstatus(Me.UserID) For Each r As DataRow In db.dsdaten.Tables(0).Rows Dim i As New ListViewItem i.Text = r("Jobnr") i.SubItems.Add(r("Steuerjahr").ToString) i.SubItems.Add(r("Partner").ToString) i.SubItems.Add(r("Statusdatum")) i.SubItems.Add(r("Status").ToString) i.SubItems.Add(r("Datei").ToString) If r("datei") = "download" Then i.SubItems(5).Font = New Font(i.SubItems(4).Font, FontStyle.Underline) End If i.UseItemStyleForSubItems = False 'Me.lstJob.Items.Add(New ListViewItem({r("Jobnr").ToString, r("Steuerjahr").ToString, r("Partner").ToString, r("Statusdatum").ToString, r("Status").ToString, r("Datei").ToString})) Me.lstJob.Items.Add(i) Next End Sub Private Sub lstJob_DrawSubItem(sender As Object, e As DrawListViewSubItemEventArgs) Handles lstJob.DrawSubItem Dim itemStr As String = e.Item.Text If itemStr.StartsWith("Hallo") Then Dim g As Graphics = e.Graphics Dim br As Brush = Brushes.Blue Dim f As Font = New Font(e.Item.Font.FontFamily, e.Item.Font.Size, FontStyle.Underline) g.DrawString(itemStr, f, br, e.Item.Position) Else e.DrawDefault = True End If End Sub Private Sub ListView1_DrawColumnHeader(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawListViewColumnHeaderEventArgs) _ Handles lstJob.DrawColumnHeader e.DrawDefault = True End Sub Private Sub lstJob_DoubleClick(sender As Object, e As EventArgs) Handles lstJob.DoubleClick Dim lv As ListViewItem lv = lstJob.SelectedItems(0) If lv.SubItems(5).Text = "download" Then Me.SaveFileDialog1.Filter = "ZIP-Dateien|*.zip|Alle Dateien|*.*" Me.SaveFileDialog1.FilterIndex = 1 Me.SaveFileDialog1.FileName = lv.SubItems(2).Text + ".zip" If Me.SaveFileDialog1.ShowDialog = DialogResult.OK Then Dim db As New clsdb If db.Get_file("Select * from edoka_doc_retrival_job where jobnr=" + lv.Text, Me.SaveFileDialog1.FileName, "Datei") <> "" Then Process.Start(Me.SaveFileDialog1.FileName) db.Update_Jobstatus(lv.Text, 3) End If db = Nothing Me.Refreshlist() End If End If End Sub Dim ouser As New WindowsPrincipal(WindowsIdentity.GetCurrent) Private Function Get_Username() As String Dim s As String = Environment.UserName Return s.Substring(s.IndexOf("\") + 1) End Function Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click Me.Close() End Sub Dim Downloadable As Boolean Private Sub lstJob_Click(sender As Object, e As EventArgs) Handles lstJob.Click Downloadable = False Dim lv As ListViewItem lv = lstJob.SelectedItems(0) If lv.SubItems(5).Text = "download" Then Downloadable = True End Sub Private Sub DateiHerunterladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiHerunterladenToolStripMenuItem.Click Dim lv As ListViewItem lv = lstJob.SelectedItems(0) If lv.SubItems(5).Text = "download" Then Me.SaveFileDialog1.Filter = "ZIP-Dateien|*.zip|Alle Dateien|*.*" Me.SaveFileDialog1.FilterIndex = 1 Me.SaveFileDialog1.FileName = lv.SubItems(2).Text + ".zip" If Me.SaveFileDialog1.ShowDialog = DialogResult.OK Then Dim db As New clsdb If db.Get_file("Select * from edoka_doc_retrival_job where jobnr=" + lv.Text, Me.SaveFileDialog1.FileName, "Datei") <> "" Then Process.Start(Me.SaveFileDialog1.FileName) db.Update_Jobstatus(lv.Text, 3) End If db = Nothing Me.Refreshlist() End If End If End Sub Private Sub ContextMenuStrip1_Opening(sender As Object, e As CancelEventArgs) Handles ContextMenuStrip1.Opening If Downloadable Then Me.DateiHerunterladenToolStripMenuItem.Enabled = True Else Me.DateiHerunterladenToolStripMenuItem.Enabled = False End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.lbpartner.Items.Clear() Me.lbparam.Items.Clear() Me.lbljahr.Text = "" Me.HasError = False Dim cimport As New clsImport Me.dsdaten = cimport.dsdaten If cimport.Import_file = False Then MsgBox("Datenimport fehlgeschlagen") Exit Sub End If Validate_Parameter() End Sub Private Sub BenutzerverwaltungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BenutzerverwaltungToolStripMenuItem.Click Dim f As New frmBenutzer f.Show() End Sub End Class