Imports VERAG_PROG_ALLGEMEIN Public Class UsrCntlessensbestellungen Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim essen As cEssensbestellung Dim dt As New DataTable 'Dim arrayWeekdays() As String = {"montag", "dienstag", "mittwoch", "donerstag", "freitag"} Private ToolTipFont As New Font("Courier New", 12) Dim preisProMahlzeit As Double = 3 Dim menu As String = "Menu" Sub New() ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Sub New(storniert As Boolean, abgerechnet As Boolean, menutitle As String) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. Me.CheckBox1.Checked = storniert Me.CheckBox2.Checked = abgerechnet 'dt = SQL.loadDgvBySql("SELECT Top 1 * FROM tblEBMenu where [MenuTitel] = '" & menu & "' order by MenuDateVon desc", "AVISO", 100, True) dt = SQL.loadDgvBySql("Select Top 1 * from (Select (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)) as kwDate, * FROM tblEBMenu) kwDate where kwDate = '" & menutitle & "'", "AVISO", 100, True) loadMenuInfo(dt) essen = New cEssensbestellung() txtGebäude.Text = essen.eb_gebaeude.ToString txtAnmerkung.Text = If(essen.eb_anmerkung IsNot Nothing, essen.eb_anmerkung.ToString, "") End Sub Sub New(bestellung As cEssensbestellung) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. essen = bestellung Dim menutitle = bestellung.eb_kw.ToString() Me.CheckBox1.Checked = essen.eb_storniert Me.CheckBox2.Checked = essen.eb_abgerechnet 'dt = SQL.loadDgvBySql("SELECT Top 1 * FROM tblEBMenu where [MenuTitel] = '" & menutitle & "' order by MenuDateVon desc", "AVISO", 100, True) dt = SQL.loadDgvBySql("Select Top 1 * from (Select (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)) as kwDate, * FROM tblEBMenu) kwDate where kwDate = '" & menutitle & "'", "AVISO", 100, True) loadMenuInfo(dt) txtGebäude.Text = essen.eb_gebaeude.ToString txtAnmerkung.Text = If(essen.eb_anmerkung IsNot Nothing, essen.eb_anmerkung.ToString, "") End Sub Private Sub rbaLaCarte_CheckedChanged(sender As Object, e As EventArgs) Handles rbMenuAlt_montag.CheckedChanged, rbMenuAlt_dienstag.CheckedChanged, rbMenuAlt_donnerstag.CheckedChanged, rbMenuAlt_mittwoch.CheckedChanged, rbMenuAlt_freitag.CheckedChanged If rbMenuAlt_montag.Checked Then txtAlt_montag.Visible = True Else txtAlt_montag.Visible = False End If If rbMenuAlt_dienstag.Checked Then txtAlt_dienstag.Visible = True Else txtAlt_dienstag.Visible = False End If If rbMenuAlt_mittwoch.Checked Then txtAlt_mittwoch.Visible = True Else txtAlt_mittwoch.Visible = False End If If rbMenuAlt_donnerstag.Checked Then txtAlt_donnerstag.Visible = True Else txtAlt_donnerstag.Visible = False End If If rbMenuAlt_freitag.Checked Then txtAlt_freitag.Visible = True Else txtAlt_freitag.Visible = False End If countChecks() End Sub Private Sub cbFields_CheckedChanged(sender As Object, e As EventArgs) Handles cb_montag.CheckedChanged, cb_dienstag.CheckedChanged, cb_mittwoch.CheckedChanged, cbdonnerstag.CheckedChanged, cb_freitag.CheckedChanged If cb_montag.Checked Then rbMenuAlt_montag.Enabled = True rbMenu_montag.Enabled = True If checkIfGroupBoxIsSetFirstTime(GroupBoxMontag) Then rbMenu_montag.Checked = True End If Else rbMenuAlt_montag.Enabled = False rbMenu_montag.Enabled = False txtAlt_montag.Text = "" End If If cb_dienstag.Checked Then rbMenuAlt_dienstag.Enabled = True rbMenu_dienstag.Enabled = True If checkIfGroupBoxIsSetFirstTime(GroupBoxDienstag) Then rbMenu_dienstag.Checked = True End If Else rbMenu_dienstag.Enabled = False rbMenuAlt_dienstag.Enabled = False txtAlt_dienstag.Text = "" End If If cb_mittwoch.Checked Then rbMenuAlt_mittwoch.Enabled = True rbMenu_mittwoch.Enabled = True If checkIfGroupBoxIsSetFirstTime(Mittwoch) Then rbMenu_mittwoch.Checked = True End If Else rbMenu_mittwoch.Enabled = False rbMenuAlt_mittwoch.Enabled = False txtAlt_mittwoch.Text = "" End If If cbdonnerstag.Checked Then rbMenuAlt_donnerstag.Enabled = True rbMenu_donnerstag.Enabled = True If checkIfGroupBoxIsSetFirstTime(GroupBoxDonnerstag) Then rbMenu_donnerstag.Checked = True End If Else rbMenu_donnerstag.Enabled = False rbMenuAlt_donnerstag.Enabled = False txtAlt_donnerstag.Text = "" End If If cb_freitag.Checked Then rbMenuAlt_freitag.Enabled = True rbMenu__freitag.Enabled = True If checkIfGroupBoxIsSetFirstTime(GroupBoxFreitag) Then rbMenu__freitag.Checked = True End If Else rbMenu__freitag.Enabled = False rbMenuAlt_freitag.Enabled = False txtAlt_freitag.Text = "" End If countChecks() End Sub Private Sub uncheckGroupBoxesAndRadioButtons(sender, e) For Each gb As Control In MyPanel1.Controls If TypeOf gb Is GroupBox Then For Each c As Control In gb.Controls If TypeOf c Is CheckBox Then Dim checkbox As CheckBox = c checkbox.Checked = False End If If TypeOf c Is RadioButton Then Dim radiobutton As RadioButton = c radiobutton.Checked = False End If Next End If Next cbFields_CheckedChanged(sender, e) End Sub Private Sub countChecks() Dim countMenus As Integer Dim countlaCarte As Integer countMenus = 0 countlaCarte = 0 For Each gb As Control In MyPanel1.Controls If TypeOf gb Is GroupBox Then For Each c As Control In gb.Controls If c.Text.ToLower.StartsWith("menü") AndAlso TypeOf c Is VERAG_PROG_ALLGEMEIN.MyRadioButton AndAlso c.Enabled = True Then Dim rb As VERAG_PROG_ALLGEMEIN.MyRadioButton = c If rb.Checked Then countMenus = countMenus + 1 End If If c.Text.ToLower.StartsWith("a la carte") AndAlso TypeOf c Is VERAG_PROG_ALLGEMEIN.MyRadioButton AndAlso c.Enabled = True Then Dim rb As VERAG_PROG_ALLGEMEIN.MyRadioButton = c If rb.Checked Then countlaCarte = countlaCarte + 1 End If Next End If Next txtAnzahlMenu.Text = countMenus.ToString() txtAnzahlLaCart.Text = countlaCarte.ToString txtPreis.Text = (CDbl(countlaCarte) + CDbl(countMenus)) * preisProMahlzeit End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged If CheckBox1.Checked Or CheckBox2.Checked Or CheckBox3.Checked Then MyPanel1.Enabled = False txtGebäude.Enabled = False txtAnmerkung.Enabled = False Else MyPanel1.Enabled = True txtGebäude.Enabled = True txtAnmerkung.Enabled = True End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If cb_montag.Checked Then If rbMenu_montag.Checked Then essen.eb_montag = menu setWarning(False) Else If txtAlt_montag.Text.ToString.Replace(" ", "") <> "" Then essen.eb_montag = txtAlt_montag.Text.ToString setWarning(False) Else setWarning(True) Exit Sub End If End If setWarning(False) Else essen.eb_montag = Nothing End If If cb_dienstag.Checked Then If rbMenu_dienstag.Checked Then essen.eb_dienstag = menu setWarning(False) Else If txtAlt_dienstag.Text.ToString.Replace(" ", "") <> "" Then essen.eb_dienstag = txtAlt_dienstag.Text.ToString setWarning(False) Else setWarning(True) Exit Sub End If End If setWarning(False) Else essen.eb_dienstag = Nothing End If If cb_mittwoch.Checked Then If rbMenu_mittwoch.Checked Then essen.eb_mittwoch = menu setWarning(False) Else If txtAlt_mittwoch.Text.ToString.Replace(" ", "") <> "" Then essen.eb_mittwoch = txtAlt_mittwoch.Text.ToString setWarning(False) Else setWarning(True) Exit Sub End If End If setWarning(False) Else essen.eb_mittwoch = Nothing End If If cbdonnerstag.Checked Then If rbMenu_donnerstag.Checked Then essen.eb_donnerstag = menu setWarning(False) Else If txtAlt_donnerstag.Text.ToString.Replace(" ", "") <> "" Then essen.eb_donnerstag = txtAlt_donnerstag.Text.ToString setWarning(False) Else setWarning(True) Exit Sub End If End If setWarning(False) Else essen.eb_donnerstag = Nothing End If If cb_freitag.Checked Then If rbMenu__freitag.Checked Then essen.eb_freitag = menu setWarning(False) Else If txtAlt_freitag.Text.ToString.Replace(" ", "") <> "" Then essen.eb_freitag = txtAlt_freitag.Text.ToString setWarning(False) Else setWarning(True) Exit Sub End If End If setWarning(False) Else essen.eb_freitag = Nothing End If If txtPreis.Text IsNot "" Then essen.eb_preis = CDbl(txtPreis.Text) End If essen.eb_datum = CDate(dt.Rows(0).Item("MenuDateVon")) essen.eb_gebaeude = txtGebäude.Text.ToString If CheckBox1.Checked = False Then essen.eb_abgerechnet = False essen.eb_abgerechnet_am = DBNull.Value End If If CheckBox2.Checked = False Then essen.eb_storniert = False essen.eb_storniert_am = DBNull.Value End If If CheckBox3.Checked = False Then essen.eb_gesendet = False essen.eb_gesendet_am = DBNull.Value End If If essen.SAVE() Then End If End Sub Private Sub loadMenuInfo(dt As DataTable) If dt.Rows(0).Item("MenuEssenMo") IsNot Nothing Then rbMenu_montag.Text = menu txtMenu_montag.Text = dt.Rows(0).Item("MenuEssenMo").ToString End If If dt.Rows(0).Item("MenuEssenDi") IsNot Nothing Then rbMenu_dienstag.Text = menu txtMenu_dienstag.Text = dt.Rows(0).Item("MenuEssenDi").ToString() End If If dt.Rows(0).Item("MenuEssenMi") IsNot Nothing Then rbMenu_mittwoch.Text = menu txtMenu_mittwoch.Text = dt.Rows(0).Item("MenuEssenMi").ToString() End If If dt.Rows(0).Item("MenuEssenDo") IsNot Nothing Then rbMenu_donnerstag.Text = menu txtMenu_donnerstag.Text = dt.Rows(0).Item("MenuEssenDo").ToString() End If If dt.Rows(0).Item("MenuEssenFr") IsNot Nothing Then rbMenu__freitag.Text = menu txtMenu_freitag.Text = dt.Rows(0).Item("MenuEssenFr").ToString() End If End Sub Private Sub rbMenu_Mo_Click(sender As Object, e As EventArgs) Handles rbMenu_montag.Click, rbMenu_dienstag.Click, rbMenu_mittwoch.Click, rbMenu_donnerstag.Click, rbMenu__freitag.Click countChecks() End Sub Private Function checkIfGroupBoxIsSetFirstTime(gb As GroupBox) For Each c As Control In gb.Controls If TypeOf c Is RadioButton Then Dim radioButton As RadioButton = c If radioButton.Checked = True Then Return False End If End If Next Return True End Function Private Sub setWarning(warning As Boolean) If warning Then lblWarning.Text = "Bezeichnung für A la carte fehlt" Else lblWarning.Text = "" End If End Sub Private Sub UsrCntlessensbestellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load If essen.eb_montag IsNot Nothing Then cb_montag.Checked = True If essen.eb_montag.ToString = menu Then rbMenu_montag.Checked = True Else rbMenuAlt_montag.Checked = True If essen.eb_montag IsNot Nothing Then txtAlt_montag.Text = essen.eb_montag.ToString End If Else cb_montag.Checked = False End If If essen.eb_dienstag IsNot Nothing Then cb_dienstag.Checked = True If essen.eb_dienstag.ToString = menu Then rbMenu_dienstag.Checked = True Else rbMenuAlt_dienstag.Checked = True If essen.eb_dienstag IsNot Nothing Then txtAlt_dienstag.Text = essen.eb_dienstag.ToString End If Else cb_dienstag.Checked = False End If If essen.eb_mittwoch IsNot Nothing Then cb_mittwoch.Checked = True If essen.eb_mittwoch.ToString = menu Then rbMenu_mittwoch.Checked = True Else rbMenuAlt_mittwoch.Checked = True If essen.eb_mittwoch IsNot Nothing Then txtAlt_mittwoch.Text = essen.eb_mittwoch.ToString End If Else cb_mittwoch.Checked = False End If If essen.eb_donnerstag IsNot Nothing Then cbdonnerstag.Checked = True If essen.eb_donnerstag.ToString = menu Then rbMenu_donnerstag.Checked = True Else rbMenuAlt_donnerstag.Checked = True If essen.eb_donnerstag IsNot Nothing Then txtAlt_donnerstag.Text = essen.eb_donnerstag.ToString End If Else cb_mittwoch.Checked = False End If If essen.eb_freitag IsNot Nothing Then cb_freitag.Checked = True If essen.eb_freitag.ToString = menu Then rbMenu__freitag.Checked = True Else rbMenuAlt_freitag.Checked = True If essen.eb_freitag IsNot Nothing Then txtAlt_donnerstag.Text = essen.eb_freitag.ToString End If Else cb_freitag.Checked = False End If End Sub End Class