Files
ADMIN/UID/Homepage/cDBHomepage.vb
2019-08-08 12:44:50 +02:00

264 lines
11 KiB
VB.net

Imports MySql.Data.MySqlClient
Public Class cDBHomepage
Public Shared Function GetNewOpenConnection() As MySqlConnection
Dim cn As New MySqlConnection()
cn.ConnectionString = "Server=localhost;Database=verag_homepage;Uid=sec_user;Pwd=eKcGZr59zAa2BEWU;"
cn.Open()
Return cn
End Function
Public Function qry_menu_tags(Optional laenderkuerzel As String = "de", Optional ref As String = "") As List(Of cNavigation)
If laenderkuerzel = "" Then laenderkuerzel = "de"
Dim navigation As New List(Of cNavigation)
Using con As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand
cmd.Connection = con
Dim sql As String = "SELECT * FROM menu_tags WHERE " ' ORDER BY `menu_tags`.`order` ASC"
If ref <> "" Then
sql &= " ref_id='" & ref & "' "
Else
sql &= " instance='0' "
End If
sql &= " ORDER BY `menu_tags`.`order` ASC "
cmd.CommandText = sql
Dim reader As MySqlDataReader = cmd.ExecuteReader
Try
'reader = cmd.ExecuteReader
While reader.Read()
Dim n As New cNavigation
n.bezeichnung = reader.Item("desc_" & laenderkuerzel)
n.id = reader.Item("id")
n.slogan = reader.Item("menu_slogan_" & laenderkuerzel)
n.menu_logo = reader.Item("menu_logo")
n.subnavigation = qry_menu_tags(laenderkuerzel, n.id)
navigation.Add(n)
End While
reader.Close()
Catch ex As Exception
MsgBox("Fehler 01: " & ex.Message)
End Try
con.Close()
End Using
End Using
Return navigation
End Function
Public Function qry_contentNew(menuID As String, laenderkuerzel As String) As hp_content
Try
Dim hp_content As New hp_content
Using con As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand
cmd.Connection = con
Dim sql As String = " SELECT * " &
" FROM menu_tags, homepage_content " &
" WHERE menu_tags.id=homepage_content.hp_refId AND menu_tags.id = '" & menuID & "'"
cmd.CommandText = sql
Dim reader As MySqlDataReader = cmd.ExecuteReader
Try
'reader = cmd.ExecuteReader
While reader.Read()
Dim b As New cBlock
hp_content.hp_id = reader.Item("id")
hp_content.hp_content = reader.Item(getSpaltenBezeichnung(laenderkuerzel))
hp_content.hp_slogan = reader.Item(getslogan(laenderkuerzel))
hp_content.hp_title = reader.Item(getTitle(laenderkuerzel))
hp_content.hp_imgPath = reader.Item("menu_logo")
hp_content.hp_instance = reader.Item("instance")
hp_content.hp_refIdToUpperMenue = reader.Item("ref_id")
Return hp_content
End While
reader.Close()
Catch ex As Exception
MsgBox("Fehler 02: " & ex.Message)
End Try
con.Close()
End Using
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return Nothing
End Function
Function getSpaltenBezeichnung(laenderkuerzel As String) As String
Dim spalte = "hp_de"
Select Case laenderkuerzel
Case "de" : spalte = "hp_de"
Case "bg" : spalte = "hp_bg"
Case "yu" : spalte = "hp_yu"
Case "ro" : spalte = "hp_ro"
Case "tr" : spalte = "hp_tr"
Case "en" : spalte = "hp_en"
End Select
Return spalte
End Function
Function getSlogan(laenderkuerzel As String) As String
Dim spalte = "hp_de"
Select Case laenderkuerzel
Case "de" : spalte = "menu_slogan_de"
Case "bg" : spalte = "menu_slogan_bg"
Case "yu" : spalte = "menu_slogan_yu"
Case "ro" : spalte = "menu_slogan_ro"
Case "tr" : spalte = "menu_slogan_tr"
Case "en" : spalte = "menu_slogan_en"
End Select
Return spalte
End Function
Function getTitle(laenderkuerzel As String) As String
Dim spalte = "hp_de"
Select Case laenderkuerzel
Case "de" : spalte = "desc_de"
Case "bg" : spalte = "desc_bg"
Case "yu" : spalte = "desc_yu"
Case "ro" : spalte = "desc_ro"
Case "tr" : spalte = "desc_tr"
Case "en" : spalte = "desc_en"
End Select
Return spalte
End Function
Public Sub update_HPContentNew(hp_content As hp_content, laenderkuerzel As String)
Dim sql As String = " UPDATE homepage_content " &
"SET " & getSpaltenBezeichnung(laenderkuerzel) & "=@hp WHERE hp_refId=@hp_refId "
Using conn As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@hp", hp_content.hp_content)
cmd.Parameters.AddWithValue("@hp_refId", hp_content.hp_id)
Try
cmd.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
End Try
End Using
conn.Close()
End Using
Dim sql2 As String = " UPDATE menu_tags " &
"SET " & getSlogan(laenderkuerzel) & "=@slogan, " & getTitle(laenderkuerzel) & "=@title, menu_logo=@img WHERE id=@id "
Using conn As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand(sql2, conn)
cmd.Parameters.AddWithValue("@slogan", hp_content.hp_slogan)
cmd.Parameters.AddWithValue("@title", hp_content.hp_title)
cmd.Parameters.AddWithValue("@img", hp_content.hp_imgPath)
cmd.Parameters.AddWithValue("@id", hp_content.hp_id)
Try
cmd.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
End Try
End Using
conn.Close()
End Using
End Sub
Public Function getInstance(id As String) As Integer
Dim instance As Integer = -1
Try
Dim hp_content As New hp_content
Using con As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand
cmd.Connection = con
Dim sql As String = " SELECT instance FROM menu_tags WHERE id='" & id & "' "
cmd.CommandText = sql
Dim reader As MySqlDataReader = cmd.ExecuteReader
Try
'reader = cmd.ExecuteReader
If reader.HasRows Then
reader.Read()
instance = CInt(reader.Item("instance")) + 1
End If
reader.Close()
Catch ex As Exception
MsgBox("Fehler 03: " & ex.Message)
End Try
con.Close()
End Using
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return instance
End Function
Public Function insert_HPContentNew(hp_content As hp_content, laenderkuerzel As String, title As String, refId As String, instance As String) As Integer
Dim newID As Integer = -1
Dim sql As String = " INSERT INTO menu_tags ( " & getTitle(laenderkuerzel) & " , ref_id, instance) VALUES( @title,@refId,'" & (instance + 1) & "' ); SELECT LAST_INSERT_ID()" 'ON DUPLICATE KEY UPDATE hp_de = VALUES(@hp_de)"
'dedet_abt
Using conn As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@title", title)
cmd.Parameters.AddWithValue("@refId", refId)
Try
' cmd.ExecuteNonQuery()
newID = CInt(cmd.ExecuteScalar())
Catch ex As MySqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
End Try
End Using
conn.Close()
End Using
Dim sql2 As String = " INSERT INTO homepage_content (hp_refId) VALUES( @hp_refId) " 'ON DUPLICATE KEY UPDATE hp_de = VALUES(@hp_de)"
Using conn As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand(sql2, conn)
cmd.Parameters.AddWithValue("@hp_refId", newID)
Try
cmd.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
End Try
End Using
conn.Close()
End Using
Return newID
End Function
Public Sub deleteHpMenueAndContent(id)
Dim sql As String = " DELETE FROM menu_tags WHERE id=@id; DELETE FROM homepage_content WHERE hp_refId=@id " 'ON DUPLICATE KEY UPDATE hp_de = VALUES(@hp_de)"
'dedet_abt
Using conn As MySqlConnection = GetNewOpenConnection()
Using cmd As New MySqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@id", id)
Try
cmd.ExecuteNonQuery()
Catch ex As MySqlException
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
End Try
End Using
End Using
End Sub
End Class