Files
Doku/Dokumentation/HostBearbeiten.vb
2018-11-22 16:52:25 +01:00

840 lines
32 KiB
VB.net

Imports System.Data.SqlClient
Public Class HostBearbeiten
Public con As New SqlConnection
Public cmd As New SqlCommand
Public reader As SqlDataReader
Public HostA As String = Main.SenderHost
Public NetA As String = Main.SenderNetzwerk
Public StandA As String = Main.SenderStandort
Public Netzwerk As String
Public LinkedHost As String
Public LinkedNet As String
Public LinkedStand As String
Public LinkedNetzwerk As String
Public SQLWhere As String = "WHERE NWSTANDORT='" & StandA & "' AND NETNAME='" & NetA & "'"
Public NetzID As String = StandA & "_" & NetA
Dim Linked As Integer = 0
Dim LinkedWith As String
Public geaendert As Boolean
''''LADEN''''
Private Sub HostBearbeiten_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dbload()
If Main.Debug = True Then
PanDebug.Visible = True
End If
FillAutocomplete()
'importiere(Main.SenderStandort, Main.SenderNetzwerk, Main.SenderHost)
'MsgBox(NetA & StandA & HostA)
importiere(StandA, NetA, HostA)
'laden(Main.SenderIP, Main.SenderHost)
LblInfo.Text = "" & Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text
End Sub
'''''''''''''''
Public Function dbload()
con.ConnectionString = Class1.DBConString
cmd.Connection = con
End Function
Private Function laden(IP As String, Host As String)
FillAutocomplete()
Dim abfrage As String = "IPAdresse='" & IP & "'"
'MsgBox(standort & netzwerk & Host)
Try
con.Open()
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE " & abfrage & ""
Catch ex As Exception
MsgBox("Fehler Function Import: " & ex.Message)
End Try
ausgabe_Host(Host)
con.Close()
geaendert = False
LbLDebug.Text = "nicht geändert"
'LblInfo.Text = "Netzwerk: " & Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text
Me.Text = Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text
End Function
Public Function importiere(standort As String, netzwerk As String, Host As String)
' FillAutocomplete()
Dim abfrage As String = "NWSTANDORT='" & standort & "' AND NETNAME='" & netzwerk & "' AND HOST='" & Host & "'"
'MsgBox(standort & netzwerk & Host)
Try
con.Open()
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE " & abfrage & ""
Catch ex As Exception
MsgBox("Fehler Function Import: " & ex.Message)
End Try
ausgabe_Host(Host)
con.Close()
geaendert = False
LbLDebug.Text = "nicht geändert"
'LblInfo.Text = "Netzwerk: " & Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text
Me.Text = StandA & "_" & NetA & " " & TxtName.Text
End Function
Private Function importierelinked(ip As String)
Try
con.Close()
dbload()
Catch ex As Exception
MsgBox("dbload in importierelinked")
End Try
Dim abfrage As String = "IPAdresse= '" & ip & "'"
'MsgBox(standort & netzwerk & Host)
Try
con.Open()
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE " & abfrage & ""
Catch ex As Exception
MsgBox("importierelinked(ip As String): " & ex.Message)
End Try
ausgabe_LinkedHost()
con.Close()
geaendert = False
LbLDebug.Text = "nicht geändert"
End Function
Private Function ausgabe_Host(Host As String)
TxtHost.BackColor = Color.White
TxtHost.Text = Host
TxtIP.Text = ""
TxtName.Text = ""
TxtMAC.Text = ""
TxtType.Text = ""
TxtInfo.Text = ""
TxtBenutzername.Text = ""
TxtKennwort.Text = ""
TxtLink.Text = ""
TxtQuickInfo.Text = ""
TxtModell.Text = ""
TxtSeriennummer.Text = ""
TxtStandort.Text = ""
Linked = "0"
Try
reader = cmd.ExecuteReader()
Do While reader.Read()
Netzwerk = reader("Netzwerk")
TxtBenutzername.Text = checknull("Benutzer")
TxtIP.Text = reader("IPAdresse")
TxtName.Text = checknull("FQDN")
TxtStandort.Text = checknull("Standort")
TxtMAC.Text = checknull("MAC")
TxtType.Text = checknull("TYPE")
TxtInfo.Text = checknull("Info")
TxtHost.Text = reader("Host")
TxtKennwort.Text = checknull("Passwort")
TxtLink.Text = checknull("LINK")
TxtQuickInfo.Text = checknull("QINFO")
TxtModell.Text = checknull("Modell")
TxtSeriennummer.Text = checknull("Seriennummer")
Linked = reader("Linked")
If Linked = "1" Then
ChkLinked.Checked = True
TxtLinkedWith.Text = reader("LinkedWith")
' importierelinked(TxtLinkedWith.Text)
Else
ChkLinked.Checked = False
End If
Loop
reader.Close()
Catch ex As Exception
MsgBox("Hostbearbeiten.Ausgabe_Host reader.Read: " & ex.Message)
'LbLDebug.Text = ex.Message
End Try
'MsgBox(Linked)
End Function
Private Sub AutoCompleteFüllenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AutoCompleteFüllenToolStripMenuItem.Click
FillAutocomplete()
End Sub
Private Function checknull(text As String)
Try
' If reader.Read() Then
If reader.IsDBNull(0) Then
'MsgBox("Null")
Return String.Empty
Else
Return reader(text).ToString
End If
'End If
Catch ex As Exception
MsgBox("Checknull: " & ex.Message)
End Try
End Function
Private Function ausgabe_LinkedHost()
'TxtHost.Text = host
'TxtIP.Text = ""
TxtName.Text = ""
TxtMAC.Text = ""
TxtType.Text = ""
TxtInfo.Text = ""
TxtBenutzername.Text = ""
TxtKennwort.Text = ""
TxtLink.Text = ""
TxtQuickInfo.Text = ""
TxtModell.Text = ""
TxtStandort.Text = ""
TxtSeriennummer.Text = ""
Try
reader = cmd.ExecuteReader()
Do While reader.Read()
'TxtIP.Text = checknull("IPAdresse")
TxtName.Text = checknull("FQDN")
TxtMAC.Text = checknull("MAC")
TxtType.Text = checknull("TYPE")
TxtInfo.Text = checknull("Info")
'TxtHost.Text = checknull("Host")
TxtBenutzername.Text = checknull("Benutzer")
TxtKennwort.Text = checknull("Passwort")
TxtLink.Text = checknull("LINK")
TxtQuickInfo.Text = checknull("QINFO")
TxtModell.Text = checknull("Modell")
TxtSeriennummer.Text = checknull("Seriennummer")
TxtStandort.Text = checknull("Standort")
'Linked = checknull("Linked")
Loop
reader.Close()
Catch ex As Exception
MsgBox("Hostbearbeiten.Ausgabe_Host reader.Read: " & ex.Message)
End Try
End Function
Private Function deleteHost()
dbload()
Dim ds As New DataSet
Dim da As New SqlDataAdapter("SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & TxtIP.Text & "'", con)
Dim slavenetzwerke As String = ""
da.Fill(ds)
Dim i As Integer = 0
For Each dr As DataRow In ds.Tables(0).Rows
slavenetzwerke &= ds.Tables(0).Rows(i).Item("NWStandort") & "_" & ds.Tables(0).Rows(i).Item("NetName") & ": " & ds.Tables(0).Rows(i).Item("IPAdresse") & vbCrLf
i = i + 1
Next
con.Close()
Try
con.Open()
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & TxtIP.Text & "'"
cmd.ExecuteNonQuery()
reader = cmd.ExecuteReader()
If reader.Read Then
If MsgBox("Dieser Eintrag ist ein Master-Eintrag (Linked). Es werden sämtliche Slave-Einträge" & vbCrLf & slavenetzwerke & " ebenfalls gelöscht. Fortfahren?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
con.Close()
con.Open()
cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE LinkedWith ='" & TxtIP.Text & "'"
cmd.ExecuteNonQuery()
cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE IPAdresse ='" & TxtIP.Text & "'"
cmd.ExecuteNonQuery()
Else
con.Close()
Exit Function
End If
End If
con.Close()
con.Open()
cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE IPAdresse ='" & TxtIP.Text & "'"
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
con.Close()
End Function
Private Function deleteFiles(host As String)
Dim path As String = Class1.FilePath & "\" & NetzID & "\" & host
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
End Function
Private Sub CmdReset_Click(sender As Object, e As EventArgs) Handles CmdReset.Click
importiere(StandA, NetA, HostA)
End Sub
Private Sub CmdSave_Click(sender As Object, e As EventArgs) Handles CmdSave.Click
HostSpeichern("speichern")
LinkedMasterUpdate()
TxtHost.BackColor = Color.White
geaendert = False
End Sub
Public Function HostSpeichern(mach As String)
If mach = "machlink" Then
importierelinked(TxtLinkedWith.Text)
End If
dbload()
If TxtIP.Text = "" Then
HostErstellen()
ElseIf Linked = "1" Then
Try
''Linked Master speichern
con.Open()
cmd.CommandText = "UPDATE TbL_Netzwerkclients Set FQDN='" & TxtName.Text & "', MAC='" & TxtMAC.Text & "', Standort='" & TxtStandort.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' WHERE IPAdresse = '" & TxtLinkedWith.Text & "' "
'' Linked Slave speichern
cmd.ExecuteNonQuery()
cmd.CommandText = "UPDATE TbL_Netzwerkclients Set IPAdresse = '" & TxtIP.Text & "', FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & TxtLinkedWith.Text & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' " & SQLWhere & " AND Host='" & HostA & "'"
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox("Linked HostSpeichern(): " & ex.Message)
End Try
con.Close()
Else
Try
con.Open()
cmd.CommandText = "UPDATE TbL_Netzwerkclients Set IPAdresse = '" & TxtIP.Text & "', FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & TxtLinkedWith.Text & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' " & SQLWhere & " AND Host='" & HostA & "'"
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox("Hostspeichern(): " & ex.Message)
End Try
con.Close()
End If
End Function
Private Sub CmdIPUp_Click(sender As Object, e As EventArgs) Handles CmdIPUp.Click
abfrage_aenderungenspeichern()
If HostA < 255 Then
HostA = HostA + 1
importiere(StandA, NetA, HostA)
Else HostA = 254
End If
End Sub
Private Sub CmdIPDown_Click(sender As Object, e As EventArgs) Handles CmdIPDown.Click
abfrage_aenderungenspeichern()
If HostA > 1 Then
HostA = HostA - 1
importiere(StandA, NetA, HostA)
Else HostA = 1
End If
End Sub
Private Sub CmdForward_Click(sender As Object, e As EventArgs) Handles CmdForward.Click
abfrage_aenderungenspeichern()
Try
con.Open()
Dim ds As New DataSet()
Dim dataadapter As New SqlDataAdapter("SELECT FQDN FROM Tbl_Netzwerkclients WHERE NWSTANDORT='" & StandA & "' AND NETNAME = '" & NetA & "' ORDER BY HOST", con)
dataadapter.Fill(ds)
Do Until HostA = 254
HostA = HostA + 1
For Each Row As DataRow In ds.Tables(0).Rows
'If HostA = Row.Item(0).ToString Then
If Row.Item(0) IsNot Nothing Then
LbLDebug.Text &= Row.Item(0).ToString & vbCrLf
HostA = Row.Item(0).ToString
LbLDebug.Text &= "Host A: " & HostA
con.Close()
importiere(StandA, NetA, HostA)
Exit Sub
End If
Next
Loop
con.Close()
Catch ex As Exception
MsgBox("Forward: " & ex.Message & vbCrLf & HostA)
con.Close()
End Try
End Sub
Private Sub CmdBack_Click(sender As Object, e As EventArgs) Handles CmdBack.Click
abfrage_aenderungenspeichern()
Try
con.Open()
Dim ds As New DataSet()
Dim dataadapter As New SqlDataAdapter("SELECT HOST FROM Tbl_Netzwerkclients WHERE NWSTANDORT='" & StandA & "' AND NETNAME = '" & NetA & "' ORDER BY HOST", con)
dataadapter.Fill(ds)
Do Until HostA = 1
HostA = HostA - 1
For Each Row As DataRow In ds.Tables(0).Rows
If HostA = Row.Item(0).ToString Then
LbLDebug.Text &= Row.Item(0).ToString & vbCrLf
HostA = Row.Item(0).ToString
LbLDebug.Text &= "Host A: " & HostA
con.Close()
importiere(StandA, NetA, HostA)
Exit Sub
End If
Next
Loop
con.Close()
Catch ex As Exception
MsgBox("Forward: " & ex.Message)
con.Close()
End Try
End Sub
Private Sub TxtHost_KeyUp_Enter(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtHost.KeyUp ', TxtHost.TextChanged
Try
If e.KeyValue = Keys.Enter Then
HostA = TxtHost.Text
importiere(StandA, NetA, HostA)
End If
Catch
End Try
End Sub
Private Sub CmdIPErstellen_Click(sender As Object, e As EventArgs)
HostErstellen()
End Sub
Private Sub CmdCopy_Click(sender As Object, e As EventArgs) Handles CmdCopy.Click
Dim FQDN, Type, IP As String
Class1.GetFQDNandType(TxtIP.Text, FQDN, Type)
Class1.Host2IP(TxtHost.Text, StandA, NetA, IP)
If FQDN = "" And Type = "" Then
HostA = TxtHost.Text
Try
con.Open()
'cmd.CommandText = "INSERT INTO Tbl_Netzwerkclients (Host, IPAdresse, NWStandort, NetName) VALUES ('" & HostA & "', '" & TxtIP.Text & "','" & Main.SenderStandort & "', '" & Main.SenderNetzwerk & "') "
'cmd.ExecuteNonQuery()
cmd.CommandText = "UPDATE TbL_Netzwerkclients Set FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & TxtLinkedWith.Text & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' WHERE IPAdresse = '" & IP & "'"
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox("Hostspeichern(): " & ex.Message)
End Try
con.Close()
Else
MsgBox("Ziel ist bereits mit " & FQDN & " belegt")
End If
MsgBox("Host kopiert!")
HostA = TxtHost.Text
importiere(StandA, NetA, HostA)
End Sub
Private Function IPErstellen()
Dim nwaddress As String
Try
con.Open()
cmd.CommandText = "SELECT nwaddress FROM Tbl_Netzwerke where Netzwerkname ='" & NetzID & "'"
reader = cmd.ExecuteReader()
Do While reader.Read()
nwaddress = reader("nwaddress")
Loop
con.Close()
con.Open()
cmd.CommandText = "SELECT * FROM Tbl_Netzwerkclients WHERE IPAdresse = '" & nwaddress & TxtHost.Text & "'"
cmd.ExecuteNonQuery()
reader = cmd.ExecuteReader()
If reader.Read Then
MsgBox("Die IP Adresse " & nwaddress & TxtHost.Text & " ist bereits belegt!")
Return ("Fehler")
con.Close()
Exit Function
End If
con.Close()
TxtIP.Text = nwaddress & TxtHost.Text
Catch exgen As Exception
MsgBox("Fehler beim Generieren der IP Adresse: " & vbCrLf & exgen.Message)
End Try
con.Close()
End Function
Private Function HostErstellen()
IPErstellen()
Try
HostA = TxtHost.Text
con.Open()
cmd.CommandText = "INSERT INTO Tbl_Netzwerkclients (Host, IPAdresse, NWStandort, NetName) VALUES ('" & HostA & "', '" & TxtIP.Text & "','" & Main.SenderStandort & "', '" & Main.SenderNetzwerk & "') "
cmd.ExecuteNonQuery()
cmd.CommandText = "UPDATE TbL_Netzwerkclients Set IPAdresse = '" & TxtIP.Text & "', FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & LinkedWith & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' " & SQLWhere & " AND Host='" & HostA & "'"
cmd.ExecuteNonQuery()
Catch exin As Exception
MsgBox("exin: " & exin.Message)
End Try
con.Close()
End Function
Private Sub CmdDelete_Click(sender As Object, e As EventArgs) Handles CmdDelete.Click
Dim linked As Boolean
linked = ChkLinked.Checked
If MessageBox.Show("Eintrag " & HostA & " wirklich löschen?", "Hosteintrag löschen", MessageBoxButtons.OKCancel) = DialogResult.OK Then
deleteHost()
importiere(StandA, NetA, HostA)
ElseIf DialogResult.Cancel Then
Exit Sub
End If
If linked = False Then
If MsgBox("Dazugehörigen Ordner im Dateisystem löschen?", MessageBoxButtons.YesNo + MsgBoxStyle.DefaultButton2, "Dateien löschen") = DialogResult.Yes Then
'MsgBox("Er. Mayank Nainwal", MsgBoxStyle.YesNoCancel + MsgBoxStyle.DefaultButton2, "Default Button is NO ?")
deleteFiles(HostA)
ElseIf DialogResult.No Then
Exit Sub
End If
End If
Class1.RefillNW(Netzwerk)
importiere(Main.SenderStandort, Main.SenderNetzwerk, Main.SenderHost)
LblInfo.Text = "Netzwerk: " & Main.SenderStandort & "_" & Main.SenderNetzwerk & ""
End Sub
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 CmdDateien_Click(sender As Object, e As EventArgs) Handles CmdDateien.Click
explorerstarten()
End Sub
Private Function explorerstarten()
Main.werbinich()
Dim Path As String
If Linked = "1" Then
Dim ds As New DataSet()
Dim IPA As String = TxtLinkedWith.Text
dbload()
con.Open()
Dim da As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & IPA & "'", con)
da.Fill(ds)
con.Close()
Path = Class1.FilePath & "\" & ds.Tables(0).Rows(0).Item("NWStandort") & "_" & ds.Tables(0).Rows(0).Item("NetName") & "\" & ds.Tables(0).Rows(0).Item("Host")
Else
Path = Class1.FilePath & "\" & NetzID & "\" & HostA
End If
If IO.Directory.Exists(path) Then
Process.Start(path)
Else
IO.Directory.CreateDirectory(path)
Process.Start(path)
End If
'MsgBox(path)
End Function
Private Sub LblLink_DOubleClick(sender As Object, e As EventArgs) Handles LblLink.DoubleClick
Dim URL As String
Try
URL = TxtLink.Text
If URL.Contains("http") Or URL.Contains("https") Then
Process.Start(URL)
ElseIf URL = "" Then
Exit Sub
Else
Dim mstsc As New Process
mstsc.StartInfo.FileName = "mstsc.exe"
mstsc.StartInfo.Arguments = " /v: " & URL
mstsc.Start()
End If
' Process.Start("mstsc.exe", "/v: dc01")
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
Private Sub LblLink_Click(sender As Object, e As EventArgs) Handles LblLink.Click
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TxtQuickInfo.TextChanged
End Sub
Private Sub ChkMulti_CheckedChanged(sender As Object, e As EventArgs) Handles ChkLinked.CheckedChanged
If ChkLinked.Checked Then
TxtLinkedWith.Enabled = True
CmdLink.Visible = True
Linked = "1"
Else
TxtLinkedWith.Enabled = False
CmdLink.Visible = False
Linked = "0"
LinkedWith = ""
TxtLinkedWith.Text = ""
End If
End Sub
Private Sub CmdLink_Click(sender As Object, e As EventArgs) Handles CmdLink.Click
LinkedWith = TxtLinkedWith.Text
' HostSpeichern()
''Linked is linked?
con.Open()
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE IPAdresse='" & LinkedWith & "'"
cmd.ExecuteNonQuery()
reader = cmd.ExecuteReader()
Do While reader.Read()
If checknull("Linked") = "1" Then
LinkedWith = checknull("LinkedWith")
TxtLinkedWith.Text = LinkedWith
End If
Loop
reader.Close()
con.Close()
''Link erstellen
con.Open()
cmd.CommandText = "UPDATE TbL_Netzwerkclients SET Linked='" & Linked & "', LinkedWith='" & LinkedWith & "' WHERE IPAdresse = '" & TxtIP.Text & "' "
cmd.ExecuteNonQuery()
con.Close()
HostSpeichern("machlink")
importiere(Main.SenderStandort, Main.SenderNetzwerk, TxtHost.Text)
HostSpeichern("speichern")
End Sub
Private Function LinkedMasterUpdate()
Dim slaveds As New DataSet()
Dim dt As New DataTable()
LbLDebug.Text = ""
Try
dbload()
con.Open()
Dim dataadapterslave As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE Linked='1'", con)
dataadapterslave.Fill(slaveds)
For Each dr As DataRow In slaveds.Tables(0).Rows
Dim LinkedWith As String = dr.Item("LinkedWith")
Dim masterds As New DataSet()
Dim dataadaptermaster As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & LinkedWith & "'", con)
dataadaptermaster.Fill(masterds)
LbLDebug.Text &= "MasterFQDN: " & masterds.Tables(0).Rows(0).Item("FQDN") & " Slave Linkedwith: " & LinkedWith & " Slave IP: " & dr.Item("IpAdresse") & vbCrLf
'' Linked Slave speichern
cmd.ExecuteNonQuery()
cmd.CommandText = "UPDATE TbL_Netzwerkclients Set FQDN='" & masterds.Tables(0).Rows(0).Item("FQDN") & "', Standort='" & masterds.Tables(0).Rows(0).Item("Standort") & "', MAC='" & masterds.Tables(0).Rows(0).Item("MAC") & "', type='" & masterds.Tables(0).Rows(0).Item("Type") & "', info='" & masterds.Tables(0).Rows(0).Item("Info") & "' , Benutzer='" & masterds.Tables(0).Rows(0).Item("Benutzer") & "', passwort='" & masterds.Tables(0).Rows(0).Item("Passwort") & "' , link='" & masterds.Tables(0).Rows(0).Item("Link") & "', Modell='" & masterds.Tables(0).Rows(0).Item("Modell") & "', QINFO='" & masterds.Tables(0).Rows(0).Item("QINFO") & "', Seriennummer='" & masterds.Tables(0).Rows(0).Item("Seriennummer") & "' WHERE IPAdresse = '" & dr.Item("IpAdresse") & "'"
cmd.ExecuteNonQuery()
Next
con.Close()
Catch ex As Exception
MsgBox("LinkedMasterUpdate(): " & ex.Message)
con.Close()
End Try
End Function
Private Sub CmdHostLink_Click(sender As Object, e As EventArgs) Handles CmdHostLink.Click
Dim URL As String
Try
URL = TxtLink.Text
If URL.Contains("http") Or URL.Contains("https") Then
Process.Start(TxtLink.Text)
ElseIf URL = "" Then
Exit Sub
Else
Dim mstsc As New Process
mstsc.StartInfo.FileName = "mstsc.exe"
mstsc.StartInfo.Arguments = " /v: " & TxtLink.Text
mstsc.Start()
End If
' Process.Start("mstsc.exe", "/v: dc01")
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Sub
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
Dim FQDN, Type As String
Class1.GetFQDNandType(TxtIP.Text, FQDN, Type)
LbLDebug.Text = "FQDN: " & FQDN & vbCrLf & "Type: " & Type
End Sub
Public Function IPChange()
Dim dspath As New DataSet()
Dim alteip As String = TxtIP.Text
Dim Path As String
Dim HostOld As String
Dim NewPath As String
NewPath = Class1.FilePath & "\" & NetzID & "\" & TxtHost.Text
If IPErstellen() = "Fehler" Then
con.Close()
Exit Function
ElseIf IO.Directory.Exists(NewPath) Then
If MsgBox("Zielordner existiert bereits. Löschen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
con.Close()
Exit Function
Else
deleteFiles(TxtHost.Text)
End If
Else
'else -> erstellen der IP ergab keinen Fehler, Zielordner ist nicht vorhanden -> alles paletti
End If
dbload()
con.Open()
Dim da As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & alteip & "'", con)
da.Fill(dspath)
HostOld = dspath.Tables(0).Rows(0).Item("Host")
cmd.CommandText = "Update Tbl_Netzwerkclients SET IPAdresse = '" & TxtIP.Text & "', Host = '" & TxtHost.Text & "' WHERE IPAdresse = '" & alteip & "'"
cmd.ExecuteNonQuery()
Dim ds As New DataSet
Dim dt As New DataTable()
Dim dataadapter As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE LinkedWith='" & alteip & "'", con)
dataadapter.Fill(ds)
con.Close()
Dim i As Integer = 0
Dim slaveip As String
For Each dr As DataRow In ds.Tables(0).Rows
slaveip = ds.Tables(0).Rows(i).Item("IPAdresse")
con.Open()
cmd.CommandText = "Update Tbl_Netzwerkclients SET LinkedWith = '" & TxtIP.Text & "' WHERE IPAdresse = '" & slaveip & "'"
cmd.ExecuteNonQuery()
con.Close()
i = i + 1
Next
con.Close()
If Linked = "1" Then
'Dim IPA As String = TxtLinkedWith.Text
'Path = Class1.FilePath & "\" & ds.Tables(0).Rows(0).Item("NWStandort") & "_" & ds.Tables(0).Rows(0).Item("NetName") & "\" & ds.Tables(0).Rows(0).Item("Host")
Exit Function
Else
Path = Class1.FilePath & "\" & NetzID & "\" & HostOld
End If
If IO.Directory.Exists(path) Then
My.Computer.FileSystem.RenameDirectory(Path, TxtHost.Text)
End If
importiere(Main.SenderStandort, Main.SenderNetzwerk, TxtHost.Text)
End Function
Public Function abfrage_aenderungenspeichern()
If geaendert = False Then
Exit Function
ElseIf geaendert = True Then
Dim result As Integer = MsgBox("Änderungen speichern?", MsgBoxStyle.YesNo)
If result = MsgBoxResult.No Then
Exit Function
ElseIf result = MsgBoxResult.Yes Then
HostSpeichern("speichern")
LinkedMasterUpdate()
End If
End If
geaendert = False
End Function
Private Sub CmdIPChange_Click(sender As Object, e As EventArgs) Handles CmdIPChange.Click
IPChange()
End Sub
Private Sub TxtIP_TextChanged(sender As Object, e As EventArgs) Handles TxtStandort.TextChanged, TxtIP.TextChanged, TxtName.TextChanged, TxtModell.TextChanged, TxtQuickInfo.TextChanged, TxtType.TextChanged, TxtSeriennummer.TextChanged, TxtMAC.TextChanged, TxtInfo.TextChanged, TxtBenutzername.TextChanged, TxtKennwort.TextChanged, TxtLink.TextChanged
geaendert = True
LbLDebug.Text = "geändert"
End Sub
Private Sub MitHTTPFüllenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MitHTTPFüllenToolStripMenuItem.Click
TxtLink.Text = "http://" & TxtIP.Text & "/"
End Sub
Private Function FillAutocomplete()
Class1.Autocomplete(TxtType, "Type", "Tbl_Netzwerkclients")
Class1.Autocomplete(TxtStandort, "Standort", "Tbl_Netzwerkclients")
Class1.Autocomplete(TxtModell, "Modell", "Tbl_Netzwerkclients")
Class1.Autocomplete(TxtBenutzername, "Benutzer", "Tbl_Netzwerkclients")
End Function
Private Sub DebugToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugToolStripMenuItem.Click
PanDebug.Visible = Not PanDebug.Visible
End Sub
Private Sub TxtHost_TextChanged(sender As Object, e As EventArgs) Handles TxtHost.TextChanged
TxtIP.Text = ""
geaendert = True
'TxtHost.BackColor = Color.Red
End Sub
''SCHLIESSEN''
Private Sub Hostbearbeiten_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
abfrage_aenderungenspeichern()
'Main.allesladen()
Main.dgvload_filter(Main.Suchbegriff)
End Sub
Private Sub CmdAbbrechen_Click(sender As Object, e As EventArgs) Handles CmdAbbrechen.Click
abfrage_aenderungenspeichern()
'Main.allesladen()
Main.dgvload_filter(Main.Suchbegriff)
Close()
End Sub
Private Sub NetzwerkÄndernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HostVerschiebenToolStripMenuItem.Click
HostVerschieben.Show()
End Sub
End Class