Update 20190329
This commit is contained in:
267
DMSTest/DokumentDetail.vb
Normal file
267
DMSTest/DokumentDetail.vb
Normal file
@@ -0,0 +1,267 @@
|
||||
Imports DevComponents.AdvTree
|
||||
Imports Gnostice.Documents.Controls.WinForms
|
||||
Imports Gnostice.Documents
|
||||
|
||||
Public Class DokumentDetail
|
||||
Dim m_massenimport As Boolean
|
||||
Property Massenimport
|
||||
Get
|
||||
Return m_massenimport
|
||||
End Get
|
||||
Set(value)
|
||||
m_massenimport = value
|
||||
End Set
|
||||
End Property
|
||||
Dim m_keyvalue As Integer
|
||||
Property KeyValue As Integer
|
||||
Get
|
||||
Return m_keyvalue
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_keyvalue = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_strutkurid As Integer
|
||||
Property Strukturid As Integer
|
||||
Get
|
||||
Return m_strutkurid
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_strutkurid = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_editmode As Boolean
|
||||
Property Edit_Mode As Boolean
|
||||
Get
|
||||
Return m_editmode
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_editmode = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_dokid As Integer
|
||||
Property DokID As Integer
|
||||
Get
|
||||
Return m_dokid
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_dokid = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New()
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
|
||||
End Sub
|
||||
|
||||
Sub New(ByVal KeyValue As Integer, ByVal StrukturID As Integer, Optional DokID As Integer = 0, Optional edit As Boolean = False)
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
Me.KeyValue = KeyValue
|
||||
Me.Strukturid = StrukturID
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
Me.DokID = DokID
|
||||
Me.Edit_Mode = edit
|
||||
Get_tree()
|
||||
End Sub
|
||||
Private Sub DokumentDetail_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
If Not Me.Edit_Mode Then Me.AllowDrop = True
|
||||
|
||||
If Me.Edit_Mode = True Then
|
||||
Me.txtPath.Enabled = False
|
||||
Me.Button1.Enabled = False
|
||||
Dim db As New clsDB
|
||||
db.Get_Tabledata("dms_dokument", "where nreintrag=" + Me.DokID.ToString)
|
||||
Me.txtBezeichnung.Text = db.dsDaten.Tables(0).Rows(0).Item(2)
|
||||
Me.txtBeschreibung.Text = db.dsDaten.Tables(0).Rows(0).Item(3)
|
||||
Me.txtPath.Text = db.dsDaten.Tables(0).Rows(0).Item(4)
|
||||
Me.dtTermin.Value = db.dsDaten.Tables(0).Rows(0).Item(10)
|
||||
Me.CheckBox1.Checked = db.dsDaten.Tables(0).Rows(0).Item(11) = True
|
||||
Me.txtTermin.Text = db.dsDaten.Tables(0).Rows(0).Item(12)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
||||
If Not Me.Edit_Mode And Not System.IO.File.Exists(Me.txtPath.Text) Then
|
||||
MsgBox("Die ausgewählte Datei ist nicht vorhandne." + vbExclamation)
|
||||
Exit Sub
|
||||
End If
|
||||
Dim dir As String
|
||||
|
||||
Dim db As New clsDB
|
||||
Dim db1 As New clsDB
|
||||
db1.Get_Tabledata("DMS_Settings", "", "Select * from dms_settings where nreintrag=1")
|
||||
Dim db2 As New clsDB
|
||||
db2.Get_Tabledata("DMS_Settings", "", "Select * from dms_settings where nreintrag=2")
|
||||
dir = db2.dsDaten.Tables(0).Rows(0).Item(2)
|
||||
|
||||
If db1.dsDaten.Tables(0).Rows(0).Item(2) = "False" Then
|
||||
If System.IO.File.Exists(dir + System.IO.Path.GetFileName(Me.txtPath.Text)) Then
|
||||
If MsgBox("Die Datei " + System.IO.Path.GetFileName(Me.txtPath.Text) + " ist im Ablage-Verzeichnis bereits vorhanden." + vbCrLf + "Soll sie überschrieben werden?", vbYesNo + vbQuestion) = MsgBoxResult.No Then
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.Edit_Mode Then
|
||||
db.Get_Tabledata("Dokumente", "", "Select * from dms_dokument where nreintrag=" + Me.DokID.ToString)
|
||||
Else
|
||||
db.Get_Tabledata("Dokumente", "", "Select * from dms_dokument where nreintrag=-1")
|
||||
End If
|
||||
Dim dr As DataRow
|
||||
If Edit_Mode = False Then
|
||||
dr = db.dsDaten.Tables(0).NewRow
|
||||
Else
|
||||
dr = db.dsDaten.Tables(0).Rows(0)
|
||||
|
||||
End If
|
||||
|
||||
dr.Item(1) = Me.treestruktur.SelectedNode.Tag
|
||||
dr.Item(2) = Me.txtBezeichnung.Text
|
||||
dr.Item(3) = Me.txtBeschreibung.Text
|
||||
dr.Item(4) = Me.txtPath.Text
|
||||
If Not Me.Edit_Mode Then dr.Item(5) = Now
|
||||
dr.Item(6) = Now
|
||||
dr.Item(7) = Globals.ActUser
|
||||
dr.Item(8) = True
|
||||
If Not Edit_Mode Then
|
||||
dr.Item(9) = db1.dsDaten.Tables(0).Rows(0).Item(2)
|
||||
If db1.dsDaten.Tables(0).Rows(0).Item(2) = "False" Then
|
||||
dr.Item(4) = dir + System.IO.Path.GetFileName(Me.txtPath.Text)
|
||||
End If
|
||||
End If
|
||||
dr.Item(10) = dtTermin.Value
|
||||
dr.Item(11) = CheckBox1.Checked = True
|
||||
dr.Item(12) = txtTermin.Text
|
||||
dr.Item(13) = Me.KeyValue
|
||||
If Not Edit_Mode Then db.dsDaten.Tables(0).Rows.Add(dr)
|
||||
db.Update_Data()
|
||||
If Not Me.Edit_Mode Then
|
||||
If db1.dsDaten.Tables(0).Rows(0).Item(2) = "True" Then
|
||||
db.Get_Tabledata("Dokument", "", "Select top 1 * from dms_dokument order by nreintrag desc")
|
||||
Dim dok As New clsDok
|
||||
dok.Save_Document(db.dsDaten.Tables(0).Rows(0).Item(0), Me.txtPath.Text)
|
||||
Else
|
||||
|
||||
If Not System.IO.Directory.Exists(dir) Then
|
||||
System.IO.Directory.CreateDirectory(dir)
|
||||
End If
|
||||
System.IO.File.Copy(Me.txtPath.Text, dir + System.IO.Path.GetFileName(Me.txtPath.Text))
|
||||
End If
|
||||
End If
|
||||
ToolStripStatusLabel1.Text = "Dokument wurde gespeicher."
|
||||
If Me.Massenimport Then Me.Close()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
If Me.OpenFileDialog1.ShowDialog = DialogResult.OK Then Me.txtPath.Text = Me.OpenFileDialog1.FileName
|
||||
End Sub
|
||||
|
||||
Private Sub btnAbbruch_Click(sender As Object, e As EventArgs) Handles btnAbbruch.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
|
||||
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
|
||||
For Each path In files
|
||||
Me.txtPath.Text = path
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter
|
||||
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
|
||||
e.Effect = DragDropEffects.Copy
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub txtPath_TextChanged(sender As Object, e As EventArgs) Handles txtPath.TextChanged
|
||||
ToolStripStatusLabel1.Text = ""
|
||||
End Sub
|
||||
|
||||
Sub Get_tree()
|
||||
Dim db As New clsDB
|
||||
db.Get_Tabledata("DMS_Struktur", "", "Select * from dms_struktur where aktiv=1")
|
||||
Load_Treeview(db.dsDaten, Me.treestruktur)
|
||||
End Sub
|
||||
|
||||
Private Sub Load_Treeview(ByVal oSourceData As DataSet, ByRef tree As AdvTree)
|
||||
If Not (oSourceData Is Nothing) Then
|
||||
Dim oView As DataView = oSourceData.Tables(0).DefaultView
|
||||
Dim oTable As DataTable = oView.Table
|
||||
Dim oDS As DataSet = New DataSet()
|
||||
oDS.Tables.Add(oTable.Copy())
|
||||
|
||||
If oDS.Relations.Contains("SelfRefenceRelation") = False Then
|
||||
oDS.Relations.Add("SelfRefenceRelation",
|
||||
oDS.Tables(0).Columns("eintragnr"),
|
||||
oDS.Tables(0).Columns("parentid"))
|
||||
End If
|
||||
oTable.Dispose()
|
||||
oTable = Nothing
|
||||
LoadTreeView(oDS, tree)
|
||||
oDS.Dispose()
|
||||
oDS = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Tree aufbauen
|
||||
''' </summary>
|
||||
''' <param name="oDS"></param>
|
||||
''' <param name="oTreeview"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub LoadTreeView(ByVal oDS As DataSet, ByRef oTreeview As AdvTree)
|
||||
'Dim oTreeView As TreeView = New TreeView()
|
||||
Dim oDataRow As DataRow
|
||||
For Each oDataRow In oDS.Tables(0).Rows
|
||||
If Not oDataRow.IsNull("Parentid") Then
|
||||
If oDataRow.Item("Parentid") = 0 Then
|
||||
Dim oNode As New DevComponents.AdvTree.Node
|
||||
oNode.Text = oDataRow("Bezeichnung").ToString()
|
||||
oNode.Tag = oDataRow("eintragnr").ToString
|
||||
oNode.ImageIndex = 0
|
||||
oNode.ImageIndex = 0
|
||||
oTreeview.Nodes.Add(oNode)
|
||||
RecursivelyLoadTree(oDataRow, oNode)
|
||||
End If
|
||||
End If
|
||||
Next oDataRow
|
||||
oDS.Dispose()
|
||||
oDS = Nothing
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Child-Nodes hinzufügen
|
||||
''' </summary>
|
||||
''' <param name="oDataRow"></param>
|
||||
''' <param name="oNode"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub RecursivelyLoadTree(ByVal oDataRow As DataRow, ByRef oNode As DevComponents.AdvTree.Node)
|
||||
Dim oChildRow As DataRow
|
||||
For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation")
|
||||
Dim oChildNode As New DevComponents.AdvTree.Node()
|
||||
oChildNode.Text = oChildRow("Bezeichnung").ToString()
|
||||
oChildNode.Tag = oChildRow("eintragnr").ToString()
|
||||
If oChildRow("eintragnr") = 0 Then
|
||||
oChildNode.ImageIndex = 0
|
||||
oChildNode.ImageIndex = 0
|
||||
Else
|
||||
oChildNode.ImageIndex = 1
|
||||
oChildNode.ImageIndex = 1
|
||||
End If
|
||||
oNode.Nodes.Add(oChildNode)
|
||||
RecursivelyLoadTree(oChildRow, oChildNode)
|
||||
Next oChildRow
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user