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
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 |