Files
DPM2016/DPM2016 - Kopie/Sysadmin/frmStammdaten.vb

198 lines
7.5 KiB
VB.net

Imports System.ComponentModel
Imports FlexCel.Core
Imports FlexCel.XlsAdapter
Public Class frmStammdaten
Dim db As New clsDB
Dim spalten As New Tabellenspalte
Private Sub SchliessenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SchliessenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
Refresh_Details()
End Sub
Sub Refresh_Details()
Try
Select Case UCase(TreeView1.SelectedNode.Tag)
Case "DEMO"
If Globals.License.DemoMode = True Then
Me.ClsStammdaten_Bez1.Visible = False
Me.ClsStammdaten_flat1.Visible = False
MsgBox("Diese Funktion ist im DEMO-Modus nicht verfügbar.")
Exit Sub
End If
Case "DMS"
If Globals.License.DMS = False Then
MsgBox("Für diese Funktion haben Sie keine entsprechende Lizenz.")
Me.ClsStammdaten_Bez1.Visible = False
Me.ClsStammdaten_flat1.Visible = False
'MsgBox("Diese Funktion ist im DEMO-Modus nicht verfügbar.")
Exit Sub
End If
Case "DENTOTAR"
End Select
Me.ClsStammdaten_Bez1.Visible = True
Me.ClsStammdaten_flat1.Visible = True
Dim t As String = Me.TreeView1.SelectedNode.Tag
t = UCase(t)
If t <> "" And t <> "DEMO" And t <> "DMS" Then
Dim splitter()
splitter = Me.TreeView1.SelectedNode.Tag.ToString.Split(";")
If splitter.Length > 1 Then
Dim i As Integer = 0
For Each s As String In splitter
i = i + 1
If i = 1 Then ClsStammdaten_Bez1.KeyField_left = s
If i = 2 Then ClsStammdaten_Bez1.Keyfieldbez_left = s
If i = 3 Then ClsStammdaten_Bez1.KeyField_right = s
If i = 4 Then ClsStammdaten_Bez1.Keyfieldbez_right = s
If i = 5 Then ClsStammdaten_Bez1.Tablename_left = s
If i = 6 Then ClsStammdaten_Bez1.Tablename_right = s
If i = 7 Then ClsStammdaten_Bez1.Tablename_bottom = s
Try
Catch ex As Exception
End Try
Next
End If
Me.ClsStammdaten_flat1.Visible = False
Me.ClsStammdaten_Bez1.Visible = True
Me.ClsStammdaten_Bez1.Dock = DockStyle.Fill
Me.ClsStammdaten_Bez1.Width = Me.ClsStammdaten_Bez1.Width + 1
Exit Sub
End If
Me.ClsStammdaten_flat1.Check_Changes()
Me.ClsStammdaten_Bez1.Visible = False
Me.ClsStammdaten_flat1.Visible = True
Me.ClsStammdaten_flat1.Dock = DockStyle.Fill
If Me.TreeView1.SelectedNode.Nodes.Count = 0 Then Me.ClsStammdaten_flat1.Visible = True Else Me.ClsStammdaten_flat1.Visible = False
Me.ClsStammdaten_flat1.Tablename = Me.TreeView1.SelectedNode.Name
'If Globals.License.DemoMode Then
' If Me.TreeView1.SelectedNode.Tag = "Demo" Then
' MsgBox("Im Demo-Modus steht diese Funktion nicht zur Verfügung.")
' Exit Sub
' End If
'End If
Me.ClsStammdaten_flat1.get_data()
Try
Catch
End Try
Catch
End Try
End Sub
Private Sub frmStammdaten_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.TreeView1.ExpandAll()
Me.TreeView1.SelectedNode = Me.TreeView1.Nodes(0)
End Sub
Private Sub DentotarImportToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DentotarImportToolStripMenuItem.Click
If MsgBox("Sind Sie sicher, dass Dentotaf neu importier werden soll?", vbYesNo + vbQuestion) = vbYes Then
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
import_dentotar(OpenFileDialog1.FileName)
End If
End If
End Sub
Private Sub import_dentotar(ByVal Filename As String)
Try
Dim xls As New XlsFile(Filename)
Dim f As New frmprogress(1, xls.RowCount, "Dentotar einlesen")
f.Show()
Dim db As New clsDB
db.Get_Tabledata_for_Update("Dentotar", False, False)
db.daten.WriteXml(Globals.ActUser)
Dim dt As New DataTable
Dim dt_Original As New DataTable
dt = db.daten.Tables(0).Copy
dt_Original = db.daten.Tables(0).Copy
db.Exec_Prod("sp_update_dentotar")
dt.Rows.Clear()
dt.AcceptChanges()
Dim colindex1 As Integer
xls.ActiveSheet = 1
Dim i As Integer = 0
For row As Integer = 2 To xls.RowCount
Dim dr As DataRow = dt.NewRow
i = row
Application.DoEvents()
f.ProgressBar1.Value = row
For colIndex As Integer = 1 To 18
Try
dr.Item(colIndex - 1) = xls.GetCellValue(row, colIndex)
Catch
dr.Item(colIndex - 1) = System.DBNull.Value
End Try
Next
dt.Rows.Add(dr)
Next
f.Init_Progressbar(1, i, "Privat-Punkte nachführen")
For Each r As DataRow In dt.Rows
f.ProgressBar1.Value = f.ProgressBar1.Value + 1
Application.DoEvents()
If Not IsDBNull(r.Item("Leistungnrneu")) Then
Dim dv As New DataView(dt_Original, "leistungnrneu='" + r.Item("Leistungnrneu") + "'", "", DataViewRowState.CurrentRows)
Dim drv As DataRowView = dv.Item(0)
r.Item("PP_Privat") = drv.Item("PP_Privat")
End If
'For Each rr As DataRow In dt_Original.Rows
' Try
' If r.Item("LeistungNrneu") = rr.Item("Leistungnrneu") Then
' Try
' r.Item("PP_Privat") = rr.Item("PP_Privat")
' Catch
' End Try
' Exit For
' End If
' Catch
' End Try
'Next
Next
f.Close()
db.daten.Tables.Clear()
db.daten.Tables.Add(dt.Copy)
db.Update_Tabeldata()
Try
IntTables.Inttables.Tables.Remove("Dentotar")
Catch
End Try
MsgBox("Update Dentotar ist abgeschossen.", vbInformation)
Catch ex As Exception
MsgBox("Update Dentotar: Fehler: " + ex.Message)
End Try
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs)
Me.Close()
End Sub
Private Sub TreeView1_Click(sender As Object, e As EventArgs) Handles TreeView1.Click
'Refresh_Details()
End Sub
Private Sub ClsStammdaten_flat1_Load(sender As Object, e As EventArgs) Handles ClsStammdaten_flat1.Load
End Sub
Private Sub frmStammdaten_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
IntTables.Inttables.Tables.Clear()
End Sub
End Class