Esempio n. 1
0
        private void buttonRemove_Click(object sender, EventArgs e)
        {
            //get id from selected Artikel
            int id = int.Parse(lvOrderDetails.SelectedItems[0].Name);

            //create the Artikel_Order object that would match the needed removed object
            Artikel_Order RemoveArtikelOrder = (Artikel_Order)Program.db.Artikel_Order
                                               .Where(b => b.ArtikelID == id)
                                               .Where(b => b.OrderID == Order.ID)
                                               .First();

            //now remove this object from database
            Order.Artikel_Order.Remove(RemoveArtikelOrder);

            //save database
            Program.db.SaveChanges();

            //refresh listview

            //clear listview
            lvOrderDetails.Items.Clear();

            //remember this order

            foreach (Artikel_Order artikel_order in Order.Artikel_Order)
            {
                Artikel OrderArtikel = artikel_order.Artikel;

                //Create string array
                string[] Artikel =
                {
                    OrderArtikel.Name,
                    OrderArtikel.Description,
                    OrderArtikel.Price.ToString(),
                    artikel_order.Amount.ToString(),
                    artikel_order.Price.ToString()
                };

                //Create ListViewItem
                ListViewItem item = new ListViewItem(Artikel);

                //Set key value
                item.Name = OrderArtikel.ID.ToString();

                //Add item to ListView
                lvOrderDetails.Items.Add(item);
            }
        }
Esempio n. 2
0
        private void lvArtikels_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                //define so it wont give errors
                int     amount = 00;
                decimal total  = 00;

                //get artikel by id
                int     artikelID = int.Parse(lvArtikels.SelectedItems[0].Name);
                Artikel artikel   = Program.db.Artikels.Find(artikelID);

                try
                {
                    int stockLeft = (int)artikel.Storage - int.Parse(ArtikelAmount.Text);

                    if (stockLeft >= 0)
                    {
                        amount          = int.Parse(ArtikelAmount.Text);
                        total           = (decimal)artikel.Price * amount;
                        artikel.Storage = artikel.Storage - amount;

                        //create new match from artikelID and the Order.ID
                        Artikel_Order artikelOrder = new Artikel_Order
                        {
                            ArtikelID = artikelID,
                            OrderID   = Order.ID,
                            Amount    = int.Parse(ArtikelAmount.Text),
                            Price     = total
                        };

                        //now insert it to database
                        Order.Artikel_Order.Add(artikelOrder);

                        //save database
                        Program.db.SaveChanges();

                        ////////////////////

                        //clear items
                        lvOrderDetails.Items.Clear();

                        foreach (Artikel_Order artikel_order in Order.Artikel_Order)
                        {
                            Artikel OrderArtikel = artikel_order.Artikel;

                            //Create string array
                            string[] Artikel =
                            {
                                OrderArtikel.Name,
                                OrderArtikel.Description,
                                OrderArtikel.Price.ToString(),
                                artikel_order.Amount.ToString(),
                                artikel_order.Price.ToString()
                            };

                            //Create ListViewItem
                            ListViewItem item = new ListViewItem(Artikel);

                            //Set key value
                            item.Name = OrderArtikel.ID.ToString();

                            //Add item to ListView
                            lvOrderDetails.Items.Add(item);
                        }

                        //refresh artikel list so the amount will be refreshed
                        artikelsList();
                    }
                    else
                    {
                        MessageBox.Show("Not enough stock");
                    }
                } catch
                {
                    MessageBox.Show("Please enter a number/decimal in the textbox");
                }
            } catch
            {
                MessageBox.Show("You cant have 2 of the same artikels, please delete the previous one and add a new one with the correct amount");
            }
        }