private void Zapamti_Click(object sender, RoutedEventArgs e) { using (var db = new InventoryContext()) { try { var predmet = cbPredmet.SelectedItem as Predmet; var kolicina = int.Parse(tbKolicina.Text); var i = new Inventory.Inventar { Predmet = db.Predmeti.Find(predmet.Id), Kolicina = kolicina, Prostorija = db.Prostorije.Find(prostorija.Id) }; db.Add(i); db.SaveChanges(); NavigationService.GoBack(); } catch (Exception ex) { MessageBox.Show("Greska prilikom dodavanja novog predmeta u inventar"); } } }
//private void ObrisiRed_Click(object sender, RoutedEventArgs e) //{ // var selectedItem = (sender as Button).DataContext as Inventory.Inventar; // var list = InventarDataGrid.ItemsSource.Cast<Inventory.Inventar>().ToList(); // list.Remove(selectedItem); // InventarDataGrid.ItemsSource = list; //} private void Razduzi_Click(object sender, RoutedEventArgs e) { var zaRazduzenje = ZaduzeniPredmetiDataGrid.SelectedItems.Cast <Zaduzenje>().ToList(); if (zaRazduzenje.Count == 0) { MessageBox.Show("Morate da selektujete bar jedan predmet za razduzenje!"); return; } using (var db = new InventoryContext()) { // Obrisi ih sve iz Zaduzenja foreach (var r in zaRazduzenje) { db.Remove(r); } // Dodaj ih u Inventar te prostorije foreach (var r in zaRazduzenje) { var alternativa = new Inventory.Inventar { Predmet = r.Predmet, Prostorija = r.Prostorija, Kolicina = 0 }; var inventar = db.Inventar.FirstOr(i => i.Predmet?.Id == r.Predmet.Id && i.Prostorija.Id == r.Prostorija.Id, alternativa); inventar.Kolicina += r.Kolicina; if (inventar == alternativa) { db.Add(inventar); } db.SaveChanges(); } //var sviPredmeti = db.Inventar.Where(i => i.IdProstorije == zaRazduzivanje[0].IdProstorije).ToList(); //foreach (var predmet in zaRazduzivanje) //{ // var predmetUBazi = sviPredmeti.First(p => p.Id == predmet.Id); // if (predmetUBazi.Kolicina < predmet.Kolicina) // { // MessageBox.Show("Ne mozete da razduzite vise predmeta nego sto se nalazi u inventaru!"); // return; // } // else if (predmetUBazi.Kolicina == predmet.Kolicina) // { // // ako hoce sve da uzme onda ga izbrisi iz baze // db.Remove(predmetUBazi); // } // else // { // predmetUBazi.Kolicina -= predmet.Kolicina; // } //} db.SaveChanges(); } // Predji na page gde se stampa izvestaj NavigationService.Navigate(new ZavrsiRazduzivanje(zaRazduzenje)); }