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.

267 lines
9.6 KiB

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