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.

463 lines
16 KiB

Imports System.ComponentModel
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports C1.Win.C1TrueDBGrid
Public Class Dokumente
#Region "Deklarationen"
Dim SpaltenTitel As New Utils.Tabellenspalte
Dim dokumente As New DataTable
Dim Dokument As New DMS.clsDok
#End Region
#Region "Properties"
Dim m_ConnectionString As String
<DefaultValue("data source=shu00;initial catalog=Vertragsverwaltung;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29"), Description("ConnectionString"), Category("Options")> _
Public Property ConnectionString() As String
Get
ConnectionString = m_ConnectionString
End Get
Set(ByVal Value As String)
If m_ConnectionString <> Value Then
m_ConnectionString = Value
Globals.conn.sConnectionString = Value
Globals.sConnectionString = Value
End If
End Set
End Property
Dim m_ProduktNr As Integer
<DefaultValue(1), Description("ProduktNr"), Category("Options")> _
Public Property ProduktNr As Integer
Get
ProduktNr = m_ProduktNr
End Get
Set(value As Integer)
If m_ProduktNr <> value Then
m_ProduktNr = value
Try
Refresh_Dokumente()
Catch
End Try
End If
End Set
End Property
Dim m_Doktype As Integer
<DefaultValue(1), Description("Dokumenttype"), Category("Options")> _
Public Property Doktype As Integer
Get
Doktype = m_Doktype
End Get
Set(value As Integer)
If m_Doktype <> value Then
m_Doktype = value
End If
End Set
End Property
Dim m_Mitarbeiternr As Integer
<DefaultValue(1), Description("Mitarbeiternr"), Category("Options")> _
Public Property Mitarbeiternr As Integer
Get
Mitarbeiternr = m_Mitarbeiternr
End Get
Set(value As Integer)
If m_Mitarbeiternr <> value Then
m_Mitarbeiternr = value
Globals.Mitarbeiternr = value
End If
End Set
End Property
Dim m_TempFilePath As String
<DefaultValue("h:\tssettings\themenmgmt"), Description("Temp Filepath"), Category("Options")> _
Public Property TempFilePath As String
Get
TempFilePath = m_TempFilePath
End Get
Set(value As String)
If m_TempFilePath <> value Then
m_TempFilePath = value
Globals.TmpFilepath = value
End If
End Set
End Property
Dim m_Show_Toolbar As Boolean = True
<DefaultValue(True), Description("Dateimenu anzeigen"), Category("Options")> _
Public Property Show_Toolbar() As Boolean
Get
Show_Toolbar = m_Show_Toolbar
End Get
Set(ByVal Value As Boolean)
If m_Show_Toolbar <> Value Then
m_Show_Toolbar = Value
Set_ShowToolbar()
End If
End Set
End Property
Dim m_Show_Editfunctions As Boolean = True
<DefaultValue(True), Description("Editfunktionen anzeigen"), Category("Options")> _
Public Property Show_Editfunctions() As Boolean
Get
Show_Editfunctions = m_Show_Editfunctions
End Get
Set(ByVal Value As Boolean)
If m_Show_Editfunctions <> Value Then
m_Show_Editfunctions = Value
Set_EditFunctions()
End If
End Set
End Property
#End Region
Sub Set_ShowToolbar()
If Me.Show_Toolbar = True Then Me.ToolStrip1.Visible = True Else Me.ToolStrip1.Visible = False
End Sub
Sub Set_Editfunctions()
If Me.Show_Editfunctions = True Then
Me.ToolStripButton1.Visible = True
Me.ToolStripButton2.Visible = True
Me.ToolStripButton4.Visible = True
Me.NeuesDokumentToolStripMenuItem.Visible = True
Me.DokumentInformationenBearbeitenToolStripMenuItem.Visible = True
Me.DokumentLöschenToolStripMenuItem.Visible = True
Else
Me.ToolStripButton1.Visible = False
Me.ToolStripButton2.Visible = False
Me.ToolStripButton4.Visible = False
Me.NeuesDokumentToolStripMenuItem.Visible = False
Me.DokumentInformationenBearbeitenToolStripMenuItem.Visible = False
Me.DokumentLöschenToolStripMenuItem.Visible = False
Me.C1Dokumente.AllowDrop = False
End If
End Sub
Sub New()
InitializeComponent()
'Me.ConnectionString = "data source=shu00;initial catalog=ThemenManagement;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29"
'Me.Mitarbeiternr = 1
'Me.Doktype = 1
'Me.ProduktNr = 1
'Me.TempFilePath = "h:\tssettings\themenmgmt"
Globals.conn.sConnectionString = Me.ConnectionString
Globals.sConnectionString = Me.ConnectionString
Globals.Mitarbeiternr = Mitarbeiternr
Globals.TmpFilepath = TempFilePath
Set_ShowToolbar()
Set_Editfunctions()
End Sub
Private Sub Refresh_Dokumente()
Try
Dim filtertext As String = "none"
Try
filtertext = Me.C1Dokumente.Columns("Aktiv").FilterText
Catch ex As Exception
End Try
Dim bm As Integer = 0
bm = Me.C1Dokumente.Bookmark
Me.C1Dokumente.Enabled = False
Get_Dokumente(Me.C1Dokumente, Me.ImageListeDocIcon, Me.Doktype)
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Dokumente, "Dokument", Me.dokumente)
If filtertext <> "none" Then Me.C1Dokumente.Columns("Aktiv").FilterText = filtertext
Try
Me.C1Dokumente.Bookmark = bm
Catch ex As Exception
End Try
Me.C1Dokumente.Enabled = True
Catch
End Try
End Sub
#Region "Dokumente"
''' <summary>
''' Dokumente lesen und dem Grid übergeben
''' </summary>
''' <param name="c1data">C1TrueDBGrid mit Dokumente</param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing, Optional Doktype As Integer = 0)
Try
dokumente.Dispose()
dokumente = Nothing
Catch ex As Exception
End Try
'dokumente = Dokument.get
dokumente = Dokument.Get_Dokumente(Me.ProduktNr, Doktype)
c1data.DataSource = dokumente
c1data.DataMember = dokumente.TableName
If Not ImgList Is Nothing Then
Set_Imagevalues(c1data, ImgList)
End If
End Function
Private Sub Set_Imagevalues(ByRef c1data As C1TrueDBGrid, ByRef imglist As ImageList)
Dim i As Integer
Dim s As String
For i = 0 To dokumente.Rows.Count - 1
s = dokumente.Rows(i).Item("Filename")
If s = "" Then s = dokumente.Rows(i).Item("Bezeichnung")
If Len(s) < 4 Then s = ".div"
Select Case UCase(s.Substring(Len(s) - 4, 4))
Case ".PDF"
dokumente.Rows(i).Item("DokIcon") = 0
Case ".DOC", "DOCX", ".DOT", "DOTX"
dokumente.Rows(i).Item("DokIcon") = 1
Case ".XLS", ".XLT", "XLSX", "XLTX"
dokumente.Rows(i).Item("DokIcon") = 2
Case ".PPT", "PPTX"
dokumente.Rows(i).Item("DokIcon") = 3
Case ".HTM", "TML", "XML"
dokumente.Rows(i).Item("DokIcon") = 4
Case ".MSG"
dokumente.Rows(i).Item("DokIcon") = 5
Case ".JPG", ".TIF"
dokumente.Rows(i).Item("DokIcon") = 7
Case Else
If InStr(UCase(s), "WWW") > 0 Or InStr(UCase(s), "HTTP") Then
dokumente.Rows(i).Item("DokIcon") = 4
Else
dokumente.Rows(i).Item("DokIcon") = 6
End If
End Select
Next
Dim bmp0 As New Bitmap(imglist.Images(0))
Dim bmp1 As New Bitmap(imglist.Images(1))
Dim bmp2 As New Bitmap(imglist.Images(2))
Dim bmp3 As New Bitmap(imglist.Images(3))
Dim bmp4 As New Bitmap(imglist.Images(4))
Dim bmp5 As New Bitmap(imglist.Images(5))
Dim bmp6 As New Bitmap(imglist.Images(6))
Dim bmp7 As New Bitmap(imglist.Images(7))
Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v2 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v3 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v4 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v5 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v6 As New C1.Win.C1TrueDBGrid.ValueItem()
Dim v7 As New C1.Win.C1TrueDBGrid.ValueItem()
v0.DisplayValue = bmp0
v0.Value = 0
v1.DisplayValue = bmp1
v1.Value = 1
v2.DisplayValue = bmp2
v2.Value = 2
v3.DisplayValue = bmp3
v3.Value = 3
v4.DisplayValue = bmp4
v4.Value = 4
v5.DisplayValue = bmp5
v5.Value = 5
v6.DisplayValue = bmp6
v6.Value = 6
v7.DisplayValue = bmp7
v7.Value = 7
Try
c1data.Columns("DokIcon").ValueItems.Values.Add(v0)
c1data.Columns("DokIcon").ValueItems.Values.Add(v1)
c1data.Columns("DokIcon").ValueItems.Values.Add(v2)
c1data.Columns("DokIcon").ValueItems.Values.Add(v3)
c1data.Columns("DokIcon").ValueItems.Values.Add(v4)
c1data.Columns("DokIcon").ValueItems.Values.Add(v5)
c1data.Columns("DokIcon").ValueItems.Values.Add(v6)
c1data.Columns("DokIcon").ValueItems.Values.Add(v7)
c1data.Columns("DokIcon").ValueItems.Translate = True
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
''' <summary>
''' Kontakte auslesen und dem Truedbgrid übergeben
''' </summary>
''' <param name="c1data">TruedbGrid</param>
''' <param name="Vertragselementnr">Vertragselement, für welches die Dokumente ausgelesen werden</param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, ByVal Vertragselementnr As Integer, Optional ByVal ImgList As ImageList = Nothing)
'Me.Get_Vertragselement(Vertragselementnr)
dokumente = Dokument.Get_Dokumente(Me.ProduktNr, 1)
c1data.DataSource = dokumente
c1data.DataMember = dokumente.TableName
If Not ImgList Is Nothing Then
Me.Set_Imagevalues(c1data, ImgList)
End If
End Function
Public Function Get_Dokumente(ByVal ProduktNr As Integer) As DataTable
Return Dokument.Get_Dokumente(ProduktNr, Me.Doktype)
End Function
#End Region
Private Sub Dokumente_DragDrop(sender As Object, e As DragEventArgs) Handles C1Dokumente.DragDrop
Try
If e.Data.GetData("System.String").ToString().StartsWith("http") Then
Dim f1 As New frmDokument(Me.ProduktNr, True, e.Data.GetData("System.String").ToString())
f1.ShowDialog()
Me.Refresh_Dokumente()
Exit Sub
End If
Catch
End Try
Dim s() As String = e.Data.GetData("FileDrop", False)
Dim i As Integer
For i = 0 To s.Length - 1
Dim f As New frmDokument(0, Me.Doktype, Me.ProduktNr, False, True, s(i))
f.ShowDialog()
Next i
Me.Refresh_Dokumente()
End Sub
Private Sub Dokumente_DragEnter(sender As Object, e As DragEventArgs) Handles Me.DragEnter
If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
e.Effect = DragDropEffects.All
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub Dokumente_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Refresh_Dokumente()
End Sub
Private Sub C1Dokumente_DoubleClick(sender As Object, e As EventArgs) Handles C1Dokumente.DoubleClick
Try
Me.DokumentanzeigenToolStripMenuItem_Click(sender, e)
Catch ex As Exception
End Try
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 NeuesDokumentToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesDokumentToolStripMenuItem.Click
Try
Dim f As New frmDokument(0, Me.Doktype, Me.ProduktNr, False, True)
f.ShowDialog()
Me.Refresh_Dokumente()
Catch ex As Exception
End Try
End Sub
Private Sub DokumentLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentLöschenToolStripMenuItem.Click
Try
If MsgBox("Dokument wirklich löschen?", vbYesNoCancel + vbQuestion) = MsgBoxResult.Yes Then
Dokument.Delete_Dokument(Me.C1Dokumente.Columns("Dokumentnr").Value)
Me.Refresh_Dokumente()
End If
Catch
End Try
End Sub
Private Sub DokumentanzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentanzeigenToolStripMenuItem.Click
Try
Dokument.Show_Doc(Me.C1Dokumente.Columns("Dokumentnr").Value)
Catch
End Try
End Sub
Private Sub DokumentInformationenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentInformationenBearbeitenToolStripMenuItem.Click
Try
Dim f As New frmDokument(Me.C1Dokumente.Columns("Dokumentnr").Value, Me.Doktype, Me.ProduktNr, False, False)
'f.MdiParent = Me
f.ShowDialog()
Me.Refresh_Dokumente()
Catch ex As Exception
End Try
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
NeuesDokumentToolStripMenuItem_Click(sender, e)
End Sub
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
DokumentInformationenBearbeitenToolStripMenuItem_Click(sender, e)
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
DokumentLöschenToolStripMenuItem_Click(sender, e)
End Sub
Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click
DokumentanzeigenToolStripMenuItem_Click(sender, e)
End Sub
Private Sub C1Dokumente_Click(sender As Object, e As EventArgs) Handles C1Dokumente.Click
End Sub
Private Sub C1Dokumente_DragEnter(sender As Object, e As DragEventArgs) Handles C1Dokumente.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.All
Exit Sub
End If
Try
If e.Data.GetData("System.String").ToString().StartsWith("http") Then
e.Effect = DragDropEffects.Link
Else
e.Effect = DragDropEffects.None
End If
Catch
End Try
End Sub
Private Sub C1Dokumente_DragDrop(sender As Object, e As DragEventArgs) 'Handles C1Dokumente.DragDrop
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim MyFiles() As String
' Assign the files to an array.
MyFiles = e.Data.GetData(DataFormats.FileDrop)
' Display the file Name
'TextBoxDrop.Text = MyFiles(0)
' Display the file contents
Dim f As New frmDokument(0, Me.Doktype, Me.ProduktNr, False, True, MyFiles(0))
f.ShowDialog()
Me.Refresh_Dokumente()
End If
End Sub
Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
End Sub
End Class