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
'''
''' Tree aufbauen
'''
'''
'''
'''
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
'''
''' Child-Nodes hinzufügen
'''
'''
'''
'''
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