TvSettingsNew
This commit is contained in:
@@ -382,7 +382,7 @@
|
||||
<data name="passpic" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\passpic.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="house" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<data name="house" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\house.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="therefore" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
|
||||
@@ -3364,7 +3364,6 @@
|
||||
<EmbeddedResource Include="mdm\usrCntlMDMDatenverarbeitungAuswertungen_divers.resx">
|
||||
<DependentUpon>usrCntlMDMDatenverarbeitungAuswertungen_divers.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\licenses.licx" />
|
||||
<EmbeddedResource Include="OriginalArchiv_ATR\frmATR.resx">
|
||||
<DependentUpon>frmATR.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -196,6 +196,12 @@ Public Class cDatenbankAVISO
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Public Shared Function CreateNewOpenConnection() As SqlConnection
|
||||
Dim conn As New SqlConnection(cSqlDb.GetAVISOConnectionString())
|
||||
conn.Open()
|
||||
Return conn
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function GetNewOpenConnectionWithoutError(Optional newConn As Boolean = False) As SqlConnection
|
||||
Try
|
||||
@@ -2473,110 +2479,223 @@ Public Class cTvTextBezeichnung
|
||||
Public Property TvTextBezeichnung As String
|
||||
End Class
|
||||
|
||||
Public Class cTvSettings
|
||||
Public Property TVSettingID As Integer
|
||||
Public Property StandortID As Integer
|
||||
Public Property KachelWidthInPercent As Double?
|
||||
Public Property KachelHeightInPercent As Double?
|
||||
Public Property KachelFontSizeLkwNummer As Double?
|
||||
Public Property KachelFontSizeDateTime As Double?
|
||||
Public Property KachelRowGapInPercent As Double?
|
||||
Public Property SeitenwechselInSek As Integer?
|
||||
Public Property TextBalkenHeightInPercent As Double?
|
||||
Public Property SelectedLogoValue As String
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Public Class cAvisoTvNewDAL
|
||||
|
||||
''' <summary>
|
||||
''' Holt die StandortID basierend auf dem Standortnamen.
|
||||
''' </summary>
|
||||
''' <param name="standort">Der Name des Standorts.</param>
|
||||
''' <returns>Die zugehörige StandortID oder 0, wenn nicht gefunden.</returns>
|
||||
Public Function GetStandortID(standort As String) As Integer
|
||||
Dim standortID As Integer = 0
|
||||
Dim sql As String = "SELECT StandortID FROM StandorteTV WHERE Standort = @Standort"
|
||||
Dim sql As String = "SELECT StandortID FROM StandorteTV WHERE StandortBezeichnung = @StandortBezeichnung"
|
||||
|
||||
Try
|
||||
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@Standort", standort)
|
||||
Dim result As Object = cmd.ExecuteScalar()
|
||||
If result IsNot Nothing AndAlso Not IsDBNull(result) Then
|
||||
standortID = Convert.ToInt32(result)
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@StandortBezeichnung", standort)
|
||||
Dim result As Object = cmd.ExecuteScalar()
|
||||
If result IsNot Nothing AndAlso Not IsDBNull(result) Then
|
||||
standortID = Convert.ToInt32(result)
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
' Ausnahme weiterwerfen mit spezifischer Fehlermeldung
|
||||
Throw New Exception("SQL Fehler beim Abrufen der StandortID: " & ex.Message)
|
||||
Throw New Exception("SQL Fehler beim Abrufen der StandortID: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
' Allgemeine Ausnahme weiterwerfen
|
||||
Throw New Exception("Allgemeiner Fehler beim Abrufen der StandortID: " & ex.Message)
|
||||
Throw New Exception("Allgemeiner Fehler beim Abrufen der StandortID: " & ex.Message, ex)
|
||||
End Try
|
||||
|
||||
Return standortID
|
||||
End Function
|
||||
|
||||
Public Function LadenAlleTvTextBezeichnungen() As List(Of cTvTextBezeichnung)
|
||||
Dim bezeichnungen As New List(Of cTvTextBezeichnung)()
|
||||
''' <summary>
|
||||
''' Speichert die TV-Einstellungen in der Datenbank.
|
||||
''' </summary>
|
||||
''' <param name="settings">Die TV-Einstellungen, die gespeichert werden sollen.</param>
|
||||
Public Sub SaveTvSettings(settings As cTvSettings)
|
||||
Dim sqlCheck As String = "SELECT COUNT(*) FROM AvisoTvSettings WHERE StandortID = @StandortID"
|
||||
Dim sqlUpdate As String = "UPDATE AvisoTvSettings SET
|
||||
KachelWidthInPercent = @KachelWidthInPercent,
|
||||
KachelHeightInPercent = @KachelHeightInPercent,
|
||||
KachelFontSizeLkwNummer = @KachelFontSizeLkwNummer,
|
||||
KachelFontSizeDateTime = @KachelFontSizeDateTime,
|
||||
KachelRowGapInPercent = @KachelRowGapInPercent,
|
||||
SeitenwechselInSek = @SeitenwechselInSek,
|
||||
TextBalkenHeightInPercent = @TextBalkenHeightInPercent,
|
||||
Logo = @Logo
|
||||
WHERE StandortID = @StandortID"
|
||||
Dim sqlInsert As String = "INSERT INTO AvisoTvSettings
|
||||
(StandortID, KachelWidthInPercent, KachelHeightInPercent,KachelRowGapInPercent,
|
||||
KachelFontSizeLkwNummer, KachelFontSizeDateTime,
|
||||
SeitenwechselInSek, TextBalkenHeightInPercent,Logo)
|
||||
VALUES
|
||||
(@StandortID, @KachelWidthInPercent, @KachelHeightInPercent,@KachelRowGapInPercent,
|
||||
@KachelFontSizeLkwNummer, @KachelFontSizeDateTime,
|
||||
@SeitenwechselInSek, @TextBalkenHeightInPercent,@Logo)"
|
||||
|
||||
Try
|
||||
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
' Überprüfen, ob bereits Einstellungen für den Standort existieren
|
||||
Dim recordExists As Boolean
|
||||
Using cmdCheck As New SqlCommand(sqlCheck, conn)
|
||||
cmdCheck.Parameters.AddWithValue("@StandortID", settings.StandortID)
|
||||
recordExists = Convert.ToInt32(cmdCheck.ExecuteScalar()) > 0
|
||||
End Using
|
||||
|
||||
Dim sql As String = "
|
||||
' Wähle Update oder Insert basierend auf der Existenz
|
||||
Dim sql As String = If(recordExists, sqlUpdate, sqlInsert)
|
||||
|
||||
Using cmdSave As New SqlCommand(sql, conn)
|
||||
cmdSave.Parameters.AddWithValue("@StandortID", settings.StandortID)
|
||||
cmdSave.Parameters.AddWithValue("@KachelWidthInPercent", settings.KachelWidthInPercent)
|
||||
cmdSave.Parameters.AddWithValue("@KachelHeightInPercent", settings.KachelHeightInPercent)
|
||||
cmdSave.Parameters.AddWithValue("@KachelRowGapInPercent", settings.KachelRowGapInPercent)
|
||||
cmdSave.Parameters.AddWithValue("@KachelFontSizeLkwNummer", settings.KachelFontSizeLkwNummer)
|
||||
cmdSave.Parameters.AddWithValue("@KachelFontSizeDateTime", settings.KachelFontSizeDateTime)
|
||||
cmdSave.Parameters.AddWithValue("@SeitenwechselInSek", settings.SeitenwechselInSek)
|
||||
cmdSave.Parameters.AddWithValue("@TextBalkenHeightInPercent", settings.TextBalkenHeightInPercent)
|
||||
cmdSave.Parameters.AddWithValue("@Logo", settings.SelectedLogoValue)
|
||||
cmdSave.ExecuteNonQuery()
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
Throw New Exception("SQL Fehler beim Speichern der TV-Einstellungen: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
Throw New Exception("Allgemeiner Fehler beim Speichern der TV-Einstellungen: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Lädt die TV-Einstellungen basierend auf der StandortID.
|
||||
''' </summary>
|
||||
''' <param name="standortID">Die StandortID, für die die Einstellungen geladen werden sollen.</param>
|
||||
''' <returns>Eine Liste der entsprechenden TV-Einstellungen.</returns>
|
||||
Public Function GetTvSettingsByStandort(standortID As Integer) As List(Of cTvSettings)
|
||||
Dim SettingsList As New List(Of cTvSettings)()
|
||||
Dim sql As String = "SELECT * FROM AvisoTvSettings WHERE StandortID = @StandortID"
|
||||
|
||||
Try
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@StandortID", standortID)
|
||||
|
||||
Using dr As SqlDataReader = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim settings As New cTvSettings() With {
|
||||
.TVSettingID = Convert.ToInt32(dr("TvSettingID")),
|
||||
.StandortID = Convert.ToInt32(dr("StandortID")),
|
||||
.KachelWidthInPercent = If(IsDBNull(dr("KachelWidthInPercent")), 0, Convert.ToDouble(dr("KachelWidthInPercent"))),
|
||||
.KachelHeightInPercent = If(IsDBNull(dr("KachelHeightInPercent")), 0, Convert.ToDouble(dr("KachelHeightInPercent"))),
|
||||
.KachelRowGapInPercent = If(IsDBNull(dr("KachelRowGapInPercent")), 0, Convert.ToDouble(dr("KachelRowGapInPercent"))),
|
||||
.KachelFontSizeLkwNummer = If(IsDBNull(dr("KachelFontSizeLkwNummer")), 0, Convert.ToDouble(dr("KachelFontSizeLkwNummer"))),
|
||||
.KachelFontSizeDateTime = If(IsDBNull(dr("KachelFontSizeDateTime")), 0, Convert.ToDouble(dr("KachelFontSizeDateTime"))),
|
||||
.SeitenwechselInSek = If(IsDBNull(dr("SeitenwechselInSek")), 0, Convert.ToInt32(dr("SeitenwechselInSek"))),
|
||||
.TextBalkenHeightInPercent = If(IsDBNull(dr("TextBalkenHeightInPercent")), 0, Convert.ToDouble(dr("TextBalkenHeightInPercent"))),
|
||||
.SelectedLogoValue = If(IsDBNull(dr("Logo")), "", Convert.ToString(dr("Logo")))
|
||||
}
|
||||
|
||||
SettingsList.Add(settings)
|
||||
End While
|
||||
End Using
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
Throw New Exception("SQL Fehler beim Laden der TV-Einstellungen: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
Throw New Exception("Allgemeiner Fehler beim Laden der TV-Einstellungen: " & ex.Message, ex)
|
||||
End Try
|
||||
|
||||
Return SettingsList
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Lädt alle TV-Textbezeichnungen aus der Datenbank.
|
||||
''' </summary>
|
||||
''' <returns>Eine Liste aller TV-Textbezeichnungen.</returns>
|
||||
Public Function LadenAlleTvTextBezeichnungen() As List(Of cTvTextBezeichnung)
|
||||
Dim bezeichnungen As New List(Of cTvTextBezeichnung)()
|
||||
Dim sql As String = "
|
||||
SELECT TvTextBezeichnungID, TvTextBezeichnung
|
||||
FROM AvisoTvNew
|
||||
ORDER BY TvTextBezeichnung
|
||||
"
|
||||
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
Using dr As SqlDataReader = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim bezeichnung As New cTvTextBezeichnung() With {
|
||||
.TvTextBezeichnungID = Convert.ToInt32(dr("TvTextBezeichnungID")),
|
||||
.TvTextBezeichnung = Convert.ToString(dr("TvTextBezeichnung"))
|
||||
}
|
||||
bezeichnungen.Add(bezeichnung)
|
||||
End While
|
||||
Try
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
Using dr As SqlDataReader = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim bezeichnung As New cTvTextBezeichnung() With {
|
||||
.TvTextBezeichnungID = Convert.ToInt32(dr("TvTextBezeichnungID")),
|
||||
.TvTextBezeichnung = Convert.ToString(dr("TvTextBezeichnung"))
|
||||
}
|
||||
bezeichnungen.Add(bezeichnung)
|
||||
End While
|
||||
End Using
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
Throw New Exception("SQL Fehler beim Laden der TvTextBezeichnungen: " & ex.Message)
|
||||
Throw New Exception("SQL Fehler beim Laden der TvTextBezeichnungen: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
Throw New Exception("Allgemeiner Fehler beim Laden der TvTextBezeichnungen: " & ex.Message)
|
||||
Throw New Exception("Allgemeiner Fehler beim Laden der TvTextBezeichnungen: " & ex.Message, ex)
|
||||
End Try
|
||||
|
||||
Return bezeichnungen
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
' Methode zum Überprüfen, ob eine TvTextBezeichnung bereits für einen Standort existiert
|
||||
''' <summary>
|
||||
''' Überprüft, ob eine TV-Textbezeichnung bereits vorhanden ist.
|
||||
''' </summary>
|
||||
''' <param name="tvTextBezeichnung">Die TV-Textbezeichnung, die überprüft werden soll.</param>
|
||||
''' <returns>True, wenn die Bezeichnung vorhanden ist; andernfalls False.</returns>
|
||||
Public Function IstTvTextBezeichnungVorhanden(tvTextBezeichnung As String) As Boolean
|
||||
Dim vorhanden As Boolean = False
|
||||
Dim sql As String = "SELECT COUNT(*)
|
||||
FROM AvisoTvNew
|
||||
WHERE TvTextBezeichnung = @TvTextBezeichnung"
|
||||
Dim sql As String = "SELECT COUNT(*) FROM AvisoTvNew WHERE TvTextBezeichnung = @TvTextBezeichnung"
|
||||
|
||||
Try
|
||||
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnung", tvTextBezeichnung)
|
||||
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
|
||||
If count > 0 Then
|
||||
vorhanden = True
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnung", tvTextBezeichnung)
|
||||
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
|
||||
If count > 0 Then
|
||||
vorhanden = True
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
' Ausnahme weiterwerfen mit spezifischer Fehlermeldung
|
||||
Throw New Exception("SQL Fehler beim Überprüfen der TvTextBezeichnung: " & ex.Message)
|
||||
Throw New Exception("SQL Fehler beim Überprüfen der TvTextBezeichnung: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
' Allgemeine Ausnahme weiterwerfen
|
||||
Throw New Exception("Allgemeiner Fehler beim Überprüfen der TvTextBezeichnung: " & ex.Message)
|
||||
Throw New Exception("Allgemeiner Fehler beim Überprüfen der TvTextBezeichnung: " & ex.Message, ex)
|
||||
End Try
|
||||
|
||||
Return vorhanden
|
||||
End Function
|
||||
|
||||
' Methode zum Lesen von AvisoTvNew-Einträgen
|
||||
|
||||
Public Sub LesenAvisoTvNew(tvid As Integer, bezeichnung As String, standort As String, ByRef liste As List(Of cAvisoTvNew))
|
||||
''' <summary>
|
||||
''' Liest AvisoTvNew-Einträge basierend auf den angegebenen Kriterien.
|
||||
''' </summary>
|
||||
''' <param name="tvid">Die TV-TextbezeichnungID.</param>
|
||||
''' <param name="bezeichnung">Die Bezeichnung.</param>
|
||||
''' <param name="standort">Der Standort.</param>
|
||||
''' <param name="liste">Die Liste, in die die Ergebnisse eingefügt werden.</param>
|
||||
Public Sub LesenAvisoTvNew(tvid As Integer, bezeichnung As String, StandortBezeichnung As String, ByRef liste As List(Of cAvisoTvNew))
|
||||
Dim sql As String = "SELECT
|
||||
stv.TvTextBezeichnungID,
|
||||
stv.StandortID,
|
||||
@@ -2613,69 +2732,67 @@ Public Class cAvisoTvNewDAL
|
||||
sql &= " AND a.TVTextBezeichnung LIKE @TVTextBezeichnung"
|
||||
End If
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(standort) Then
|
||||
sql &= " AND s.Standort = @Standort"
|
||||
If Not String.IsNullOrWhiteSpace(StandortBezeichnung) Then
|
||||
sql &= " AND s.Standortbezeichnung = @StandortBezeichnung"
|
||||
End If
|
||||
|
||||
Try
|
||||
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
If tvid <> 0 Then
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnungID", tvid)
|
||||
End If
|
||||
|
||||
Dim cmd As New SqlCommand(sql, conn)
|
||||
If tvid <> 0 Then
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnungID", tvid)
|
||||
End If
|
||||
If Not String.IsNullOrWhiteSpace(bezeichnung) Then
|
||||
cmd.Parameters.AddWithValue("@TVTextBezeichnung", "%" & bezeichnung & "%")
|
||||
End If
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(bezeichnung) Then
|
||||
cmd.Parameters.AddWithValue("@TVTextBezeichnung", "%" & bezeichnung & "%")
|
||||
End If
|
||||
If Not String.IsNullOrWhiteSpace(StandortBezeichnung) Then
|
||||
cmd.Parameters.AddWithValue("@StandortBezeichnung", StandortBezeichnung)
|
||||
End If
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(standort) Then
|
||||
cmd.Parameters.AddWithValue("@Standort", standort)
|
||||
End If
|
||||
|
||||
Dim dr As SqlDataReader = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim aviso As New cAvisoTvNew() With {
|
||||
.TvTextBezeichnungID = Convert.ToInt32(dr("TvTextBezeichnungID")),
|
||||
.StandortID = Convert.ToInt32(dr("StandortID")),
|
||||
.TvTextBezeichnung = Convert.ToString(dr("TVTextBezeichnung")),
|
||||
.Standort = Convert.ToString(dr("Standort")),
|
||||
.Position = If(IsDBNull(dr("Position")), Nothing, Convert.ToString(dr("Position"))),
|
||||
.FixeZeile1RTF = If(IsDBNull(dr("FixeZeile1RTF")), Nothing, Convert.ToString(dr("FixeZeile1RTF"))),
|
||||
.FixeZeile2RTF = If(IsDBNull(dr("FixeZeile2RTF")), Nothing, Convert.ToString(dr("FixeZeile2RTF"))),
|
||||
.FixeZeile3RTF = If(IsDBNull(dr("FixeZeile3RTF")), Nothing, Convert.ToString(dr("FixeZeile3RTF"))),
|
||||
.Art = If(IsDBNull(dr("Art")), Nothing, Convert.ToString(dr("Art"))),
|
||||
.StartDate = If(IsDBNull(dr("StartDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("StartDate"))),
|
||||
.EndDate = If(IsDBNull(dr("EndDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("EndDate"))),
|
||||
.StartTime = If(IsDBNull(dr("StartTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("StartTime")).TimeOfDay),
|
||||
.EndTime = If(IsDBNull(dr("EndTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("EndTime")).TimeOfDay),
|
||||
.IsRecurring = If(IsDBNull(dr("IsRecurring")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsRecurring"))),
|
||||
.IsMonday = If(IsDBNull(dr("IsMonday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsMonday"))),
|
||||
.IsTuesday = If(IsDBNull(dr("IsTuesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsTuesday"))),
|
||||
.IsWednesday = If(IsDBNull(dr("IsWednesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsWednesday"))),
|
||||
.IsThursday = If(IsDBNull(dr("IsThursday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsThursday"))),
|
||||
.IsFriday = If(IsDBNull(dr("IsFriday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsFriday"))),
|
||||
.IsSaturday = If(IsDBNull(dr("IsSaturday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSaturday"))),
|
||||
.IsSunday = If(IsDBNull(dr("IsSunday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSunday"))),
|
||||
.IsActive = Convert.ToBoolean(dr("IsActive"))
|
||||
}
|
||||
liste.Add(aviso)
|
||||
End While
|
||||
dr.Close()
|
||||
cmd.Dispose()
|
||||
conn.Close()
|
||||
Using dr As SqlDataReader = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim aviso As New cAvisoTvNew() With {
|
||||
.TvTextBezeichnungID = Convert.ToInt32(dr("TvTextBezeichnungID")),
|
||||
.StandortID = Convert.ToInt32(dr("StandortID")),
|
||||
.TvTextBezeichnung = Convert.ToString(dr("TVTextBezeichnung")),
|
||||
.Standort = Convert.ToString(dr("Standort")),
|
||||
.Position = If(IsDBNull(dr("Position")), Nothing, Convert.ToString(dr("Position"))),
|
||||
.FixeZeile1RTF = If(IsDBNull(dr("FixeZeile1RTF")), Nothing, Convert.ToString(dr("FixeZeile1RTF"))),
|
||||
.FixeZeile2RTF = If(IsDBNull(dr("FixeZeile2RTF")), Nothing, Convert.ToString(dr("FixeZeile2RTF"))),
|
||||
.FixeZeile3RTF = If(IsDBNull(dr("FixeZeile3RTF")), Nothing, Convert.ToString(dr("FixeZeile3RTF"))),
|
||||
.Art = If(IsDBNull(dr("Art")), Nothing, Convert.ToString(dr("Art"))),
|
||||
.StartDate = If(IsDBNull(dr("StartDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("StartDate"))),
|
||||
.EndDate = If(IsDBNull(dr("EndDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("EndDate"))),
|
||||
.StartTime = If(IsDBNull(dr("StartTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("StartTime")).TimeOfDay),
|
||||
.EndTime = If(IsDBNull(dr("EndTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("EndTime")).TimeOfDay),
|
||||
.IsRecurring = If(IsDBNull(dr("IsRecurring")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsRecurring"))),
|
||||
.IsMonday = If(IsDBNull(dr("IsMonday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsMonday"))),
|
||||
.IsTuesday = If(IsDBNull(dr("IsTuesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsTuesday"))),
|
||||
.IsWednesday = If(IsDBNull(dr("IsWednesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsWednesday"))),
|
||||
.IsThursday = If(IsDBNull(dr("IsThursday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsThursday"))),
|
||||
.IsFriday = If(IsDBNull(dr("IsFriday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsFriday"))),
|
||||
.IsSaturday = If(IsDBNull(dr("IsSaturday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSaturday"))),
|
||||
.IsSunday = If(IsDBNull(dr("IsSunday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSunday"))),
|
||||
.IsActive = Convert.ToBoolean(dr("IsActive"))
|
||||
}
|
||||
liste.Add(aviso)
|
||||
End While
|
||||
End Using
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
' Ausnahme weiterwerfen mit spezifischer Fehlermeldung
|
||||
Throw New Exception("SQL Fehler beim Lesen der Daten: " & ex.Message)
|
||||
Throw New Exception("SQL Fehler beim Lesen der Daten: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
' Allgemeine Ausnahme weiterwerfen
|
||||
Throw New Exception("Allgemeiner Fehler beim Lesen der Daten: " & ex.Message)
|
||||
Throw New Exception("Allgemeiner Fehler beim Lesen der Daten: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Liest alle AvisoTvNew-Einträge aus der Datenbank.
|
||||
''' </summary>
|
||||
''' <param name="liste">Die Liste, in die die Ergebnisse eingefügt werden.</param>
|
||||
Public Sub LesenAlleAvisoTvNew(ByRef liste As List(Of cAvisoTvNew))
|
||||
' Basis-SQL-Abfrage ohne Filter
|
||||
Dim sql As String = "SELECT
|
||||
@@ -2700,288 +2817,251 @@ Public Class cAvisoTvNewDAL
|
||||
a.IsActive
|
||||
FROM AvisoTvNew a"
|
||||
|
||||
Dim conn As SqlConnection = Nothing
|
||||
Dim cmd As SqlCommand = Nothing
|
||||
Dim dr As SqlDataReader = Nothing
|
||||
|
||||
Try
|
||||
conn = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
' Keine Parameter erforderlich, da keine Filter
|
||||
|
||||
cmd = New SqlCommand(sql, conn)
|
||||
Using dr As SqlDataReader = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim aviso As New cAvisoTvNew() With {
|
||||
.TvTextBezeichnungID = If(IsDBNull(dr("TvTextBezeichnungID")), 0, Convert.ToInt32(dr("TvTextBezeichnungID"))),
|
||||
.TvTextBezeichnung = If(IsDBNull(dr("TvTextBezeichnung")), String.Empty, dr("TvTextBezeichnung").ToString()),
|
||||
.FixeZeile1RTF = If(IsDBNull(dr("FixeZeile1RTF")), Nothing, dr("FixeZeile1RTF").ToString()),
|
||||
.FixeZeile2RTF = If(IsDBNull(dr("FixeZeile2RTF")), Nothing, dr("FixeZeile2RTF").ToString()),
|
||||
.FixeZeile3RTF = If(IsDBNull(dr("FixeZeile3RTF")), Nothing, dr("FixeZeile3RTF").ToString()),
|
||||
.Art = If(IsDBNull(dr("Art")), Nothing, dr("Art").ToString()),
|
||||
.StartDate = If(IsDBNull(dr("StartDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("StartDate"))),
|
||||
.EndDate = If(IsDBNull(dr("EndDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("EndDate"))),
|
||||
.StartTime = If(IsDBNull(dr("StartTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("StartTime")).TimeOfDay),
|
||||
.EndTime = If(IsDBNull(dr("EndTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("EndTime")).TimeOfDay),
|
||||
.IsRecurring = If(IsDBNull(dr("IsRecurring")), False, Convert.ToBoolean(dr("IsRecurring"))),
|
||||
.IsMonday = If(IsDBNull(dr("IsMonday")), False, Convert.ToBoolean(dr("IsMonday"))),
|
||||
.IsTuesday = If(IsDBNull(dr("IsTuesday")), False, Convert.ToBoolean(dr("IsTuesday"))),
|
||||
.IsWednesday = If(IsDBNull(dr("IsWednesday")), False, Convert.ToBoolean(dr("IsWednesday"))),
|
||||
.IsThursday = If(IsDBNull(dr("IsThursday")), False, Convert.ToBoolean(dr("IsThursday"))),
|
||||
.IsFriday = If(IsDBNull(dr("IsFriday")), False, Convert.ToBoolean(dr("IsFriday"))),
|
||||
.IsSaturday = If(IsDBNull(dr("IsSaturday")), False, Convert.ToBoolean(dr("IsSaturday"))),
|
||||
.IsSunday = If(IsDBNull(dr("IsSunday")), False, Convert.ToBoolean(dr("IsSunday"))),
|
||||
.IsActive = If(IsDBNull(dr("IsActive")), False, Convert.ToBoolean(dr("IsActive")))
|
||||
}
|
||||
|
||||
' Keine Parameter erforderlich, da keine Filter
|
||||
|
||||
' Daten lesen und Objekte erstellen
|
||||
dr = cmd.ExecuteReader()
|
||||
While dr.Read()
|
||||
Dim aviso As New cAvisoTvNew() With {
|
||||
.TvTextBezeichnungID = If(IsDBNull(dr("TvTextBezeichnungID")), 0, Convert.ToInt32(dr("TvTextBezeichnungID"))),
|
||||
.TvTextBezeichnung = If(IsDBNull(dr("TvTextBezeichnung")), String.Empty, dr("TvTextBezeichnung").ToString()),
|
||||
.FixeZeile1RTF = If(IsDBNull(dr("FixeZeile1RTF")), Nothing, dr("FixeZeile1RTF").ToString()),
|
||||
.FixeZeile2RTF = If(IsDBNull(dr("FixeZeile2RTF")), Nothing, dr("FixeZeile2RTF").ToString()),
|
||||
.FixeZeile3RTF = If(IsDBNull(dr("FixeZeile3RTF")), Nothing, dr("FixeZeile3RTF").ToString()),
|
||||
.Art = If(IsDBNull(dr("Art")), Nothing, dr("Art").ToString()),
|
||||
.StartDate = If(IsDBNull(dr("StartDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("StartDate"))),
|
||||
.EndDate = If(IsDBNull(dr("EndDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("EndDate"))),
|
||||
.StartTime = If(IsDBNull(dr("StartTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("StartTime")).TimeOfDay),
|
||||
.EndTime = If(IsDBNull(dr("EndTime")), CType(Nothing, TimeSpan?), Convert.ToDateTime(dr("EndTime")).TimeOfDay),
|
||||
.IsRecurring = If(IsDBNull(dr("IsRecurring")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsRecurring"))),
|
||||
.IsMonday = If(IsDBNull(dr("IsMonday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsMonday"))),
|
||||
.IsTuesday = If(IsDBNull(dr("IsTuesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsTuesday"))),
|
||||
.IsWednesday = If(IsDBNull(dr("IsWednesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsWednesday"))),
|
||||
.IsThursday = If(IsDBNull(dr("IsThursday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsThursday"))),
|
||||
.IsFriday = If(IsDBNull(dr("IsFriday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsFriday"))),
|
||||
.IsSaturday = If(IsDBNull(dr("IsSaturday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSaturday"))),
|
||||
.IsSunday = If(IsDBNull(dr("IsSunday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSunday"))),
|
||||
.IsActive = If(IsDBNull(dr("IsActive")), False, Convert.ToBoolean(dr("IsActive")))
|
||||
}
|
||||
|
||||
liste.Add(aviso)
|
||||
End While
|
||||
dr.Close()
|
||||
cmd.Dispose()
|
||||
conn.Close()
|
||||
liste.Add(aviso)
|
||||
End While
|
||||
End Using
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
' Ausnahme weiterwerfen mit spezifischer Fehlermeldung
|
||||
Throw New Exception($"SQL Fehler beim Lesen der Daten: {ex.Message}")
|
||||
Throw New Exception($"SQL Fehler beim Lesen der Daten: {ex.Message}", ex)
|
||||
Catch ex As Exception
|
||||
' Allgemeine Ausnahme weiterwerfen
|
||||
Throw New Exception($"Allgemeiner Fehler beim Lesen der Daten: {ex.Message}")
|
||||
Throw New Exception($"Allgemeiner Fehler beim Lesen der Daten: {ex.Message}", ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
' Methode zum Speichern von AvisoTvNew-Einträgen
|
||||
''' <summary>
|
||||
''' Speichert einen AvisoTvNew-Eintrag in der Datenbank.
|
||||
''' </summary>
|
||||
''' <param name="aviso">Der AvisoTvNew-Eintrag, der gespeichert werden soll.</param>
|
||||
Public Sub SpeichernAvisoTvNew(aviso As cAvisoTvNew)
|
||||
Dim conn As SqlConnection = Nothing
|
||||
Dim cmd As SqlCommand = Nothing
|
||||
Dim cmdLink As SqlCommand = Nothing
|
||||
Dim transaction As SqlTransaction = Nothing
|
||||
Dim sqlInsert As String
|
||||
Dim sqlUpdate As String
|
||||
|
||||
Try
|
||||
conn = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using transaction As SqlTransaction = conn.BeginTransaction()
|
||||
Try
|
||||
If aviso.TvTextBezeichnungID = 0 Then
|
||||
' Neuanlage
|
||||
sqlInsert = "INSERT INTO AvisoTvNew (
|
||||
TvTextBezeichnung,
|
||||
FixeZeile1RTF,
|
||||
FixeZeile1HTML,
|
||||
FixeZeile2RTF,
|
||||
FixeZeile2HTML,
|
||||
FixeZeile3RTF,
|
||||
FixeZeile3HTML,
|
||||
StartDate,
|
||||
EndDate,
|
||||
StartTime,
|
||||
EndTime,
|
||||
IsRecurring,
|
||||
IsMonday,
|
||||
IsTuesday,
|
||||
IsWednesday,
|
||||
IsThursday,
|
||||
IsFriday,
|
||||
IsSaturday,
|
||||
IsSunday,
|
||||
IsActive
|
||||
) VALUES (
|
||||
@TvTextBezeichnung,
|
||||
@FixeZeile1RTF,
|
||||
@FixeZeile1HTML,
|
||||
@FixeZeile2RTF,
|
||||
@FixeZeile2HTML,
|
||||
@FixeZeile3RTF,
|
||||
@FixeZeile3HTML,
|
||||
@StartDate,
|
||||
@EndDate,
|
||||
@StartTime,
|
||||
@EndTime,
|
||||
@IsRecurring,
|
||||
@IsMonday,
|
||||
@IsTuesday,
|
||||
@IsWednesday,
|
||||
@IsThursday,
|
||||
@IsFriday,
|
||||
@IsSaturday,
|
||||
@IsSunday,
|
||||
@IsActive
|
||||
);
|
||||
SELECT CAST(scope_identity() AS int);"
|
||||
|
||||
' Beginnen einer Transaktion, um Konsistenz zu gewährleisten
|
||||
transaction = conn.BeginTransaction()
|
||||
Using cmd As New SqlCommand(sqlInsert, conn, transaction)
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnung", aviso.TvTextBezeichnung)
|
||||
cmd.Parameters.AddWithValue("@FixeZeile1RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1RTF), CType(Nothing, String), aviso.FixeZeile1RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile1HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1HTML), CType(Nothing, String), aviso.FixeZeile1HTML))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile2RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2RTF), DBNull.Value, aviso.FixeZeile2RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile2HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2HTML), DBNull.Value, aviso.FixeZeile2HTML))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile3RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3RTF), DBNull.Value, aviso.FixeZeile3RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile3HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3HTML), DBNull.Value, aviso.FixeZeile3HTML))
|
||||
cmd.Parameters.AddWithValue("@StartDate", If(aviso.StartDate.HasValue, CType(aviso.StartDate.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@EndDate", If(aviso.EndDate.HasValue, CType(aviso.EndDate.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@StartTime", If(aviso.StartTime.HasValue, CType(aviso.StartTime.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@EndTime", If(aviso.EndTime.HasValue, CType(aviso.EndTime.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@IsRecurring", aviso.IsRecurring)
|
||||
cmd.Parameters.AddWithValue("@IsMonday", aviso.IsMonday)
|
||||
cmd.Parameters.AddWithValue("@IsTuesday", aviso.IsTuesday)
|
||||
cmd.Parameters.AddWithValue("@IsWednesday", aviso.IsWednesday)
|
||||
cmd.Parameters.AddWithValue("@IsThursday", aviso.IsThursday)
|
||||
cmd.Parameters.AddWithValue("@IsFriday", aviso.IsFriday)
|
||||
cmd.Parameters.AddWithValue("@IsSaturday", aviso.IsSaturday)
|
||||
cmd.Parameters.AddWithValue("@IsSunday", aviso.IsSunday)
|
||||
cmd.Parameters.AddWithValue("@IsActive", aviso.IsActive)
|
||||
|
||||
Dim sql As String
|
||||
Dim result As Object = cmd.ExecuteScalar()
|
||||
If result Is Nothing OrElse IsDBNull(result) Then
|
||||
Throw New Exception("Das INSERT hat keine ID zurückgegeben.")
|
||||
End If
|
||||
aviso.TvTextBezeichnungID = Convert.ToInt32(result)
|
||||
End Using
|
||||
Else
|
||||
' Aktualisierung
|
||||
sqlUpdate = "UPDATE AvisoTvNew SET
|
||||
FixeZeile1RTF = @FixeZeile1RTF,
|
||||
FixeZeile1HTML = @FixeZeile1HTML,
|
||||
FixeZeile2RTF = @FixeZeile2RTF,
|
||||
FixeZeile2HTML = @FixeZeile2HTML,
|
||||
FixeZeile3RTF = @FixeZeile3RTF,
|
||||
FixeZeile3HTML = @FixeZeile3HTML,
|
||||
StartDate = @StartDate,
|
||||
EndDate = @EndDate,
|
||||
StartTime = @StartTime,
|
||||
EndTime = @EndTime,
|
||||
IsRecurring = @IsRecurring,
|
||||
IsMonday = @IsMonday,
|
||||
IsTuesday = @IsTuesday,
|
||||
IsWednesday = @IsWednesday,
|
||||
IsThursday = @IsThursday,
|
||||
IsFriday = @IsFriday,
|
||||
IsSaturday = @IsSaturday,
|
||||
IsSunday = @IsSunday,
|
||||
IsActive = @IsActive
|
||||
WHERE TvTextBezeichnungID = @TvTextBezeichnungID"
|
||||
|
||||
If aviso.TvTextBezeichnungID = 0 Then
|
||||
' Neuanlage
|
||||
sql = "INSERT INTO AvisoTvNew (
|
||||
TvTextBezeichnung,
|
||||
FixeZeile1RTF,
|
||||
FixeZeile1HTML,
|
||||
FixeZeile2RTF,
|
||||
FixeZeile2HTML,
|
||||
FixeZeile3RTF,
|
||||
FixeZeile3HTML,
|
||||
StartDate,
|
||||
EndDate,
|
||||
StartTime,
|
||||
EndTime,
|
||||
IsRecurring,
|
||||
IsMonday,
|
||||
IsTuesday,
|
||||
IsWednesday,
|
||||
IsThursday,
|
||||
IsFriday,
|
||||
IsSaturday,
|
||||
IsSunday,
|
||||
IsActive
|
||||
) VALUES (
|
||||
@TvTextBezeichnung,
|
||||
@FixeZeile1RTF,
|
||||
@FixeZeile1HTML,
|
||||
@FixeZeile2RTF,
|
||||
@FixeZeile2HTML,
|
||||
@FixeZeile3RTF,
|
||||
@FixeZeile3HTML,
|
||||
@StartDate,
|
||||
@EndDate,
|
||||
@StartTime,
|
||||
@EndTime,
|
||||
@IsRecurring,
|
||||
@IsMonday,
|
||||
@IsTuesday,
|
||||
@IsWednesday,
|
||||
@IsThursday,
|
||||
@IsFriday,
|
||||
@IsSaturday,
|
||||
@IsSunday,
|
||||
@IsActive
|
||||
);
|
||||
SELECT CAST(scope_identity() AS int);"
|
||||
Else
|
||||
' Aktualisierung
|
||||
sql = "UPDATE AvisoTvNew SET
|
||||
FixeZeile1RTF = @FixeZeile1RTF,
|
||||
FixeZeile1HTML = @FixeZeile1HTML,
|
||||
FixeZeile2RTF = @FixeZeile2RTF,
|
||||
FixeZeile2HTML = @FixeZeile2HTML,
|
||||
FixeZeile3RTF = @FixeZeile3RTF,
|
||||
FixeZeile3HTML = @FixeZeile3HTML,
|
||||
StartDate = @StartDate,
|
||||
EndDate = @EndDate,
|
||||
StartTime = @StartTime,
|
||||
EndTime = @EndTime,
|
||||
IsRecurring = @IsRecurring,
|
||||
IsMonday = @IsMonday,
|
||||
IsTuesday = @IsTuesday,
|
||||
IsWednesday = @IsWednesday,
|
||||
IsThursday = @IsThursday,
|
||||
IsFriday = @IsFriday,
|
||||
IsSaturday = @IsSaturday,
|
||||
IsSunday = @IsSunday,
|
||||
IsActive = @IsActive
|
||||
WHERE TvTextBezeichnungID = @TvTextBezeichnungID"
|
||||
End If
|
||||
Using cmd As New SqlCommand(sqlUpdate, conn, transaction)
|
||||
cmd.Parameters.AddWithValue("@FixeZeile1RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1RTF), CType(Nothing, String), aviso.FixeZeile1RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile1HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1HTML), CType(Nothing, String), aviso.FixeZeile1HTML))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile2RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2RTF), DBNull.Value, aviso.FixeZeile2RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile2HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2HTML), DBNull.Value, aviso.FixeZeile2HTML))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile3RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3RTF), DBNull.Value, aviso.FixeZeile3RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile3HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3HTML), DBNull.Value, aviso.FixeZeile3HTML))
|
||||
cmd.Parameters.AddWithValue("@StartDate", If(aviso.StartDate.HasValue, CType(aviso.StartDate.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@EndDate", If(aviso.EndDate.HasValue, CType(aviso.EndDate.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@StartTime", If(aviso.StartTime.HasValue, CType(aviso.StartTime.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@EndTime", If(aviso.EndTime.HasValue, CType(aviso.EndTime.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@IsRecurring", aviso.IsRecurring)
|
||||
cmd.Parameters.AddWithValue("@IsMonday", aviso.IsMonday)
|
||||
cmd.Parameters.AddWithValue("@IsTuesday", aviso.IsTuesday)
|
||||
cmd.Parameters.AddWithValue("@IsWednesday", aviso.IsWednesday)
|
||||
cmd.Parameters.AddWithValue("@IsThursday", aviso.IsThursday)
|
||||
cmd.Parameters.AddWithValue("@IsFriday", aviso.IsFriday)
|
||||
cmd.Parameters.AddWithValue("@IsSaturday", aviso.IsSaturday)
|
||||
cmd.Parameters.AddWithValue("@IsSunday", aviso.IsSunday)
|
||||
cmd.Parameters.AddWithValue("@IsActive", aviso.IsActive)
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnungID", aviso.TvTextBezeichnungID)
|
||||
|
||||
cmd = New SqlCommand(sql, conn, transaction)
|
||||
cmd.ExecuteNonQuery()
|
||||
End Using
|
||||
End If
|
||||
|
||||
cmd.Parameters.AddWithValue("@FixeZeile1RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1RTF), CType(Nothing, String), aviso.FixeZeile1RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile1HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1HTML), CType(Nothing, String), aviso.FixeZeile1HTML))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile2RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2RTF), DBNull.Value, aviso.FixeZeile2RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile2HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2HTML), DBNull.Value, aviso.FixeZeile2HTML))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile3RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3RTF), DBNull.Value, aviso.FixeZeile3RTF))
|
||||
cmd.Parameters.AddWithValue("@FixeZeile3HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3HTML), DBNull.Value, aviso.FixeZeile3HTML))
|
||||
cmd.Parameters.AddWithValue("@StartDate", If(aviso.StartDate.HasValue, CType(aviso.StartDate.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@EndDate", If(aviso.EndDate.HasValue, CType(aviso.EndDate.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@StartTime", If(aviso.StartTime.HasValue, CType(aviso.StartTime.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@EndTime", If(aviso.EndTime.HasValue, CType(aviso.EndTime.Value, Object), DBNull.Value))
|
||||
cmd.Parameters.AddWithValue("@IsRecurring", aviso.IsRecurring)
|
||||
cmd.Parameters.AddWithValue("@IsMonday", aviso.IsMonday)
|
||||
cmd.Parameters.AddWithValue("@IsTuesday", aviso.IsTuesday)
|
||||
cmd.Parameters.AddWithValue("@IsWednesday", aviso.IsWednesday)
|
||||
cmd.Parameters.AddWithValue("@IsThursday", aviso.IsThursday)
|
||||
cmd.Parameters.AddWithValue("@IsFriday", aviso.IsFriday)
|
||||
cmd.Parameters.AddWithValue("@IsSaturday", aviso.IsSaturday)
|
||||
cmd.Parameters.AddWithValue("@IsSunday", aviso.IsSunday)
|
||||
cmd.Parameters.AddWithValue("@IsActive", aviso.IsActive)
|
||||
' Einfügen oder Aktualisieren in die StandortTvBezeichnung-Tabelle
|
||||
Dim sqlLink As String = "
|
||||
IF EXISTS (
|
||||
SELECT 1 FROM StandortTvBezeichnung
|
||||
WHERE StandortID = @StandortID AND TvTextBezeichnungID = @TvTextBezeichnungID
|
||||
)
|
||||
BEGIN
|
||||
UPDATE StandortTvBezeichnung
|
||||
SET Position = @Position
|
||||
WHERE StandortID = @StandortID AND TvTextBezeichnungID = @TvTextBezeichnungID
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO StandortTvBezeichnung (StandortID, TvTextBezeichnungID, Position)
|
||||
VALUES (@StandortID, @TvTextBezeichnungID, @Position)
|
||||
END
|
||||
"
|
||||
|
||||
If aviso.TvTextBezeichnungID <> 0 Then
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnungID", aviso.TvTextBezeichnungID)
|
||||
End If
|
||||
Using cmdLink As New SqlCommand(sqlLink, conn, transaction)
|
||||
cmdLink.Parameters.AddWithValue("@StandortID", aviso.StandortID)
|
||||
cmdLink.Parameters.AddWithValue("@TvTextBezeichnungID", aviso.TvTextBezeichnungID)
|
||||
cmdLink.Parameters.AddWithValue("@Position", If(String.IsNullOrEmpty(aviso.Position), DBNull.Value, aviso.Position))
|
||||
|
||||
If aviso.TvTextBezeichnungID = 0 Then
|
||||
cmd.Parameters.AddWithValue("@TvTextBezeichnung", aviso.TvTextBezeichnung)
|
||||
|
||||
' Neuanlage: Führen Sie das INSERT aus und holen Sie die generierte ID
|
||||
Dim result As Object = cmd.ExecuteScalar()
|
||||
If result Is Nothing OrElse IsDBNull(result) Then
|
||||
Throw New Exception("Das INSERT hat keine ID zurückgegeben.")
|
||||
End If
|
||||
aviso.TvTextBezeichnungID = Convert.ToInt32(result)
|
||||
Else
|
||||
' Aktualisierung: Führen Sie das UPDATE aus
|
||||
cmd.ExecuteNonQuery()
|
||||
End If
|
||||
|
||||
' Einfügen oder Aktualisieren in die StandortTvBezeichnung-Tabelle
|
||||
Dim sqlLink As String = "
|
||||
IF EXISTS (
|
||||
SELECT 1 FROM StandortTvBezeichnung
|
||||
WHERE StandortID = @StandortID AND TvTextBezeichnungID = @TvTextBezeichnungID
|
||||
)
|
||||
BEGIN
|
||||
UPDATE StandortTvBezeichnung
|
||||
SET Position = @Position
|
||||
WHERE StandortID = @StandortID AND TvTextBezeichnungID = @TvTextBezeichnungID
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO StandortTvBezeichnung (StandortID, TvTextBezeichnungID, Position)
|
||||
VALUES (@StandortID, @TvTextBezeichnungID, @Position)
|
||||
END
|
||||
"
|
||||
|
||||
cmdLink = New SqlCommand(sqlLink, conn, transaction)
|
||||
cmdLink.Parameters.AddWithValue("@StandortID", aviso.StandortID)
|
||||
cmdLink.Parameters.AddWithValue("@TvTextBezeichnungID", aviso.TvTextBezeichnungID)
|
||||
cmdLink.Parameters.AddWithValue("@Position", If(String.IsNullOrEmpty(aviso.Position), DBNull.Value, aviso.Position))
|
||||
|
||||
cmdLink.ExecuteNonQuery()
|
||||
|
||||
' Transaktion committen, wenn alle Operationen erfolgreich waren
|
||||
transaction.Commit()
|
||||
cmdLink.ExecuteNonQuery()
|
||||
End Using
|
||||
|
||||
' Transaktion committen, wenn alle Operationen erfolgreich waren
|
||||
transaction.Commit()
|
||||
Catch ex As Exception
|
||||
' Fehlerbehandlung: Transaktion zurückrollen und Fehler weiterwerfen
|
||||
Try
|
||||
transaction.Rollback()
|
||||
Catch rollbackEx As Exception
|
||||
Throw New Exception("Fehler beim Zurückrollen der Transaktion: " & rollbackEx.Message, rollbackEx)
|
||||
End Try
|
||||
Throw ' Weiterwerfen der ursprünglichen Ausnahme
|
||||
End Try
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
' Fehlerbehandlung: Transaktion zurückrollen und Fehler weiterwerfen
|
||||
If transaction IsNot Nothing Then
|
||||
Try
|
||||
transaction.Rollback()
|
||||
Catch rollbackEx As Exception
|
||||
Throw New Exception("Fehler beim Zurückrollen der Transaktion: " & rollbackEx.Message)
|
||||
End Try
|
||||
End If
|
||||
Throw New Exception("SQL Fehler beim Speichern des Eintrags: " & ex.Message)
|
||||
Throw New Exception("SQL Fehler beim Speichern des Eintrags: " & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
' Allgemeine Fehlerbehandlung: Transaktion zurückrollen und Fehler weiterwerfen
|
||||
If transaction IsNot Nothing Then
|
||||
Try
|
||||
transaction.Rollback()
|
||||
Catch rollbackEx As Exception
|
||||
Throw New Exception("Fehler beim Zurückrollen der Transaktion: " & rollbackEx.Message)
|
||||
End Try
|
||||
End If
|
||||
Throw New Exception("Allgemeiner Fehler beim Speichern des Eintrags: " & ex.Message)
|
||||
Finally
|
||||
' Ressourcen manuell freigeben
|
||||
If cmdLink IsNot Nothing Then
|
||||
cmdLink.Dispose()
|
||||
cmdLink = Nothing
|
||||
End If
|
||||
|
||||
If cmd IsNot Nothing Then
|
||||
cmd.Dispose()
|
||||
cmd = Nothing
|
||||
End If
|
||||
|
||||
If transaction IsNot Nothing Then
|
||||
transaction.Dispose()
|
||||
transaction = Nothing
|
||||
End If
|
||||
|
||||
If conn IsNot Nothing Then
|
||||
conn.Close()
|
||||
conn = Nothing
|
||||
End If
|
||||
Throw New Exception("Allgemeiner Fehler beim Speichern des Eintrags: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
' Methode zum Setzen eines Eintrags auf inaktiv
|
||||
''' <summary>
|
||||
''' Setzt einen AvisoTvNew-Eintrag auf inaktiv.
|
||||
''' </summary>
|
||||
''' <param name="hID">Die ID des Eintrags, der inaktiv gesetzt werden soll.</param>
|
||||
Public Sub SetzeAufInaktiv(ByVal hID As Integer)
|
||||
Dim sql As String = "UPDATE AvisoTvNew SET IsActive = 0 WHERE TVID = @TVID"
|
||||
|
||||
Try
|
||||
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
|
||||
If conn Is Nothing Then
|
||||
Throw New Exception("Die Datenbankverbindung konnte nicht hergestellt werden.")
|
||||
End If
|
||||
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@TVID", hID)
|
||||
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
|
||||
If rowsAffected = 0 Then
|
||||
Throw New Exception("Der Datensatz konnte nicht auf inaktiv gesetzt werden. Möglicherweise existiert er nicht mehr.")
|
||||
End If
|
||||
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
cmd.Parameters.AddWithValue("@TVID", hID)
|
||||
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
|
||||
If rowsAffected = 0 Then
|
||||
Throw New Exception("Der Datensatz konnte nicht auf inaktiv gesetzt werden. Möglicherweise existiert er nicht mehr.")
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As SqlException
|
||||
' Ausnahme weiterwerfen mit spezifischer Fehlermeldung
|
||||
Throw New Exception("AvisoTvNew-Eintrag kann nicht auf inaktiv gesetzt werden! " & vbCrLf & ex.Message)
|
||||
Throw New Exception("AvisoTvNew-Eintrag kann nicht auf inaktiv gesetzt werden! " & vbCrLf & ex.Message, ex)
|
||||
Catch ex As Exception
|
||||
' Allgemeine Ausnahme weiterwerfen
|
||||
Throw New Exception("Fehler beim Setzen auf inaktiv: " & ex.Message)
|
||||
Throw New Exception("Fehler beim Setzen auf inaktiv: " & ex.Message, ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -2990,6 +3070,7 @@ End Class
|
||||
|
||||
|
||||
|
||||
|
||||
Public Class cAvisoTV
|
||||
Property TVID As Long = 0
|
||||
Property FixeZeile1 As String
|
||||
|
||||
Reference in New Issue
Block a user