146 lines
7.2 KiB
VB.net
146 lines
7.2 KiB
VB.net
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)
|
|
numTextFlaggeBottom.Value = If(settings.TextFlaggeBottom >= numTextFlaggeBottom.Minimum AndAlso settings.TextFlaggeBottom <= numTextFlaggeBottom.Maximum, CDec(settings.TextFlaggeBottom), 15)
|
|
numTextFLaggeLeft.Value = If(settings.TextFlaggeLeft >= numTextFLaggeLeft.Minimum AndAlso settings.TextFlaggeLeft <= numTextFLaggeLeft.Maximum, CDec(settings.TextFlaggeLeft), 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
|
|
numTextFlaggeBottom.Value = 15
|
|
numTextFLaggeLeft.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),
|
|
.TextFlaggeBottom = CDbl(numTextFlaggeBottom.Value),
|
|
.TextFlaggeLeft = CDbl(numTextFLaggeLeft.Value),
|
|
.SelectedLogoValue = selectedValue
|
|
}
|
|
|
|
' 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
|