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.
727 lines
28 KiB
727 lines
28 KiB
Imports System.ComponentModel
|
|
Imports System.Net.Mail
|
|
Imports C1.Win.C1TrueDBGrid
|
|
Imports DevComponents.AdvTree
|
|
Imports System.IO
|
|
Imports System.Threading
|
|
'Imports Gnostice.Documents.Controls.WinForms
|
|
'Imports Gnostice.Documents
|
|
Public Class clsDokumente
|
|
Dim licenseKey As String = "6F09-41FA-5E5E-101F-E577-BDD0-1BB8-3EFB-3081-2E1F-5264-3475"
|
|
|
|
Dim DMS_Thumbnail As Boolean = False
|
|
Dim dbDokumente As New clsDB
|
|
Dim Dokumente As New clsDok
|
|
Dim m_patientnr As Integer
|
|
Property Patientnr As Integer
|
|
Get
|
|
Return m_patientnr
|
|
End Get
|
|
Set(value As Integer)
|
|
Dim sn As Integer
|
|
Try
|
|
sn = Me.treestruktur.SelectedIndex
|
|
Catch ex As Exception
|
|
sn = 0
|
|
End Try
|
|
m_patientnr = value
|
|
refreshdata()
|
|
Try
|
|
Try
|
|
Me.treestruktur.SelectedNode = Me.treestruktur.Nodes(sn)
|
|
Update_Grid()
|
|
Catch ex As Exception
|
|
Me.treestruktur.SelectedNode = Me.treestruktur.Nodes(0)
|
|
Update_Grid()
|
|
End Try
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Set
|
|
End Property
|
|
Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
|
|
|
|
End Sub
|
|
|
|
Sub New()
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
Me.grpdokumentvorschau.Dock = DockStyle.Fill
|
|
Me.grpdokumentvorschaupdf.Dock = DockStyle.Fill
|
|
Me.GrpDokumentvorschauMail.Dock = DockStyle.Fill
|
|
|
|
' Me.BetterThumbnailBrowser1.Items.Add("Hallo")
|
|
' Me.BetterThumbnailBrowser1.View = ComponentOwl.BetterThumbnailBrowser.BetterListViewView.List
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("dms", "", "Select * from dms_Settings where nreintrag=11")
|
|
If db.dsDaten.Tables(0).Rows.Count = 0 Then
|
|
Me.DMS_Thumbnail = False
|
|
Else
|
|
If db.dsDaten.Tables(0).Rows(0).Item("Wert") = "True" Then DMS_Thumbnail = True
|
|
|
|
End If
|
|
db.Dispose()
|
|
End Sub
|
|
|
|
Public Sub refreshdata()
|
|
Gnostice.Documents.Framework.ActivateLicense(licenseKey)
|
|
Me.C1Dokumente.AllowDrop = True
|
|
If Me.treestruktur.Nodes.Count = 0 Then
|
|
Get_tree()
|
|
Me.treestruktur.SelectedNode = Me.treestruktur.Nodes(0)
|
|
End If
|
|
|
|
End Sub
|
|
Sub Refresh_Grid()
|
|
Update_Grid()
|
|
|
|
End Sub
|
|
Sub Get_tree()
|
|
Dokumente.LoadTree(Me.treestruktur)
|
|
End Sub
|
|
|
|
Private Sub tsbtnnew_Click(sender As Object, e As EventArgs) Handles tsbtnnew.Click
|
|
Dim f As New DokumentDetail(Me.Patientnr, Me.treestruktur.SelectedNode.Tag)
|
|
f.ShowDialog()
|
|
Me.treestruktur_SelectionChanged(sender, e)
|
|
End Sub
|
|
|
|
|
|
Private Sub treestruktur_SelectionChanged(sender As Object, e As EventArgs) Handles treestruktur.SelectionChanged
|
|
Update_Grid()
|
|
End Sub
|
|
|
|
Dim onUpdate As Boolean = False
|
|
Sub Update_Grid()
|
|
onUpdate = True
|
|
Try
|
|
Dokumente.Update_Grid(Me.treestruktur.SelectedNode.Tag.ToString, Me.Patientnr.ToString, Me.C1Dokumente)
|
|
If Me.C1Dokumente.Splits(0).Rows.Count = 0 Then
|
|
Me.DocumentViewer1.Visible = False
|
|
|
|
Else
|
|
If DMS_Thumbnail = True Then
|
|
Me.ThumbViewer1.Visible = True
|
|
Me.ThumbViewer1.Data = Me.C1Dokumente.DataSource
|
|
Else
|
|
Me.DocumentViewer1.Visible = True
|
|
End If
|
|
|
|
End If
|
|
Catch
|
|
Finally
|
|
onUpdate = False
|
|
Update_View()
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub C1Dokumente_DoubleClick(sender As Object, e As EventArgs) Handles C1Dokumente.DoubleClick
|
|
Try
|
|
If C1Dokumente.Columns("indb").Value = "True" Then
|
|
Dim d As New clsDok
|
|
Dim s As String = d.Get_Dokument(Me.C1Dokumente.Columns("nreintrag").Value)
|
|
Process.Start(s)
|
|
IsFileInUse(s)
|
|
Else
|
|
Process.Start(Me.C1Dokumente.Columns("pfad").Value)
|
|
End If
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Public Function IsFileInUse(sFile As String) As Boolean
|
|
Try
|
|
Using f As New IO.FileStream(sFile, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
|
|
End Using
|
|
Catch Ex As Exception
|
|
Return True
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Private Sub NeuesDokumentHinzufügenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesDokumentHinzufügenToolStripMenuItem.Click
|
|
Dim f As New DokumentDetail(Me.Patientnr, Me.treestruktur.SelectedNode.Tag)
|
|
f.treestruktur.ImageList = Me.treestruktur.ImageList
|
|
f.treestruktur.SelectedNode = Me.treestruktur.SelectedNode
|
|
f.ShowDialog()
|
|
Me.treestruktur_SelectionChanged(sender, e)
|
|
End Sub
|
|
|
|
Private Sub DokumentLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentLöschenToolStripMenuItem.Click
|
|
Try
|
|
Dim i As Integer = C1Dokumente.Columns("nreintrag").Value
|
|
If MsgBox("Gewähltes Dokument löschen?", vbYesNo + vbQuestion) = vbYes Then
|
|
Dokumente.Delete_Dok(C1Dokumente.Columns("nreintrag").Value.ToString)
|
|
|
|
treestruktur_SelectionChanged(sender, e)
|
|
End If
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub DokumentAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentAnzeigenToolStripMenuItem.Click
|
|
Me.C1Dokumente_DoubleClick(sender, e)
|
|
End Sub
|
|
|
|
Private Sub DokumentinformationenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentinformationenBearbeitenToolStripMenuItem.Click
|
|
Try
|
|
Dim f As New DokumentDetail(Me.Patientnr, Me.treestruktur.SelectedNode.Tag, Me.C1Dokumente.Columns("nreintrag").Value, True)
|
|
f.treestruktur.ImageList = Me.treestruktur.ImageList
|
|
f.treestruktur.SelectedNode = Me.treestruktur.SelectedNode
|
|
f.ShowDialog()
|
|
Me.treestruktur_SelectionChanged(sender, e)
|
|
Catch
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop, C1Dokumente.DragDrop
|
|
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
|
|
For Each path In files
|
|
Dim f As New DokumentDetail(Me.Patientnr, Me.treestruktur.SelectedNode.Tag)
|
|
f.txtPath.Text = path
|
|
f.txtBezeichnung.Text = System.IO.Path.GetFileName(path)
|
|
f.dtTermin.Value = Now
|
|
f.ShowDialog()
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter, C1Dokumente.DragEnter
|
|
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
|
|
e.Effect = DragDropEffects.Copy
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub C1Dokumente_DataSourceChanged(sender As Object, e As EventArgs) Handles C1Dokumente.DataSourceChanged
|
|
|
|
End Sub
|
|
|
|
Private Sub C1Dokumente_KeyDown(sender As Object, e As KeyEventArgs) Handles C1Dokumente.KeyDown
|
|
If e.Modifiers = Keys.Control AndAlso e.KeyCode = Keys.V Then
|
|
Dim iData As IDataObject = Clipboard.GetDataObject()
|
|
If iData.GetDataPresent(DataFormats.FileDrop) Then
|
|
Dim clipbrd As String() = DirectCast(iData.GetData(DataFormats.FileDrop),
|
|
String())
|
|
For Each path In clipbrd
|
|
Dim f As New DokumentDetail(Me.Patientnr, Me.treestruktur.SelectedNode.Tag)
|
|
f.txtPath.Text = path
|
|
f.txtBezeichnung.Text = System.IO.Path.GetFileName(path)
|
|
f.dtTermin.Value = Now
|
|
f.treestruktur.ImageList = Me.treestruktur.ImageList
|
|
f.treestruktur.SelectedNode = Me.treestruktur.SelectedNode
|
|
f.Massenimport = True
|
|
f.ShowDialog()
|
|
Next
|
|
End If
|
|
Me.treestruktur_SelectionChanged(sender, e)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub C1Dokumente_RowColChange(sender As Object, e As RowColChangeEventArgs) Handles C1Dokumente.RowColChange
|
|
If onUpdate Then Exit Sub
|
|
Try
|
|
update_view
|
|
Catch
|
|
Show_Doc("")
|
|
End Try
|
|
End Sub
|
|
|
|
Sub Update_View()
|
|
|
|
Dim Previewfilename As String = ""
|
|
If Globals.PreViewDir = "" Then
|
|
Try
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("dms", "", "Select * from dms_Settings where nreintrag=6")
|
|
Globals.PreViewDir = db.dsDaten.Tables(0).Rows(0).Item(2)
|
|
If Not System.IO.Directory.Exists(Globals.PreViewDir) Then
|
|
System.IO.Directory.CreateDirectory(Globals.PreViewDir)
|
|
End If
|
|
Catch
|
|
End Try
|
|
|
|
End If
|
|
If C1Dokumente.Columns("InDB").Value = "False" Then
|
|
Try
|
|
Previewfilename = Globals.PreViewDir + "\" + System.IO.Path.GetFileName(C1Dokumente.Columns("Pfad").Value)
|
|
If System.IO.File.Exists(Previewfilename) Then
|
|
System.IO.File.Delete(Previewfilename)
|
|
End If
|
|
FileCopy(C1Dokumente.Columns("Pfad").Value, Previewfilename)
|
|
Catch
|
|
MsgBox("Das Dokument kann aktuell in der Vorschau nicht angezeigt werden, da es blockiert ist.", vbInformation)
|
|
Previewfilename = ""
|
|
End Try
|
|
Else
|
|
Try
|
|
If DMS_Thumbnail = True Then
|
|
Me.ThumbViewer1.Visible = True
|
|
Me.ThumbViewer1.Dock = DockStyle.Fill
|
|
Application.DoEvents()
|
|
Me.ThumbViewer1.SearchItem(C1Dokumente.Columns("nreintrag").Value)
|
|
Application.DoEvents()
|
|
'Me.ThumbViewer1.Select()
|
|
Else
|
|
Dim d As New clsDok
|
|
Previewfilename = d.Get_Dokument(Me.C1Dokumente.Columns("nreintrag").Value, Globals.PreViewDir, True, True)
|
|
Show_Doc(Previewfilename)
|
|
End If
|
|
Catch
|
|
Me.ThumbViewer1.Visible = False
|
|
Me.grpdokumentvorschau.Visible = False
|
|
Me.GrpDokumentvorschauMail.Visible = False
|
|
Me.grpdokumentvorschaupdf.Visible = False
|
|
Previewfilename = ""
|
|
Show_Doc(Previewfilename)
|
|
End Try
|
|
End If
|
|
'Show_Doc(Previewfilename)
|
|
|
|
End Sub
|
|
Private Sub Show_Doc(ByVal PreviewFilename As String)
|
|
|
|
If Not PreviewOK(PreviewFilename) Or PreviewFilename = "" Then
|
|
Me.grpdokumentvorschau.Visible = False
|
|
Me.grpdokumentvorschaupdf.Visible = False
|
|
Exit Sub
|
|
End If
|
|
Me.grpdokumentvorschau.SuspendLayout()
|
|
Me.grpdokumentvorschaupdf.SuspendLayout()
|
|
Me.GrpDokumentvorschauMail.SuspendLayout()
|
|
|
|
|
|
Select Case UCase(System.IO.Path.GetExtension(PreviewFilename))
|
|
Case ".PDF"
|
|
Me.grpdokumentvorschau.Visible = False
|
|
Me.grpdokumentvorschaupdf.Visible = True
|
|
Me.GrpDokumentvorschauMail.Visible = False
|
|
'Me.pdfViewerControl1.RenderingEngine = Syncfusion.Windows.Forms.PdfViewer.PdfRenderingEngine.Pdfium
|
|
'Me.pdfViewerControl1.ReferencePath = Application.StartupPath + ""
|
|
Try
|
|
Me.WebBrowser2.Navigate(PreviewFilename)
|
|
Catch
|
|
End Try
|
|
|
|
'Dim p As New Process
|
|
'p = Process.Start(PreviewFilename)
|
|
'Me.pdfViewerControl1.Load(PreviewFilename)
|
|
Case ".MSG"
|
|
Me.grpdokumentvorschaupdf.Visible = False
|
|
Me.grpdokumentvorschau.Visible = False
|
|
Me.GrpDokumentvorschauMail.Visible = True
|
|
|
|
Dim msgreader As New MsgReader.Reader
|
|
Dim files = msgreader.ExtractToFolder(PreviewFilename, Globals.PreViewDir)
|
|
Dim err = msgreader.GetErrorMessage
|
|
webBrowser1.Navigate(files(0))
|
|
|
|
|
|
|
|
Case Else
|
|
Me.grpdokumentvorschaupdf.Visible = False
|
|
Me.grpdokumentvorschau.Visible = True
|
|
Me.GrpDokumentvorschauMail.Visible = False
|
|
Try
|
|
'Threading.Thread.CurrentThread.Sleep(1000)
|
|
Try
|
|
DocumentViewer1.CloseDocument()
|
|
Catch
|
|
End Try
|
|
|
|
Me.DocumentViewer1.LoadDocument(PreviewFilename)
|
|
Catch es As Gnostice.Core.XDocException
|
|
End Try
|
|
End Select
|
|
|
|
Me.grpdokumentvorschau.ResumeLayout()
|
|
Me.grpdokumentvorschaupdf.ResumeLayout()
|
|
Me.GrpDokumentvorschauMail.ResumeLayout()
|
|
|
|
End Sub
|
|
|
|
Private Function PreviewOK(ByVal Filename As String) As Boolean
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("DMS", "", "Select * from dms_settings where nreintrag=7")
|
|
Dim exludefiletypes As String = db.dsDaten.Tables(0).Rows(0).Item(2)
|
|
Dim ext As String = System.IO.Path.GetExtension(Filename)
|
|
ext = ext.Replace(".", "")
|
|
exludefiletypes = UCase(exludefiletypes)
|
|
ext = UCase(ext)
|
|
If exludefiletypes.IndexOf(ext) > -1 Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
|
|
End Function
|
|
Private Sub tsActSize_Click(sender As Object, e As EventArgs) Handles tsActSize.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.Zoom.ZoomMode = Gnostice.Documents.Controls.WinForms.ZoomMode.ActualSize
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tsFitPage_Click(sender As Object, e As EventArgs) Handles tsFitPage.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.Zoom.ZoomMode = Gnostice.Documents.Controls.WinForms.ZoomMode.FitPage
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tsFitWidth_Click(sender As Object, e As EventArgs) Handles tsFitWidth.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.Zoom.ZoomMode = Gnostice.Documents.Controls.WinForms.ZoomMode.FitWidth
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tsZoomOut_Click(sender As Object, e As EventArgs) Handles tsZoomOut.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.ZoomOut()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tsZoomIn_Click(sender As Object, e As EventArgs) Handles tsZoomIn.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.ZoomIn()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnFirstPage_Click(sender As Object, e As EventArgs) Handles btnFirstPage.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.FirstPage()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnPrvPage_Click(sender As Object, e As EventArgs) Handles btnPrvPage.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.PreviousPage()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnNxtPage_Click(sender As Object, e As EventArgs) Handles btnNxtPage.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.NextPage()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnLastPage_Click(sender As Object, e As EventArgs) Handles btnLastPage.Click
|
|
If DocumentViewer1.IsDocumentLoaded Then
|
|
DocumentViewer1.LastPage()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
|
DocumentViewer1.RotatePagesAntiClockwise90()
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click
|
|
DocumentViewer1.RotatePagesClockwise90()
|
|
End Sub
|
|
|
|
Private Sub txtGoToPage_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles txtGoToPage.KeyDown
|
|
Select Case e.KeyCode
|
|
|
|
Case Keys.NumPad0, Keys.NumPad1, Keys.NumPad2, Keys.NumPad3, Keys.NumPad4, Keys.NumPad5,
|
|
Keys.NumPad6, Keys.NumPad7, Keys.NumPad8, Keys.NumPad9, Keys.Delete, Keys.[End],
|
|
Keys.Home, Keys.Down, Keys.Up, Keys.Left, Keys.Right, Keys.Back
|
|
e.SuppressKeyPress = False
|
|
Exit Select
|
|
|
|
Case Keys.D0, Keys.D1, Keys.D2, Keys.D3, Keys.D4, Keys.D5,
|
|
Keys.D6, Keys.D7, Keys.D8, Keys.D9
|
|
If e.Shift Then
|
|
e.SuppressKeyPress = True
|
|
Else
|
|
e.SuppressKeyPress = False
|
|
End If
|
|
Exit Select
|
|
|
|
Case Keys.Enter
|
|
e.SuppressKeyPress = False
|
|
If txtGoToPage.Text.Trim() <> "" Then
|
|
DocumentViewer1.GoToPage(Convert.ToInt32(txtGoToPage.Text))
|
|
End If
|
|
Exit Select
|
|
Case Else
|
|
|
|
e.SuppressKeyPress = True
|
|
Exit Select
|
|
End Select
|
|
|
|
End Sub
|
|
Private Sub txtZoom_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles txtZoom.KeyDown
|
|
Select Case e.KeyCode
|
|
|
|
Case Keys.NumPad0, Keys.NumPad1, Keys.NumPad2, Keys.NumPad3, Keys.NumPad4, Keys.NumPad5,
|
|
Keys.NumPad6, Keys.NumPad7, Keys.NumPad8, Keys.NumPad9, Keys.Delete, Keys.[End],
|
|
Keys.Home, Keys.Down, Keys.Up, Keys.Left, Keys.Right, Keys.Back
|
|
e.SuppressKeyPress = False
|
|
Exit Select
|
|
|
|
Case Keys.D0, Keys.D1, Keys.D2, Keys.D3, Keys.D4, Keys.D5,
|
|
Keys.D6, Keys.D7, Keys.D8, Keys.D9
|
|
If e.Shift Then
|
|
e.SuppressKeyPress = True
|
|
Else
|
|
e.SuppressKeyPress = False
|
|
End If
|
|
Exit Select
|
|
|
|
Case Keys.Enter
|
|
e.SuppressKeyPress = False
|
|
DocumentViewer1.Zoom.ZoomPercent = Double.Parse(txtZoom.Text)
|
|
Exit Select
|
|
Case Else
|
|
|
|
e.SuppressKeyPress = True
|
|
Exit Select
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub DokumentEinemAnderenPartnerZuordnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentEinemAnderenPartnerZuordnenToolStripMenuItem.Click
|
|
Dim f As New frmSuche
|
|
f.Dokumentsuche = True
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("Dokument", "", "Select * from dms_dokument where nreintrag=" + Me.C1Dokumente.Columns("nreintrag").Value.ToString)
|
|
db.dsDaten.Tables(0).Rows(0).Item("keyvalue") = f.Key
|
|
db.dsDaten.Tables(0).Rows(0).Item("mutiert_am") = Now
|
|
db.dsDaten.Tables(0).Rows(0).Item("mutierer") = Globals.ActUser
|
|
db.Update_Data()
|
|
Me.treestruktur_SelectionChanged(sender, e)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DokumentExportierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentExportierenToolStripMenuItem.Click
|
|
Try
|
|
If C1Dokumente.Columns("indb").Value = "True" Then
|
|
Me.SaveFileDialog1.FileName = C1Dokumente.Columns("pfad").Value
|
|
If Me.SaveFileDialog1.ShowDialog = DialogResult.OK Then
|
|
Dim fn As String
|
|
Dim dok As New clsDok
|
|
fn = dok.Get_Dokument(Me.C1Dokumente.Columns("nreintrag").Value)
|
|
System.IO.File.Copy(fn, SaveFileDialog1.FileName)
|
|
End If
|
|
|
|
|
|
Else
|
|
If Me.SaveFileDialog1.ShowDialog = DialogResult.OK Then
|
|
Dim fn As String
|
|
Dim dok As New clsDok
|
|
fn = Me.C1Dokumente.Columns("Pfad").Value
|
|
System.IO.File.Copy(fn, SaveFileDialog1.FileName)
|
|
End If
|
|
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Private Sub ContextMenuStrip1_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("EditableDocTypes", "", "select wert from dms_settings where nreintrag=3")
|
|
Dim s As String = C1Dokumente.Columns("pfad").Value
|
|
s = System.IO.Path.GetExtension(s)
|
|
s = s.Replace(".", "")
|
|
s = UCase(s)
|
|
Dim dbw As String = UCase(db.dsDaten.Tables(0).Rows(0).Item(0).ToString)
|
|
If dbw.IndexOf(s) > -1 Then
|
|
Me.DokumentBearbeitenToolStripMenuItem.Visible = True
|
|
Else
|
|
Me.DokumentBearbeitenToolStripMenuItem.Visible = False
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub DokumentBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentBearbeitenToolStripMenuItem.Click
|
|
Try
|
|
Dim fn As String
|
|
Dim fi As FileInfo
|
|
Dim dok As New clsDok
|
|
If C1Dokumente.Columns("indb").Value = "True" Then
|
|
fn = dok.Get_Dokument(Me.C1Dokumente.Columns("nreintrag").Value)
|
|
fi = New System.IO.FileInfo(fn)
|
|
Else
|
|
fn = Me.C1Dokumente.Columns("Pfad").Value
|
|
fi = New System.IO.FileInfo(fn)
|
|
End If
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("DMS", "", "Select * from dms_settings where nreintrag=5")
|
|
If db.dsDaten.Tables(0).Rows(0).Item(2) = "True" Then
|
|
db.Get_Tabledata("DMS", "", "Select * from dms_settings where nreintrag=4")
|
|
Dim dir As String = db.dsDaten.Tables(0).Rows(0).Item(2)
|
|
If System.IO.Directory.Exists(dir) = False Then
|
|
System.IO.Directory.CreateDirectory(dir)
|
|
End If
|
|
Dim filenew As String
|
|
filenew = Format(Now, "yyyyMMddHHmmss") + "_" + Me.Patientnr.ToString + "_" + System.IO.Path.GetFileName(fn)
|
|
filenew = dir + "\" + filenew
|
|
System.IO.File.Copy(fn, filenew)
|
|
End If
|
|
|
|
Process.Start(fn)
|
|
Dim ts1 As DateTime = Now.AddSeconds(10)
|
|
Dim filelocked As Boolean = False
|
|
While Now < ts1
|
|
If IsFileInUse(fn) Then
|
|
filelocked = True
|
|
Exit While
|
|
End If
|
|
End While
|
|
If filelocked Then
|
|
Globals.Filemanagement.AddFile(Me.C1Dokumente.Columns("nreintrag").Value, fi.FullName, fi.LastAccessTime, Me.C1Dokumente.Columns("indb").Value)
|
|
Else
|
|
MsgBox("Die Dateiüberwachung für das automatische Speichern konnte nicht initialisiert werden", vbExclamation)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub tsbtnvorlagen_Click(sender As Object, e As EventArgs) Handles tsbtnvorlagen.Click
|
|
Dim f As New frmdokumentvorlagen
|
|
f.treestruktur.ImageList = Me.treestruktur.ImageList
|
|
f.treestruktur.SelectedNode = Me.treestruktur.SelectedNode
|
|
f.ShowDialog()
|
|
End Sub
|
|
|
|
Private Sub NeuesDokumentAusVorlageErstellenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesDokumentAusVorlageErstellenToolStripMenuItem.Click
|
|
Dim f As New frmdokumentvorlagen
|
|
f.Vorlagenselect = True
|
|
f.treestruktur.ImageList = Me.treestruktur.ImageList
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Dim Vorlagenkey As String = f.treestruktur.SelectedNode.Tag.ToString
|
|
Vorlagenkey = Vorlagenkey.Replace("V:", "")
|
|
Dim dok As New clsDok
|
|
Dim db As New clsDB
|
|
Dim dbv As New clsDB
|
|
Dim filename As String
|
|
db.Get_Tabledata("DMS", "", "Select * from dms_settings where nreintrag=1")
|
|
dbv.Get_Tabledata("DMS", "", "Select * from dms_vorlage where nreintrag=" + Vorlagenkey.ToString)
|
|
If db.dsDaten.Tables(0).Rows(0).Item(2) = "True" Then
|
|
filename = My.Settings.TempPath
|
|
If Microsoft.VisualBasic.Right(filename, 1) <> "\" Then filename = filename + "\"
|
|
filename = filename + Format(Now, "yyyyMMddHHmmss") + "_" + Me.Patientnr.ToString + "_" + System.IO.Path.GetFileName(dbv.dsDaten.Tables(0).Rows(0).Item(3).ToString)
|
|
dok.Get_Vorlage(Vorlagenkey, filename)
|
|
Else
|
|
db.Get_Tabledata("DMS", "", "Select * from dms_settings where nreintrag=2")
|
|
filename = db.dsDaten.Tables(0).Rows(0).Item(2)
|
|
filename = filename + Format(Now, "yyyyMMddHHmmss") + "_" + Me.Patientnr.ToString + "_" + System.IO.Path.GetFileName(dbv.dsDaten.Tables(0).Rows(0).Item(3).ToString)
|
|
dok.Get_Vorlage(Vorlagenkey, filename)
|
|
End If
|
|
Dim dbd As New clsDB
|
|
dbd.Get_Tabledata("DMS", "", "Select * from dms_dokument where nreintrag=-1")
|
|
Dim dr As DataRow = dbd.dsDaten.Tables(0).NewRow
|
|
dr.Item(1) = f.treestruktur.SelectedNode.Parent.Tag
|
|
dr.Item(2) = f.treestruktur.SelectedNode.Text
|
|
dr.Item(3) = ""
|
|
dr.Item(4) = filename
|
|
dr.Item(5) = Now
|
|
dr.Item(6) = Now
|
|
dr.Item(7) = Globals.ActUser
|
|
dr.Item(8) = True
|
|
dr.Item(9) = db.dsDaten.Tables(0).Rows(0).Item(2).ToString = "True"
|
|
dr.Item(10) = Now
|
|
dr.Item(11) = False
|
|
dr.Item(12) = ""
|
|
dr.Item(13) = Me.Patientnr
|
|
dbd.dsDaten.Tables(0).Rows.Add(dr)
|
|
dbd.Update_Data()
|
|
dbd.Get_Tabledata("DMS", "", "Select top 1 * from dms_dokument order by nreintrag desc")
|
|
If db.dsDaten.Tables(0).Rows(0).Item(2) = "True" Then
|
|
dok.Save_Document(dbd.dsDaten.Tables(0).Rows(0).Item(0), filename)
|
|
End If
|
|
Me.treestruktur.SelectedNode = SearchTheTreeView(Me.treestruktur, f.treestruktur.SelectedNode.Parent.Text)
|
|
Update_Grid()
|
|
|
|
|
|
For i As Integer = 0 To C1Dokumente.Splits(0).Rows.Count - 1
|
|
If C1Dokumente.Columns(0).CellText(i) = dbd.dsDaten.Tables(0).Rows(0).Item(0) Then
|
|
Me.C1Dokumente.Bookmark = i
|
|
Me.Cursor = Cursors.WaitCursor
|
|
Thread.Sleep(2000)
|
|
DokumentBearbeitenToolStripMenuItem_Click(sender, e)
|
|
Me.Cursor = Cursors.Default
|
|
Exit For
|
|
End If
|
|
Next
|
|
db.Dispose()
|
|
dbv.Dispose()
|
|
dbd.Dispose()
|
|
End If
|
|
|
|
End Sub
|
|
Dim NodesThatMatch As New List(Of DevComponents.AdvTree.Node)
|
|
Private Function SearchTheTreeView(ByVal TV As AdvTree, ByVal TextToFind As String) As DevComponents.AdvTree.Node
|
|
' Empty previous
|
|
NodesThatMatch.Clear()
|
|
|
|
' Keep calling RecursiveSearch
|
|
For Each TN As DevComponents.AdvTree.Node In TV.Nodes
|
|
If TN.Text = TextToFind Then
|
|
NodesThatMatch.Add(TN)
|
|
End If
|
|
|
|
RecursiveSearch(TN, TextToFind)
|
|
Next
|
|
|
|
If NodesThatMatch.Count > 0 Then
|
|
Return NodesThatMatch(0)
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Sub RecursiveSearch(ByVal treeNode As DevComponents.AdvTree.Node, ByVal TextToFind As String)
|
|
|
|
' Keep calling the test recursively.
|
|
For Each TN As DevComponents.AdvTree.Node In treeNode.Nodes
|
|
If TN.Text = TextToFind Then
|
|
NodesThatMatch.Add(TN)
|
|
End If
|
|
|
|
RecursiveSearch(TN, TextToFind)
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub treestruktur_Click(sender As Object, e As EventArgs) Handles treestruktur.Click
|
|
|
|
End Sub
|
|
|
|
Private Sub PrintButton_Click(sender As Object, e As EventArgs) Handles PrintButton.Click
|
|
Me.webBrowser1.ShowPrintDialog()
|
|
End Sub
|
|
|
|
Private Sub C1Dokumente_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Dokumente.MouseDown
|
|
Me.C1Dokumente.Bookmark = Me.C1Dokumente.RowContaining(e.Y)
|
|
End Sub
|
|
|
|
Private Sub PerMailVersendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PerMailVersendenToolStripMenuItem.Click
|
|
Dim fn As String
|
|
Dim dok As New clsDok
|
|
fn = dok.Get_Dokument(Me.C1Dokumente.Columns("nreintrag").Value)
|
|
Dim om As New clsMailClient
|
|
om.CreateOutlookMail(clsMailClient.EmpfangerFrom.Dokument, Me.C1Dokumente.Columns("nreintrag").Value, fn, 100)
|
|
End Sub
|
|
End Class
|
|
|
|
Public Class DocumentNotLoadedException
|
|
Inherits Gnostice.Core.XDocException
|
|
|
|
End Class
|
|
|
|
Public Class DokumentNotLoadedExeption
|
|
Inherits Gnostice.Core.XDocException
|
|
End Class
|
|
|