Original Post
Hey everybody, I was wondering if somebody could help me out here. I have a restaurant bill program, where the user selects the food from comboboxes and it puts it into a listbox. As it adds to the listbox it updates in realtime the subtotal, the tax amount, and the final total. Well I need to be able to remove these items which I have just my items.remove() to remove it from the listbox but my question is what would be the easiest way to go about trying to update the price given the way I wrote my program b/c I can't figure it out. I'm thinking to get it to work properly I'll have to redesign my code, but I'm asking you guys to try to avoid having to do that. Thanks to anybody who can help me, here is my code.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RestaurantBill
{
public partial class frmRestaurantBill : Form
{
decimal subTotal = 0.00M;
decimal taxTotal = 0.00M;
decimal tax = .07M;
decimal price = 0.00M;
decimal total = 0;
public frmRestaurantBill()
{
InitializeComponent();
}
private void btnExit_Click(object sender, EventArgs e)
{
Close();
}
private void cmbBeverage_SelectedIndexChanged(object sender, EventArgs e)
{
string beverage = cmbBeverage.SelectedItem.ToString();
switch (cmbBeverage.SelectedIndex)
{
case 0:
lsbMenu.Items.Add(beverage);
price = 1.95m;
break;
case 1:
lsbMenu.Items.Add(beverage);
price = 1.50m;
break;
case 2:
lsbMenu.Items.Add(beverage);
price = 1.25m;
break;
case 3:
lsbMenu.Items.Add(beverage);
price = 2.95m;
break;
case 4:
lsbMenu.Items.Add(beverage);
price = 2.50m;
break;
case 5:
lsbMenu.Items.Add(beverage);
price = 1.50m;
break;
}
billTotal(price);
}//end of cmbBeverage Index Change
private void cmbAppetizer_SelectedIndexChanged(object sender, EventArgs e)
{
string appetizer = cmbAppetizer.SelectedItem.ToString();
switch (cmbAppetizer.SelectedIndex)
{
case 0:
lsbMenu.Items.Add(appetizer);
price = 5.95m;
break;
case 1:
lsbMenu.Items.Add(appetizer);
price = 6.95m;
break;
case 2:
lsbMenu.Items.Add(appetizer);
price = 8.95m;
break;
case 3:
lsbMenu.Items.Add(appetizer);
price = 8.95m;
break;
case 4:
lsbMenu.Items.Add(appetizer);
price = 10.95m;
break;
case 5:
lsbMenu.Items.Add(appetizer);
price = 12.95m;
break;
case 6:
lsbMenu.Items.Add(appetizer);
price = 6.95m;
break;
}
billTotal(price);
}//end of cmbAppetizer Index Change
private void cmbMainCourse_SelectedIndexChanged(object sender, EventArgs e)
{
string mainCourse = cmbMainCourse.SelectedItem.ToString();
switch (cmbMainCourse.SelectedIndex)
{
case 0:
lsbMenu.Items.Add(mainCourse);
price = 15.95m;
break;
case 1:
lsbMenu.Items.Add(mainCourse);
price = 13.95m;
break;
case 2:
lsbMenu.Items.Add(mainCourse);
price = 13.95m;
break;
case 3:
lsbMenu.Items.Add(mainCourse);
price = 11.95m;
break;
case 4:
lsbMenu.Items.Add(mainCourse);
price = 19.95m;
break;
case 5:
lsbMenu.Items.Add(mainCourse);
price = 20.95m;
break;
case 6:
lsbMenu.Items.Add(mainCourse);
price = 18.95m;
break;
case 7:
lsbMenu.Items.Add(mainCourse);
price = 13.95m;
break;
case 8:
lsbMenu.Items.Add(mainCourse);
price = 14.95m;
break;
}
billTotal(price);
}
private void cmbDessert_SelectedIndexChanged(object sender, EventArgs e)
{
string dessert = cmbDessert.SelectedItem.ToString();
switch (cmbMainCourse.SelectedIndex)
{
case 0:
lsbMenu.Items.Add(dessert);
price = 5.95m;
break;
case 1:
lsbMenu.Items.Add(dessert);
price = 3.95m;
break;
case 2:
lsbMenu.Items.Add(dessert);
price = 5.95m;
break;
case 3:
lsbMenu.Items.Add(dessert);
price = 4.95m;
break;
case 4:
lsbMenu.Items.Add(dessert);
price = 5.95m;
break;
}
billTotal(price);
}
public void billTotal(decimal price)
{
subTotal += price;
txtSubtotal.Text = subTotal.ToString("c");
taxTotal += subTotal * tax;
txtTax.Text = taxTotal.ToString("c");
total = subTotal + taxTotal;
txtTotal.Text = total.ToString("c");
}
private void btnClear_Click(object sender, EventArgs e)
{
lsbMenu.Items.Clear();
cmbBeverage.Text = "";
cmbAppetizer.Text = "";
cmbMainCourse.Text = "";
cmbDessert.Text = "";
txtSubtotal.Text = "$0.00";
txtTax.Text = "0.00";
txtTotal.Text = "0.00";
}
private void btnRemove_Click(object sender, EventArgs e)
{
lsbMenu.Items.Remove(lsbMenu.SelectedItem);
}
}
}