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.

763 lines
31 KiB

Imports System.IO
Imports System.Threading
Imports C1.Win.C1TrueDBGrid
Imports DevComponents.AdvTree
Imports Syncfusion.DocIO
Imports Syncfusion.DocIO.DLS
'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
Dim procstartet As Boolean = False
Dim ext As String = UCase(System.IO.Path.GetExtension(fn))
Dim xdb As New clsDB
xdb.Get_Tabledata("OfficeApps", "", "Select * from dms_settings where einstellung like 'Word-Editor%' or einstellung like 'Excel-Editor%' or einstellung like 'Adobe%'")
For Each r As DataRow In xdb.dsDaten.Tables(0).Rows
If InStr(UCase(r("einstellung")), ext) Then
If r("wert") <> "Standard" Then
Dim s As String
s = r("wert")
s = s.Replace("%filename%", fn)
procstartet = True
Shell(s)
End If
End If
Next
If procstartet = False Then 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
Public Sub fill_doc(fn As String)
Dim ddb As New clsDB
ddb.Get_Tabledata("bookmarks", "", "select * from dbo.get_bookmarkvalues(" + Trim(Me.Patientnr.ToString) + ")")
Dim document As New WordDocument(fn, FormatType.Docx)
'Creates the bookmark navigator instance to access the bookmark
Dim bookmarkNavigator As New BookmarksNavigator(document)
'Moves the virtual cursor to the location before the end of the bookmark "Northwind"
For Each r As DataRow In ddb.dsDaten.Tables(0).Rows
Try
bookmarkNavigator.MoveToBookmark(r("bookmark"))
bookmarkNavigator.InsertText(r("wert"))
Catch
End Try
Next
document.Save(fn, FormatType.Docx)
document.Close()
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
fill_doc(filename)
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