You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
10 KiB

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