Files
Doku/Dokumentation/frmAllgemeinEintrag.vb
2019-08-19 09:32:57 +02:00

210 lines
7.4 KiB
VB.net

Public Class frmAllgemeinEintrag
Property Eintrag As New cEintrag
Property Berechtigung As New cBerechtigungen
Property NewID As Boolean = False
Private Sub frmAllgemeinEintrag_Load(sender As Object, e As EventArgs) Handles Me.Load
CmdTest.Visible = Class1.DebugMode
FillIn()
If Eintrag.Berechtigung = "R" Then
' MsgBox("nur Leserecht")
PanTop.Enabled = False : TxtInfo.Enabled = False : PanWrite.Enabled = False
End If
End Sub
Function FillIn()
TxtRubrik.Text = Eintrag.rubrik
TxtTitel.Text = Eintrag.Titel
TxtInfo.Text = Eintrag.Info
TxtBenutzername.Text = Eintrag.Benutzer
TxtKennwort.Text = Eintrag.Passwort
TxtLink.Text = Eintrag.Link
End Function
Function ReadOut()
Eintrag.rubrik = TxtRubrik.Text
Eintrag.Titel = TxtTitel.Text
Eintrag.Info = Class1.hochkomma(TxtInfo.Text)
Eintrag.Benutzer = TxtBenutzername.Text
Eintrag.Passwort = TxtKennwort.Text
Eintrag.Link = TxtLink.Text
End Function
Private Sub ChkKennwortAnzeigen_CheckedChanged(sender As Object, e As EventArgs) Handles ChkKennwortAnzeigen.CheckedChanged
If ChkKennwortAnzeigen.Checked Then
TxtKennwort.PasswordChar = ""
Else
TxtKennwort.PasswordChar = "*"
End If
End Sub
Private Sub CmdLink_Click(sender As Object, e As EventArgs) Handles CmdLink.Click
Ext_Programme.startlink(TxtLink.Text)
End Sub
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
MsgBox(Eintrag.ID)
End Sub
Private Sub CmdSave_Click(sender As Object, e As EventArgs) Handles CmdSave.Click
ReadOut()
Eintrag.Save()
End Sub
Private Sub btnBerechtigungen_Click(sender As Object, e As EventArgs) Handles btnBerechtigungen.Click
CmdSave.PerformClick()
Dim i As Integer = 0
Dim frm As New frmLeer
frm.Text = "Berechtigungen für " & Eintrag.Titel
For Each Benutzer As cBenutzer In Class1.GroupUsers
Dim usrcntrl As New uscntr_Berechtigungen
usrcntrl.User = Benutzer
usrcntrl.Standort = Eintrag.ID
usrcntrl.lblName.Text = Benutzer.Vorname & " " & Benutzer.Nachname
usrcntrl.Berechtigung.StandardZugriff = "W"
usrcntrl.Location = New Point(0, i * usrcntrl.Height)
i = i + 1
frm.PanMain.Controls.Add(usrcntrl)
Next
frm.Show()
End Sub
Private Sub CmdAbbrechen_Click(sender As Object, e As EventArgs) Handles CmdAbbrechen.Click
Me.Close()
End Sub
Private Sub CmdDateien_Click(sender As Object, e As EventArgs) Handles CmdDateien.Click
openfilepath()
End Sub
Private Function openfilepath(Optional ByVal returnonlypath As Boolean = False)
Dim ds As New DataSet()
Dim islinked As Integer
Dim LinkedWith As String = ""
Dim path As String = ""
Try
'dbload()
'con.Open()
'Dim sda As New SqlDataAdapter("SELECT * FROM TbL_Allgemein WHERE " & abfrage & "", con)
'sda.Fill(ds)
'con.Close()
SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE Rubrik='" & Eintrag.rubrik & "' AND Titel='" & Eintrag.Titel & "'", ds)
Dim Info As String = ds.Tables(0).Rows(0).Item("Info")
If IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
islinked = "0"
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
islinked = ds.Tables(0).Rows(0).Item("Linked")
End If
If IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
LinkedWith = ""
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
LinkedWith = ds.Tables(0).Rows(0).Item("LinkedWith")
End If
If islinked = "1" Then
Dim dslinked As New DataSet()
SQL.SQL2DS("SELECT * FROM Tbl_Allgemein WHERE LinkedWith='" & LinkedWith & "'", dslinked)
path = Class1.FilePath & "\" & dslinked.Tables(0).Rows(0).Item("Rubrik") & "\" & dslinked.Tables(0).Rows(0).Item("Titel") '& "\" & dslinked.Tables(0).Rows(0).Item("Host")
Else
'MsgBox("not linked")
path = Class1.FilePath & "\" & Eintrag.rubrik & "\" & Eintrag.Titel '& "\" & SenderHost
End If
Catch ex As Exception
MsgBox("openfilepath() Tbl_Allgemein: " & ex.Message)
End Try
''Pfad öffnen:
If returnonlypath = True Then
Return path
Exit Function
End If
Try
If IO.Directory.Exists(path) Then
Process.Start(path)
Else
IO.Directory.CreateDirectory(path)
Process.Start(path)
End If
Catch ex As Exception
End Try
End Function
Private Sub CmdDelete_Click(sender As Object, e As EventArgs) Handles CmdDelete.Click
Dim path As String
path = openfilepath(True) 'Class1.FilePath & "\" & Rubrik & "\" & Titel
If MsgBox("Eintrag wirklich löschen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
If MessageBox.Show("Dazugehörigen Ordner im Dateisystem löschen?", "Dateien löschen", MessageBoxButtons.YesNo) = DialogResult.Yes Then
deleteFiles(path, Eintrag.rubrik)
ElseIf DialogResult.No Then
Exit Sub
End If
SQL.DeleteSQL("TbL_Allgemein", "ID = '" & Eintrag.ID & "'")
' Main.LstStandortLoad()
Me.Close()
Else
Exit Sub
End If
End Sub
Private Function deleteFiles(path As String, Rubrik As String)
Dim rubrikpath As String = Class1.FilePath & "\" & Rubrik
Try
If IO.Directory.Exists(path) Then
Dim files As String() = IO.Directory.GetFiles(path)
For Each file As String In files
IO.File.Delete(file)
Next
IO.Directory.Delete(path, True)
Else
'MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.")
End If
Catch ex As Exception
MsgBox("Beim Löschen der Dateien: " & ex.Message)
End Try
''Überprüfen, ob letzter Eintrag der Rubrik bzw. ob Odner der Rubrik leer ist:
Try
If IO.Directory.Exists(rubrikpath) Then
Dim files As String() = IO.Directory.GetFiles(rubrikpath)
Dim folder As String() = IO.Directory.GetDirectories(rubrikpath)
Dim out As String = ""
For Each row As String In files
out &= row
Next
For Each row As String In folder
out &= row
Next
If out IsNot "" Then
Exit Function
Else
IO.Directory.Delete(rubrikpath, True)
End If
Else
'MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.")
End If
Catch ex As Exception
MsgBox("Beim Löschen der Dateien: " & ex.Message)
End Try
End Function
Private Sub CmdReset_Click(sender As Object, e As EventArgs) Handles CmdReset.Click
FillIn()
End Sub
End Class