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