private void createOrder(Order order) { using (Database2019EntitiesRevision database = new Database2019EntitiesRevision()) { try { database.Orders.Add(order); Order order1 = new Order(); database.SaveChanges(); //billItems.ForEach(d => //{ // OrderItem orderItem = new OrderItem(); //orderItem.menu = d.id; //orderItem.order = order1.Id; //orderItem.quantity = d.quantity; //database.OrderItems.Add(orderItem); //database.SaveChanges(); //}); billItems = new List <BillItem>(); refreshBillFix(); refreshOrder(); } catch { MessageBox.Show("Failed!"); } } }
private void button2_Click(object sender, EventArgs e) { try { int selectedBillItemId = int.Parse(dataGridView4.SelectedCells[0].Value.ToString()); BillItem item = billItems.Where(d => d.id == selectedBillItemId).FirstOrDefault(); using (Database2019EntitiesRevision database = new Database2019EntitiesRevision()) { List <Recipe> recipes = database.Recipes.Where(d => d.menu == selectedBillItemId).ToList <Recipe>(); recipes.ForEach(d => { List <Material> materials = database.Materials.Where(da => da.Id == d.material).ToList <Material>(); materials.ForEach(res => res.stock += d.material_consume * item.quantity); database.SaveChanges(); }); } billItems.Remove(item); refreshBillFix(); MessageBox.Show("Bill Item Canceled!"); } catch { MessageBox.Show("Please select bill item first."); } }
private void addBillItem() { try { int selected = Convert.ToInt32(dataGridView1.SelectedCells[0].Value); using (AddToBill form = new AddToBill(selected)) { var result = form.ShowDialog(); if (result == DialogResult.OK) { using (Database2019EntitiesRevision database = new Database2019EntitiesRevision()) { Menu menu = database.Menus.Where(d => d.Id == selected).FirstOrDefault <Menu>(); List <Recipe> recipes = database.Recipes.Where(d => d.Id == menu.Id).ToList <Recipe>(); recipes.ForEach(d => { List <Material> materials = database.Materials.Where(da => da.Id == d.material) .ToList <Material>(); materials.ForEach(da => da.stock = da.stock - d.material_consume * form.quantity); database.SaveChanges(); }); int index = billItems.FindIndex(d => d.id == menu.Id); if (index == -1) { BillItem newBill = new BillItem(); newBill.id = menu.Id; newBill.name = menu.name; newBill.quantity = form.quantity; newBill.price = Convert.ToInt32(menu.price); billItems.Add(newBill); } else { billItems[index].quantity += form.quantity; billItems[index].price = billItems[index].quantity * (int)menu.price; } refreshBillFix(); } } } } catch { MessageBox.Show("No Selected Item."); } }