432 lines
14 KiB
VB.net
432 lines
14 KiB
VB.net
Imports Org.BouncyCastle.Asn1.Cms
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class frmEssensbestellungen
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim essen As New cEssensbestellung()
|
|
Dim dt As New DataTable
|
|
|
|
|
|
|
|
Private Sub frmEssensbestellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
cbxMenu.fillWithSQL("SELECT MenuTitel from tblEBMenu", False, "AVISO", True)
|
|
|
|
lblGebaeude.Text = "Gebäude: "
|
|
lblAbteilung.Text = "Abteilung: " & VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG
|
|
loadDGVBestellungen()
|
|
|
|
cbxGebauede.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Frontoffice", "Frontoffice"))
|
|
cbxGebauede.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Asfinag", "Asfinag"))
|
|
cbxGebauede.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Verag Verrechnung", "Verag Verrechnung"))
|
|
cbxGebauede.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Maut", "Maut"))
|
|
|
|
End Sub
|
|
|
|
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
essen = New cEssensbestellung(cbxMenu._value, cAllgemein.USRID, "Test", cAllgemein.ABTEILUNG)
|
|
|
|
If cbMontag.Checked Then
|
|
If rbMenu_Mo.Checked Then
|
|
essen.eb_montag = "Menu"
|
|
Else
|
|
essen.eb_montag = txtAltMo.Text.ToString
|
|
End If
|
|
|
|
Else
|
|
essen.eb_montag = Nothing
|
|
End If
|
|
|
|
|
|
If cbDienstag.Checked Then
|
|
If rbMenu_Di.Checked Then
|
|
essen.eb_dienstag = "Menu"
|
|
Else
|
|
essen.eb_dienstag = txtAltDi.Text.ToString
|
|
End If
|
|
|
|
Else
|
|
essen.eb_dienstag = Nothing
|
|
End If
|
|
|
|
If cbMittwoch.Checked Then
|
|
If rbMenu_Mi.Checked Then
|
|
essen.eb_mittwoch = "Menu"
|
|
Else
|
|
essen.eb_mittwoch = txtAltMi.Text.ToString
|
|
End If
|
|
|
|
Else
|
|
essen.eb_mittwoch = Nothing
|
|
End If
|
|
|
|
If cbDonnerstag.Checked Then
|
|
If rbMenu_Do.Checked Then
|
|
essen.eb_donnerstag = "Menu"
|
|
Else
|
|
essen.eb_donnerstag = txtAltDo.Text.ToString
|
|
End If
|
|
|
|
Else
|
|
essen.eb_donnerstag = Nothing
|
|
End If
|
|
|
|
If cbFreitag.Checked Then
|
|
If rbMenu_Fr.Checked Then
|
|
essen.eb_freitag = "Menu"
|
|
Else
|
|
essen.eb_freitag = txtAltFr.Text.ToString
|
|
End If
|
|
|
|
Else
|
|
essen.eb_freitag = Nothing
|
|
End If
|
|
|
|
If txtPreis.Text IsNot "" Then
|
|
essen.eb_preis = CDbl(txtPreis.Text)
|
|
End If
|
|
essen.SAVE()
|
|
loadDGVBestellungen()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub cbxMenu_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxMenu.SelectedValueChanged
|
|
|
|
|
|
dt.Clear()
|
|
dt = SQL.loadDgvBySql("SELECT * FROM tblEBMenu where [MenuTitel] = '" & cbxMenu._value & "'", "AVISO", 100, True)
|
|
|
|
If dt.Rows.Count > 0 Then
|
|
If checkIfOrderIsPossible() Then
|
|
MyPanel1.Enabled = True
|
|
Else
|
|
MyPanel1.Enabled = True
|
|
End If
|
|
lblDatum.Text = "Datum: " & CDate(dt.Rows(0).Item("MenuDateVon")).ToString("dd.MM.yyyy") & " - " & CDate(dt.Rows(0).Item("MenuDateBis")).ToString("dd.MM.yyyy")
|
|
loadMenuInfo(dt)
|
|
|
|
btnSave.Enabled = True
|
|
Else
|
|
btnSave.Enabled = False
|
|
End If
|
|
|
|
uncheckGroupBoxes(sender, e)
|
|
loadDGVBestellungen()
|
|
|
|
End Sub
|
|
|
|
Private Sub rbaLaCarte_CheckedChanged(sender As Object, e As EventArgs) Handles rbMenoAlt_Mo.CheckedChanged, rbMenuAlt_Di.CheckedChanged, rbMenuAlt_Do.CheckedChanged, rbMenuAlt_Mi.CheckedChanged, rbMenuAlt_Fr.CheckedChanged
|
|
|
|
If rbMenoAlt_Mo.Checked Then
|
|
txtAltMo.Visible = True
|
|
Else
|
|
txtAltMo.Visible = False
|
|
End If
|
|
|
|
If rbMenuAlt_Di.Checked Then
|
|
txtAltDi.Visible = True
|
|
Else
|
|
|
|
txtAltDi.Visible = False
|
|
End If
|
|
|
|
If rbMenuAlt_Mi.Checked Then
|
|
txtAltMi.Visible = True
|
|
Else
|
|
txtAltMi.Visible = False
|
|
End If
|
|
|
|
|
|
If rbMenuAlt_Do.Checked Then
|
|
txtAltDo.Visible = True
|
|
Else
|
|
txtAltDo.Visible = False
|
|
End If
|
|
|
|
If rbMenuAlt_Fr.Checked Then
|
|
txtAltFr.Visible = True
|
|
Else
|
|
txtAltFr.Visible = False
|
|
End If
|
|
countChecks()
|
|
End Sub
|
|
|
|
Private Sub cbFields_CheckedChanged(sender As Object, e As EventArgs) Handles cbMontag.CheckedChanged, cbDienstag.CheckedChanged, cbMittwoch.CheckedChanged, cbDonnerstag.CheckedChanged, cbFreitag.CheckedChanged
|
|
If cbMontag.Checked Then
|
|
rbMenoAlt_Mo.Enabled = True
|
|
rbMenu_Mo.Enabled = True
|
|
Else
|
|
rbMenoAlt_Mo.Enabled = False
|
|
rbMenu_Mo.Enabled = False
|
|
txtAltMo.Text = ""
|
|
End If
|
|
|
|
If cbDienstag.Checked Then
|
|
rbMenuAlt_Di.Enabled = True
|
|
rbMenu_Di.Enabled = True
|
|
Else
|
|
rbMenu_Di.Enabled = False
|
|
rbMenuAlt_Di.Enabled = False
|
|
txtAltDi.Text = ""
|
|
End If
|
|
|
|
If cbMittwoch.Checked Then
|
|
rbMenuAlt_Mi.Enabled = True
|
|
rbMenu_Mi.Enabled = True
|
|
Else
|
|
rbMenu_Mi.Enabled = False
|
|
rbMenuAlt_Mi.Enabled = False
|
|
txtAltMi.Text = ""
|
|
End If
|
|
|
|
|
|
If cbDonnerstag.Checked Then
|
|
rbMenuAlt_Do.Enabled = True
|
|
rbMenu_Do.Enabled = True
|
|
Else
|
|
rbMenu_Do.Enabled = False
|
|
rbMenuAlt_Do.Enabled = False
|
|
txtAltDo.Text = ""
|
|
End If
|
|
|
|
If cbFreitag.Checked Then
|
|
rbMenuAlt_Fr.Enabled = True
|
|
rbMenu_Fr.Enabled = True
|
|
Else
|
|
rbMenu_Fr.Enabled = False
|
|
rbMenuAlt_Fr.Enabled = False
|
|
txtAltFr.Text = ""
|
|
End If
|
|
countChecks()
|
|
End Sub
|
|
|
|
|
|
Private Sub loadDGVBestellungen()
|
|
|
|
Dim SQLWhere As String = ""
|
|
If cbxMenu._value IsNot "" Then SQLWhere = " AND [eb_kw] = '" & cbxMenu._value.ToString & "'"
|
|
|
|
Dim SQLString As String = "SELECT [eb_kw], [eb_mitid] , [eb_gebaeude],[eb_abteilung],[eb_montag],[eb_dienstag],[eb_mittwoch],[eb_donnerstag] ,[eb_freitag],[eb_preis] FROM [tblEssensbestellungen] where [eb_mitid] = '" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'" & SQLWhere & " order by [eb_kw]"
|
|
|
|
dgvBestellungen.SET_SQL(SQLString, "AVISO", ,)
|
|
dgvBestellungen.LOAD()
|
|
|
|
|
|
If dgvBestellungen.Columns.Count < 1 Then Exit Sub
|
|
|
|
With dgvBestellungen
|
|
.RowHeadersWidth = 10
|
|
.Columns("eb_kw").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("eb_kw").HeaderText = "KW"
|
|
.Columns("eb_mitid").Visible = False
|
|
.Columns("eb_gebaeude").Visible = False
|
|
.Columns("eb_abteilung").Visible = False
|
|
.Columns("eb_montag").Width = 100
|
|
.Columns("eb_montag").HeaderText = "Montag"
|
|
.Columns("eb_montag").Width = 100
|
|
.Columns("eb_dienstag").HeaderText = "Dienstag"
|
|
.Columns("eb_dienstag").Width = 100
|
|
.Columns("eb_mittwoch").HeaderText = "Mittwoch"
|
|
.Columns("eb_mittwoch").Width = 100
|
|
.Columns("eb_donnerstag").HeaderText = "Donnerstag"
|
|
.Columns("eb_donnerstag").Width = 100
|
|
.Columns("eb_freitag").HeaderText = "Freitag"
|
|
.Columns("eb_freitag").Width = 100
|
|
.Columns("eb_preis").HeaderText = "Preis"
|
|
.Columns("eb_preis").Width = 40
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Private Sub uncheckGroupBoxes(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
|
|
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)) * 3
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub loadMenuInfo(dt As DataTable)
|
|
|
|
If dt.Rows(0).Item("MenuEssenMo") IsNot Nothing Then
|
|
pbMontag.Visible = True
|
|
Dim ttMontag As New ToolTip()
|
|
ttMontag.SetToolTip(pbMontag, dt.Rows(0).Item("MenuEssenMo").ToString)
|
|
Else
|
|
pbMontag.Visible = False
|
|
End If
|
|
|
|
|
|
If dt.Rows(0).Item("MenuEssenDi") IsNot Nothing Then
|
|
pbDienstag.Visible = True
|
|
Dim ttDienstag As New ToolTip()
|
|
ttDienstag.SetToolTip(pbDienstag, dt.Rows(0).Item("MenuEssenDi").ToString)
|
|
Else
|
|
pbDienstag.Visible = False
|
|
End If
|
|
|
|
|
|
If dt.Rows(0).Item("MenuEssenMi") IsNot Nothing Then
|
|
pbMittwoch.Visible = True
|
|
Dim ttMittwoch As New ToolTip()
|
|
ttMittwoch.SetToolTip(pbMittwoch, dt.Rows(0).Item("MenuEssenMi").ToString)
|
|
Else
|
|
pbMittwoch.Visible = False
|
|
End If
|
|
|
|
If dt.Rows(0).Item("MenuEssenDo") IsNot Nothing Then
|
|
pbDonnerstag.Visible = True
|
|
Dim ttDonnerstag As New ToolTip()
|
|
ttDonnerstag.SetToolTip(pbDonnerstag, dt.Rows(0).Item("MenuEssenDo").ToString)
|
|
Else
|
|
pbDonnerstag.Visible = False
|
|
End If
|
|
|
|
If dt.Rows(0).Item("MenuEssenFr") IsNot Nothing Then
|
|
pbFreitag.Visible = True
|
|
Dim ttFreitag As New ToolTip()
|
|
ttFreitag.SetToolTip(pbFreitag, dt.Rows(0).Item("MenuEssenFr").ToString)
|
|
Else
|
|
pbFreitag.Visible = False
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub dgvBestellungen_Click(sender As Object, e As EventArgs) Handles dgvBestellungen.Click
|
|
|
|
If dgvBestellungen.Rows.Count = 0 Then Exit Sub
|
|
|
|
Dim currentEssen As New cEssensbestellung(dgvBestellungen.CurrentRow.Cells("eb_kw").Value, dgvBestellungen.CurrentRow.Cells("eb_mitid").Value, dgvBestellungen.CurrentRow.Cells("eb_gebaeude").Value, dgvBestellungen.CurrentRow.Cells("eb_abteilung").Value)
|
|
|
|
If currentEssen.eb_montag IsNot Nothing Then
|
|
cbMontag.Checked = True
|
|
If currentEssen.eb_montag.ToString = "Menu" Then
|
|
rbMenu_Mo.Checked = True
|
|
Else
|
|
rbMenoAlt_Mo.Checked = True
|
|
If currentEssen.eb_montag IsNot Nothing Then txtAltMo.Text = currentEssen.eb_montag.ToString
|
|
End If
|
|
Else
|
|
cbMontag.Checked = False
|
|
End If
|
|
|
|
If currentEssen.eb_dienstag IsNot Nothing Then
|
|
cbDienstag.Checked = True
|
|
If currentEssen.eb_dienstag.ToString = "Menu" Then
|
|
rbMenu_Di.Checked = True
|
|
Else
|
|
rbMenuAlt_Di.Checked = True
|
|
If currentEssen.eb_dienstag IsNot Nothing Then txtAltDi.Text = currentEssen.eb_dienstag.ToString
|
|
End If
|
|
Else
|
|
cbDienstag.Checked = False
|
|
End If
|
|
|
|
|
|
If currentEssen.eb_mittwoch IsNot Nothing Then
|
|
cbMittwoch.Checked = True
|
|
If currentEssen.eb_mittwoch.ToString = "Menu" Then
|
|
rbMenu_Mi.Checked = True
|
|
Else
|
|
rbMenuAlt_Mi.Checked = True
|
|
If currentEssen.eb_mittwoch IsNot Nothing Then txtAltMi.Text = currentEssen.eb_mittwoch.ToString
|
|
End If
|
|
Else
|
|
cbMittwoch.Checked = False
|
|
End If
|
|
|
|
If currentEssen.eb_donnerstag IsNot Nothing Then
|
|
cbDonnerstag.Checked = True
|
|
If currentEssen.eb_donnerstag.ToString = "Menu" Then
|
|
rbMenu_Do.Checked = True
|
|
Else
|
|
rbMenuAlt_Do.Checked = True
|
|
If currentEssen.eb_donnerstag IsNot Nothing Then txtAltDo.Text = currentEssen.eb_donnerstag.ToString
|
|
End If
|
|
Else
|
|
cbMittwoch.Checked = False
|
|
End If
|
|
|
|
|
|
If currentEssen.eb_freitag IsNot Nothing Then
|
|
cbFreitag.Checked = True
|
|
If currentEssen.eb_freitag.ToString = "Menu" Then
|
|
rbMenu_Fr.Checked = True
|
|
Else
|
|
rbMenuAlt_Fr.Checked = True
|
|
If currentEssen.eb_freitag IsNot Nothing Then txtAltDo.Text = currentEssen.eb_freitag.ToString
|
|
End If
|
|
Else
|
|
cbFreitag.Checked = False
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Function checkIfOrderIsPossible() As Boolean
|
|
|
|
Dim isPossible As Boolean = False
|
|
|
|
If dt.Rows.Count = 0 Then Return False
|
|
|
|
Try
|
|
Dim startMenu = Date.Parse(dt.Rows(0).Item("MenuDateVon"))
|
|
|
|
|
|
Dim newTime As New TimeSpan(14, 30, 0)
|
|
Dim timeToOrderLimit = startMenu.AddDays(-5) + newTime
|
|
lblBestellungBis.Text = "Bestellung möglich bis: " & timeToOrderLimit.ToShortDateString & " - " & timeToOrderLimit.ToShortTimeString
|
|
|
|
If Now >= timeToOrderLimit Then
|
|
lblBestellungBis.ForeColor = Color.Red
|
|
Return True
|
|
Else
|
|
lblBestellungBis.ForeColor = Color.Black
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
End Class |