TvSettingsNew
This commit is contained in:
139
Aviso/frmTvSettings.vb
Normal file
139
Aviso/frmTvSettings.vb
Normal file
@@ -0,0 +1,139 @@
|
||||
Imports System.Data.SqlClient
|
||||
Imports AVISO.frmEintragTvNew
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Partial Class frmTvSettings
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
Private standortID As Integer
|
||||
Private AvisoTvNewDAL As New cAvisoTvNewDAL()
|
||||
Private list As New List(Of cAvisoTvNew)()
|
||||
|
||||
Public Sub New(standortID As Integer)
|
||||
InitializeComponent()
|
||||
Me.standortID = standortID
|
||||
End Sub
|
||||
|
||||
' Ereignis-Handler für das Laden des Formulars
|
||||
Private Sub frmTvSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Try
|
||||
' Einstellungen aus der Datenbank laden
|
||||
Dim settingsList As List(Of cTvSettings) = AvisoTvNewDAL.GetTvSettingsByStandort(standortID)
|
||||
|
||||
' ComboBox initialisieren
|
||||
InitializeComboBox()
|
||||
|
||||
If settingsList IsNot Nothing AndAlso settingsList.Count > 0 Then
|
||||
Dim settings As cTvSettings = settingsList(0)
|
||||
numTileWidth.Value = If(settings.KachelWidthInPercent >= numTileWidth.Minimum AndAlso settings.KachelWidthInPercent <= numTileWidth.Maximum, CDec(settings.KachelWidthInPercent), 30)
|
||||
numTileHeight.Value = If(settings.KachelHeightInPercent >= numTileHeight.Minimum AndAlso settings.KachelHeightInPercent <= numTileHeight.Maximum, CDec(settings.KachelHeightInPercent), 30)
|
||||
numFontSizeLkwNummer.Value = If(settings.KachelFontSizeLkwNummer >= numFontSizeLkwNummer.Minimum AndAlso settings.KachelFontSizeLkwNummer <= numFontSizeLkwNummer.Maximum, CDec(settings.KachelFontSizeLkwNummer), 12)
|
||||
numFontSizeDateTime.Value = If(settings.KachelFontSizeDateTime >= numFontSizeDateTime.Minimum AndAlso settings.KachelFontSizeDateTime <= numFontSizeDateTime.Maximum, CDec(settings.KachelFontSizeDateTime), 12)
|
||||
numSeitenwechsel.Value = If(settings.SeitenwechselInSek >= numSeitenwechsel.Minimum AndAlso settings.SeitenwechselInSek <= numSeitenwechsel.Maximum, CDec(settings.SeitenwechselInSek), 30)
|
||||
numTextBalkenHeight.Value = If(settings.TextBalkenHeightInPercent >= numTextBalkenHeight.Minimum AndAlso settings.TextBalkenHeightInPercent <= numTextBalkenHeight.Maximum, CDec(settings.TextBalkenHeightInPercent), 30)
|
||||
numKachelRowGapInPercent.Value = If(settings.KachelRowGapInPercent >= numKachelRowGapInPercent.Minimum AndAlso settings.KachelRowGapInPercent <= numKachelRowGapInPercent.Maximum, CDec(settings.KachelRowGapInPercent), 15)
|
||||
|
||||
' Logo-Auswahl setzen
|
||||
cmbLogoSelection.SelectedValue = settings.SelectedLogoValue
|
||||
|
||||
' Überprüfen, ob die Auswahl erfolgreich war
|
||||
If cmbLogoSelection.SelectedValue Is Nothing Then
|
||||
' Wenn nicht, setze auf den ersten Eintrag
|
||||
cmbLogoSelection.SelectedIndex = 0
|
||||
End If
|
||||
Else
|
||||
' Standardwerte verwenden, falls keine Einstellungen vorhanden sind
|
||||
SetDefaultValues()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("Fehler beim Laden der Einstellungen: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
SetDefaultValues()
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
' Klasse für ComboBox-Elemente
|
||||
Public Class ComboBoxItem
|
||||
Public Property Display As String
|
||||
Public Property Value As String
|
||||
|
||||
Public Sub New(display As String, value As String)
|
||||
Me.Display = display
|
||||
Me.Value = value
|
||||
End Sub
|
||||
|
||||
Public Overrides Function ToString() As String
|
||||
Return Display
|
||||
End Function
|
||||
End Class
|
||||
|
||||
' Methode zur Initialisierung der ComboBox
|
||||
Private Sub InitializeComboBox()
|
||||
' Legen Sie die DisplayMember und ValueMember fest
|
||||
cmbLogoSelection.DisplayMember = "Display"
|
||||
cmbLogoSelection.ValueMember = "Value"
|
||||
|
||||
' Erstellen Sie eine Liste von ComboBoxItem-Objekten
|
||||
Dim logoItems As New List(Of ComboBoxItem) From {
|
||||
New ComboBoxItem("VERAG AG", "verag.png"),
|
||||
New ComboBoxItem("ATILLA", "atilla.png"),
|
||||
New ComboBoxItem("ATILLA TÜRKIYE", "atilla_turkiye.jpg"),
|
||||
New ComboBoxItem("FRONTOFFICE_SUBEN", "frontoffice_suben.jpg"),
|
||||
New ComboBoxItem("IMEX", "imex.png"),
|
||||
New ComboBoxItem("UNISPED", "unisped.jpg")
|
||||
}
|
||||
|
||||
' Binden Sie die Liste als DataSource
|
||||
cmbLogoSelection.DataSource = logoItems
|
||||
|
||||
' Optional: Setzen Sie die Standardauswahl
|
||||
If logoItems.Count > 0 Then
|
||||
cmbLogoSelection.SelectedIndex = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Methode zum Setzen der Standardwerte
|
||||
Private Sub SetDefaultValues()
|
||||
numTileWidth.Value = 30
|
||||
numTileHeight.Value = 30
|
||||
numFontSizeLkwNummer.Value = 12
|
||||
numFontSizeDateTime.Value = 12
|
||||
numSeitenwechsel.Value = 30
|
||||
numTextBalkenHeight.Value = 30
|
||||
numKachelRowGapInPercent.Value = 15
|
||||
|
||||
' Sicherstellen, dass die ComboBox initialisiert ist
|
||||
If cmbLogoSelection.Items.Count > 0 Then
|
||||
cmbLogoSelection.SelectedIndex = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Ereignis-Handler für den Speichern-Button
|
||||
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
||||
Try
|
||||
' Holen Sie sich das ausgewählte ComboBoxItem
|
||||
Dim selectedItem As ComboBoxItem = CType(cmbLogoSelection.SelectedItem, ComboBoxItem)
|
||||
Dim selectedValue As String = If(selectedItem IsNot Nothing, selectedItem.Value, String.Empty)
|
||||
|
||||
Dim settings As New cTvSettings() With {
|
||||
.StandortID = standortID,
|
||||
.KachelWidthInPercent = CDbl(numTileWidth.Value),
|
||||
.KachelHeightInPercent = CDbl(numTileHeight.Value),
|
||||
.KachelFontSizeLkwNummer = CDbl(numFontSizeLkwNummer.Value),
|
||||
.KachelFontSizeDateTime = CDbl(numFontSizeDateTime.Value),
|
||||
.SeitenwechselInSek = CDbl(numSeitenwechsel.Value),
|
||||
.TextBalkenHeightInPercent = CDbl(numTextBalkenHeight.Value),
|
||||
.KachelRowGapInPercent = CDbl(numKachelRowGapInPercent.Value),
|
||||
.SelectedLogoValue = selectedValue ' Stellen Sie sicher, dass diese Eigenschaft in cTvSettings existiert
|
||||
}
|
||||
|
||||
' Einstellungen in der Datenbank speichern
|
||||
AvisoTvNewDAL.SaveTvSettings(settings)
|
||||
|
||||
MessageBox.Show("Einstellungen wurden erfolgreich gespeichert!", "Erfolg", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
||||
Me.Close()
|
||||
Catch ex As Exception
|
||||
MessageBox.Show("Fehler beim Speichern der Einstellungen: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user