475 lines
16 KiB
VB.net
475 lines
16 KiB
VB.net
|
|
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
|
|
Dim ttMontag, ttDienstag, ttMittwoch, ttDonnerstag, ttFreitag As New ToolTip()
|
|
|
|
|
|
|
|
Private Sub frmEssensbestellungen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
cbxMenu.fillWithSQL("SELECT Distinct Top 10 (MenuTitel), MenuDateVon from tblEBMenu order by MenuDateVon desc", True, "AVISO", True) '/ where MenuDateVon >= GETDATE()
|
|
|
|
txtAbteilung.Text = 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"))
|
|
cbxGebauede.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
cbxGebauede.changeItem("")
|
|
btnSave.Enabled = False
|
|
|
|
End Sub
|
|
|
|
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
|
|
If cbxGebauede._value = "" Then
|
|
MsgBox("Bitte Gebäude für die Essensbestellung angeben!")
|
|
Exit Sub
|
|
End If
|
|
|
|
essen = New cEssensbestellung(cbxMenu._value, cAllgemein.USRID, cbxGebauede._value, 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.eb_datum = CDate(dt.Rows(0).Item("MenuDateVon"))
|
|
|
|
essen.SAVE()
|
|
loadDGVBestellungen()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub cbxMenu_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxMenu.SelectedValueChanged
|
|
|
|
If cbxMenu._value Is Nothing Or cbxMenu._value = "" Then
|
|
Button1.Visible = False
|
|
lblDatum.Text = "Datum: "
|
|
lblBestellungBis.Text = ""
|
|
loadDGVBestellungen()
|
|
btnSave.Enabled = False
|
|
For Each comp As System.ComponentModel.Component In Me.components.Components
|
|
If TypeOf comp Is ToolTip Then
|
|
Dim tip = DirectCast(comp, ToolTip)
|
|
tip.RemoveAll()
|
|
End If
|
|
Next
|
|
Exit Sub
|
|
End If
|
|
|
|
btnSave.Enabled = True
|
|
'Button1.Visible = True
|
|
dt.Clear()
|
|
dt = SQL.loadDgvBySql("SELECT Top 1 * FROM tblEBMenu where [MenuTitel] = '" & cbxMenu._value & "' order by MenuDateVon desc", "AVISO", 100, True)
|
|
|
|
If dt.Rows.Count > 0 Then
|
|
If checkIfOrderIsPossible() Then
|
|
MyPanel1.Enabled = True
|
|
Else
|
|
MyPanel1.Enabled = False
|
|
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_abteilung").Visible = False
|
|
.Columns("eb_montag").Width = 80
|
|
.Columns("eb_montag").HeaderText = "Montag"
|
|
.Columns("eb_montag").Width = 80
|
|
.Columns("eb_dienstag").HeaderText = "Dienstag"
|
|
.Columns("eb_dienstag").Width = 80
|
|
.Columns("eb_mittwoch").HeaderText = "Mittwoch"
|
|
.Columns("eb_mittwoch").Width = 80
|
|
.Columns("eb_donnerstag").HeaderText = "Donnerstag"
|
|
.Columns("eb_donnerstag").Width = 80
|
|
.Columns("eb_freitag").HeaderText = "Freitag"
|
|
.Columns("eb_freitag").Width = 80
|
|
.Columns("eb_gebaeude").HeaderText = "Gebäude"
|
|
.Columns("eb_gebaeude").Width = 80
|
|
.Columns("eb_preis").HeaderText = "Preis"
|
|
.Columns("eb_preis").Width = 40
|
|
.Columns("eb_preis").DefaultCellStyle.Format = "N"
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
|
|
|
cbxGebauede._value = currentEssen.eb_gebaeude
|
|
|
|
|
|
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 'zu testzwecken -> muss dann wieder auf false gesetzt werden!!!!
|
|
Else
|
|
lblBestellungBis.ForeColor = Color.Black
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
Private Sub rbMenu_Mo_Click(sender As Object, e As EventArgs) Handles rbMenu_Mo.Click, rbMenu_Di.Click, rbMenu_Mi.Click, rbMenu_Do.Click, rbMenu_Fr.Click
|
|
countChecks()
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
'Process.Start("\\YM5T001348\Gastro\FTPUpload\Menues\" & cbxMenu._value & ".pdf")
|
|
End Sub
|
|
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
cbxMenu.changeItem("")
|
|
End Sub
|
|
End Class |