예제 #1
0
        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!");
                }
            }
        }
예제 #2
0
        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.");
            }
        }
예제 #3
0
        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.");
            }
        }