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); } }
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"); } }