Files
AVISO/Aviso/frmEssensbestellungenAdministration.vb

396 lines
15 KiB
VB.net

Imports System.Web.UI.HtmlControls
Imports VERAG_PROG_ALLGEMEIN
Public Class frmEssensbestellungenAdministration
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Private Sub frmEssensbestellungenAdministration_Load(sender As Object, e As EventArgs) Handles MyBase.Load
txtBestellDat.Text = Date.Parse("01.01.2001")
txtBestellDatBis.Text = Now.ToShortDateString
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
txtMitarbeiter.Text = ""
cboGebaeude.changeItem("")
cboAbteilung.changeItem("")
cbxStornos.Checked = False
cbxAbgerechnet.Checked = False
cboGebaeude.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Frontoffice", "Frontoffice"))
cboGebaeude.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Asfinag", "Asfinag"))
cboGebaeude.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Verag Verrechnung", "Verag Verrechnung"))
cboGebaeude.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Maut", "Maut"))
cboGebaeude.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cboGebaeude.changeItem("")
cboAbteilung.fillWithSQL("SELECT DISTINCT(eb_abteilung) FROM [tblEssensbestellungen]", False, "AVISO", True)
cboAbteilung.changeItem("")
loadBestellungen()
End Sub
Private Sub loadBestellungen()
Dim SQLString As String = "SELECT [eb_mitid] , [eb_mitname] , [eb_kw] , [eb_gebaeude],[eb_abteilung],[eb_montag],[eb_dienstag],[eb_mittwoch],
[eb_donnerstag] ,[eb_freitag],[eb_datum],[eb_preis], [eb_anmerkung],[eb_storniert],[eb_storniert_am],[eb_abgerechnet],[eb_abgerechnet_am], [eb_gesendet], [eb_gesendet_am]
FROM
[tblEssensbestellungen] WHERE 1=1"
dgvBestellungen.SET_SQL(SQLString & bestellungenWhereClause() & " Order by eb_datum, eb_mitid", "AVISO", ,)
dgvBestellungen.LOAD()
If dgvBestellungen.Columns.Count < 1 Then Exit Sub
With dgvBestellungen
If .RowCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.RowHeadersWidth = 10
.Columns("eb_kw").HeaderText = "KW"
.Columns("eb_kw").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("eb_mitid").HeaderText = "MID"
.Columns("eb_mitid").Width = 40
.Columns("eb_mitname").HeaderText = "Mitarbeiter"
.Columns("eb_abteilung").Visible = False
.Columns("eb_datum").Width = 80
.Columns("eb_datum").HeaderText = "Datum"
.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"
.Columns("eb_storniert_am").HeaderText = "Storniert am"
.Columns("eb_abgerechnet_am").HeaderText = "Abgerechnet am"
.Columns("eb_gesendet_am").HeaderText = "Gesendet am"
.Columns("eb_storniert").Visible = False
.Columns("eb_abgerechnet").Visible = False
.Columns("eb_gesendet").Visible = False
.Columns("eb_anmerkung").HeaderText = "Anmerkung"
End With
For Each row As DataGridViewRow In dgvBestellungen.Rows
If Not IsDBNull(row.Cells("eb_storniert").Value) Then
If row.Cells("eb_storniert").Value Then
row.DefaultCellStyle.BackColor = Color.IndianRed
End If
End If
If Not IsDBNull(row.Cells("eb_abgerechnet").Value) Then
If row.Cells("eb_abgerechnet").Value Then row.DefaultCellStyle.BackColor = Color.LightGreen
End If
Next
txtAnzahlDS.Text = dgvBestellungen.Rows.Count
calcSumme()
End Sub
Private Function bestellungenWhereClause() As String
Dim SQLwhere = ""
If cboGebaeude._value IsNot "" Then SQLwhere &= " AND [eb_gebaeude] = '" & cboGebaeude._value.ToString & "'"
If cboAbteilung._value IsNot "" Then SQLwhere &= " AND [eb_abteilung] = '" & cboAbteilung._value.ToString & "'"
If txtMitarbeiter.Text <> "" Then SQLwhere &= " AND [eb_mitname] like '%" & txtMitarbeiter.Text & "%'"
If cbxStornos.Checked Then
SQLwhere &= " AND [eb_storniert] = '1'"
Else
SQLwhere &= " AND ISNULL([eb_storniert],0) = '0'"
End If
If cbxAbgerechnet.Checked Then
SQLwhere &= " AND [eb_abgerechnet] = '1'"
Else
SQLwhere &= " AND ISNULL([eb_abgerechnet],0) = '0'"
End If
If cbxNichtAbgeschickt.Checked Then
SQLwhere &= " AND ISNULL([eb_gesendet],0) = '0'"
Else
'SQLwhere &= " AND [eb_gesendet] = '1'"
End If
If txtBestellDat._value <> Nothing AndAlso txtBestellDatBis._value <> Nothing Then
SQLwhere &= " AND [eb_datum] BETWEEN '" & txtBestellDat._value & "' AND '" & txtBestellDatBis._value & "'"
End If
Return SQLwhere
End Function
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
txtBestellDat._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
txtBestellDatBis._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub btnMonat_Click(sender As Object, e As EventArgs) Handles btnMonat.Click
initBtns("Monat")
End Sub
Dim MONAT As Date = CDate("01." & Now.Month & "." & Now.Year)
Dim srcTAG As Date = CDate(Now.ToShortDateString)
Dim JAHR As Date = CDate("01.01." & Now.Year)
Sub initBtns(MonatJahr)
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
Select Case MonatJahr
Case "Monat"
DateTimePicker1.Value = MONAT
DateTimePicker2.Value = MONAT.AddMonths(1).AddDays(-1)
Case "Jahr"
DateTimePicker1.Value = JAHR
DateTimePicker2.Value = JAHR.AddYears(1).AddDays(-1)
Case ""
DateTimePicker1.Value = ("01." & Now.Month & "." & Now.Year)
DateTimePicker2.Value = Now
End Select
End Sub
Private Sub btnJahr_Click(sender As Object, e As EventArgs) Handles btnJahr.Click
initBtns("Jahr")
End Sub
Private Sub btnBisMonat_Click(sender As Object, e As EventArgs) Handles btnBisMonat.Click
MONAT = MONAT.AddMonths(1)
initBtns("Monat")
End Sub
Private Sub btnVonMonat_Click(sender As Object, e As EventArgs) Handles btnVonMonat.Click
MONAT = MONAT.AddMonths(-1)
initBtns("Monat")
End Sub
Private Sub btnBisJahr_Click(sender As Object, e As EventArgs) Handles btnBisJahr.Click
JAHR = JAHR.AddYears(1)
initBtns("Jahr")
End Sub
Private Sub btnVonJahr_Click(sender As Object, e As EventArgs) Handles btnVonJahr.Click
JAHR = JAHR.AddYears(-1)
initBtns("Jahr")
End Sub
Private Sub txtMitarbeiter_KeyDown(sender As Object, e As KeyEventArgs) Handles txtMitarbeiter.KeyDown
If e.KeyCode = Keys.Enter Then
Me.loadBestellungen()
e.Handled = True
End If
End Sub
Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click, cbxAbgerechnet.CheckedChanged, cbxStornos.CheckedChanged, cbxNichtAbgeschickt.CheckedChanged
loadBestellungen()
End Sub
Private Sub FlatButton7_Click(sender As Object, e As EventArgs) Handles FlatButton7.Click
txtMitarbeiter.Text = ""
cboGebaeude.changeItem("")
cboAbteilung.changeItem("")
cbxStornos.Checked = False
cbxAbgerechnet.Checked = False
txtBestellDat.Text = Date.Parse("01.01.2001")
txtBestellDatBis.Text = Now.ToShortDateString
Me.btnSuche.PerformClick()
End Sub
Private Sub calcSumme()
Dim countSumme As Double = 0
For i As Integer = 0 To dgvBestellungen.Rows.Count - 1
countSumme += CDbl(dgvBestellungen.Rows(i).Cells("eb_preis").Value)
Next
txtSumme._value = countSumme.ToString
End Sub
Private Sub BearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BearbeitenToolStripMenuItem.Click
Dim bestellung As New cEssensbestellung(dgvBestellungen.SelectedRows(0).Cells("eb_kw").Value, dgvBestellungen.SelectedRows(0).Cells("eb_mitid").Value)
Using UserControl1 As UsrCntlessensbestellungen = New UsrCntlessensbestellungen(bestellung)
Using tmpForm As Form = New Form()
tmpForm.Width = UserControl1.Width
tmpForm.Height = UserControl1.Height
tmpForm.Text = bestellung.eb_kw.ToString & " - " & bestellung.eb_mitname.ToString
tmpForm.StartPosition = tmpForm.StartPosition.CenterParent
tmpForm.Controls.Add(UserControl1)
If tmpForm.ShowDialog() = DialogResult.OK Then
End If
End Using
End Using
End Sub
Private Sub AbgerechnetToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbgerechnetToolStripMenuItem.Click, StornierenToolStripMenuItem.Click, AnHigway118SchickenToolStripMenuItem.Click
If dgvBestellungen.SelectedRows.Count = 0 Then Exit Sub
Select Case sender.Text
Case "abgerechnet"
Select Case dgvBestellungen.SelectedRows.Count
Case 1
If vbYes = MsgBox("Möchten Sie die Essensbestellung '" & dgvBestellungen.SelectedRows(0).Cells("eb_kw").Value & " von Mitarbeiter " & dgvBestellungen.SelectedRows(0).Cells("eb_mitname").Value & " abrechnen", vbYesNoCancel) Then
bestellungenAbrechnen(True)
Else
Exit Sub
End If
Case Else
If vbYes = MsgBox("Möchten Sie diese " & dgvBestellungen.SelectedRows.Count & " Essensbestellungen abrechnen", vbYesNoCancel) Then
bestellungenAbrechnen(True)
Else
Exit Sub
End If
End Select
Case "stornieren"
Select Case dgvBestellungen.SelectedRows.Count
Case 1
If vbYes = MsgBox("Möchten Sie die Essensbestellung '" & dgvBestellungen.SelectedRows(0).Cells("eb_kw").Value & " von Mitarbeiter " & dgvBestellungen.SelectedRows(0).Cells("eb_mitname").Value & " wirklich stornieren", vbYesNoCancel) Then
bestellungenStornieren(True)
Else
Exit Sub
End If
Case Else
If vbYes = MsgBox("Möchten Sie diese " & dgvBestellungen.SelectedRows.Count & " Essensbestellungen wirklich stornieren", vbYesNoCancel) Then
bestellungenStornieren(True)
Else
Exit Sub
End If
End Select
Case "An Higway 118 schicken"
Select Case dgvBestellungen.SelectedRows.Count
Case 1
If vbYes = MsgBox("Möchten Sie die Essensbestellung '" & dgvBestellungen.SelectedRows(0).Cells("eb_kw").Value & " von Mitarbeiter " & dgvBestellungen.SelectedRows(0).Cells("eb_mitname").Value & " abschicken?", vbYesNoCancel) Then
bestellungenSenden(True)
Else
Exit Sub
End If
Case Else
If vbYes = MsgBox("Möchten Sie diese " & dgvBestellungen.SelectedRows.Count & " Essensbestellungen abschicken", vbYesNoCancel) Then
bestellungenSenden(True)
Else
Exit Sub
End If
End Select
End Select
End Sub
Private Sub bestellungenStornieren(stornieren As Boolean)
For Each row As DataGridViewRow In dgvBestellungen.SelectedRows
Dim bestellung As New cEssensbestellung(dgvBestellungen.CurrentRow.Cells("eb_kw").Value, dgvBestellungen.CurrentRow.Cells("eb_mitid").Value)
bestellung.eb_storniert = True
If stornieren Then
bestellung.eb_storniert_am = Now
Else
bestellung.eb_storniert_am = DBNull.Value
End If
bestellung.SAVE()
Next
End Sub
Private Sub bestellungenAbrechnen(abrechnen As Boolean)
For Each row As DataGridViewRow In dgvBestellungen.SelectedRows
Dim bestellung As New cEssensbestellung(dgvBestellungen.CurrentRow.Cells("eb_kw").Value, dgvBestellungen.CurrentRow.Cells("eb_mitid").Value)
bestellung.eb_abgerechnet = abrechnen
If abrechnen Then
bestellung.eb_abgerechnet_am = Now
Else
bestellung.eb_abgerechnet_am = DBNull.Value
End If
dgvBestellungen.SetOrder()
bestellung.SAVE()
dgvBestellungen.GetOrder()
Next
End Sub
Private Sub bestellungenSenden(senden As Boolean)
For Each row As DataGridViewRow In dgvBestellungen.SelectedRows
Dim bestellung As New cEssensbestellung(dgvBestellungen.CurrentRow.Cells("eb_kw").Value, dgvBestellungen.CurrentRow.Cells("eb_mitid").Value)
bestellung.eb_gesendet = senden
If senden Then
bestellung.eb_gesendet_am = Now
Else
bestellung.eb_gesendet_am = DBNull.Value
End If
dgvBestellungen.SetOrder()
bestellung.SAVE()
dgvBestellungen.GetOrder()
Next
End Sub
End Class